[Gcblue-commits] gcb_wx/src/graphics tc3DTerrain.cpp,1.12,1.13 tcTerrainTextureFactory.cpp,1.8,1.9
Status: Alpha
Brought to you by:
ddcforge
|
From: Dewitt C. <ddc...@us...> - 2004-07-19 00:53:12
|
Update of /cvsroot/gcblue/gcb_wx/src/graphics In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28653/src/graphics Modified Files: tc3DTerrain.cpp tcTerrainTextureFactory.cpp Log Message: Index: tc3DTerrain.cpp =================================================================== RCS file: /cvsroot/gcblue/gcb_wx/src/graphics/tc3DTerrain.cpp,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** tc3DTerrain.cpp 14 May 2004 23:37:07 -0000 1.12 --- tc3DTerrain.cpp 19 Jul 2004 00:53:01 -0000 1.13 *************** *** 152,155 **** --- 152,163 ---- /** + * @return elevation at origin + */ + float tc3DTerrain::GetOriginElevation() + { + return mapData->GetTerrainHeight(lonOrigin_rad, latOrigin_rad, gameTime); + } + + /** * This function and other similar ones were copied from tc3DViewer. * @param lon longitude in radians Index: tcTerrainTextureFactory.cpp =================================================================== RCS file: /cvsroot/gcblue/gcb_wx/src/graphics/tcTerrainTextureFactory.cpp,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** tcTerrainTextureFactory.cpp 14 May 2004 23:37:07 -0000 1.8 --- tcTerrainTextureFactory.cpp 19 Jul 2004 00:53:01 -0000 1.9 *************** *** 363,366 **** --- 363,371 ---- defaultTexture = new Demeter::Texture(seaTexture->data(),texSize,texSize, texSize,0,true,false,false); + + wxASSERT(mountainTexture->s()==mountainTexture->t()); + texSize = mountainTexture->s(); + defaultTextureLand = new Demeter::Texture(mountainTexture->data(),texSize,texSize, + texSize,0,true,false,false); } *************** *** 373,381 **** int cacheIdx = GetTextureIndex(originX, originY); //fprintf(stdout, "originX,Y: %.0f, %.0f, cacheIdx:%d\n",originX,originY,cacheIdx); ! Demeter::Texture *tex = m_Textures[cacheIdx]; ! if (tex == NULL) ! { ! return defaultTexture; ! } else { --- 378,398 ---- int cacheIdx = GetTextureIndex(originX, originY); //fprintf(stdout, "originX,Y: %.0f, %.0f, cacheIdx:%d\n",originX,originY,cacheIdx); ! Demeter::Texture *tex = m_Textures[cacheIdx]; ! if (tex == NULL) ! { ! float originHeight = terrainManager->GetOriginElevation(); ! // terrainManager->GetElevation(originX + 0.5*width, originY + 0.5*height); ! if (originHeight < 0) ! { ! return defaultTexture; ! } ! else ! { ! /* This is part of a workaround to show a land texture when loading ! ** textures over land. ! */ ! return defaultTextureLand; ! } ! } else { *************** *** 474,476 **** --- 491,494 ---- FreeTextureCache(); if (defaultTexture) delete defaultTexture; + if (defaultTextureLand) delete defaultTextureLand; } |