From: <sv...@ww...> - 2005-08-27 20:50:38
|
Author: mkrose Date: 2005-08-27 13:50:19 -0700 (Sat, 27 Aug 2005) New Revision: 1608 Modified: trunk/CSP/Demeter/Terrain.cpp Log: Fix MSVC warnings in Demeter. Browse at: https://www.zerobar.net/viewcvs/viewcvs.cgi?view=rev&rev=1608 Modified: trunk/CSP/Demeter/Terrain.cpp =================================================================== --- trunk/CSP/Demeter/Terrain.cpp 2005-08-27 20:24:14 UTC (rev 1607) +++ trunk/CSP/Demeter/Terrain.cpp 2005-08-27 20:50:19 UTC (rev 1608) @@ -18,8 +18,8 @@ Boston, MA 02111-1307, USA. */ -# if defined(_MSC_VER) && (_MSC_VER <= 1300) -#pragma warning( disable : 4786 ) +# if defined(_MSC_VER) && (_MSC_VER <= 1400) +#pragma warning( disable : 4786 4996 ) #endif #include <fstream> @@ -345,7 +345,7 @@ } else { - double deltaX, deltaY, boxHeight; + double deltaX, deltaY, boxHeight = 0; double screenDistHorizontal, screenDistVertical, screenDistNew; if (tm == Settings::TM_OLD_UPRIGHTONLY) { @@ -466,7 +466,7 @@ int halfStride = m_Stride / 2; int bottomLeft = m_HomeIndex + m_Stride * pTerrain->GetWidthVertices(); int bottomRight = bottomLeft + m_Stride; - int i,previousVertex; + int i,previousVertex = 0; int v0; int numVertices = 0; @@ -965,14 +965,22 @@ void Terrain::SetAllElevations(const float* pElevations,int elevWidth,int elevHeight,float vertexSpacing,float elevationScale) { - if (m_pVertices) - delete[] m_pVertices; - if (m_pVertexStatus) - delete m_pVertexStatus; - if (m_pRootBlock) - delete m_pRootBlock; - if (m_pNormals) + if (m_pVertices) { + delete[] m_pVertices; + m_pVertices = NULL; + } + if (m_pVertexStatus) { + delete m_pVertexStatus; + m_pVertexStatus = NULL; + } + if (m_pRootBlock) { + delete m_pRootBlock; + m_pRootBlock = NULL; + } + if (m_pNormals) { delete[] m_pNormals; + m_pNormals = NULL; + } m_VertexSpacing = vertexSpacing; @@ -980,9 +988,8 @@ { string msg("The elevation data is NOT a power of 2 in both width and height. Elevation data must be a power of 2 in both width and height."); throw new DemeterException(msg); - m_pTriangleStrips = NULL; - m_pTriangleFans = NULL; - m_pVertices = NULL; + //m_pTriangleStrips = NULL; + //m_pTriangleFans = NULL; } m_WidthVertices = elevWidth + 1; // Add 1 dummy pixel line to edge for block strides @@ -3224,7 +3231,7 @@ Terrain* TerrainLattice::GetTerrainRelative(Terrain* pTerrain,Terrain::DIRECTION direction) { - int offsetX,offsetY; + int offsetX=0,offsetY=0; switch (direction) { case Terrain::DIR_NORTH: @@ -3259,6 +3266,8 @@ offsetX = -1; offsetY = 1; break; + default: + throw new DemeterException("Demeter: Terrain::GetTerrainRelative: Invalid direction"); } return GetTerrainRelative(pTerrain,offsetX,offsetY); } @@ -3443,6 +3452,8 @@ case Terrain::DIR_CENTER: oppositeDirection = Terrain::DIR_CENTER; break; + default: + throw new DemeterException("Demeter: Terrain::GetOppositeDirection: Invalid direction"); } return oppositeDirection; } @@ -3739,7 +3750,7 @@ fwrite(&m_SharedIndex,sizeof(int),1,file); if (m_SharedIndex < 0) { - int len,bytesPerPixel; + int len,bytesPerPixel = 0; if (m_szFilename == NULL) len = 0; else @@ -4140,8 +4151,8 @@ #endif if(!glClientActiveTextureARB_ptr || !glActiveTextureARB_ptr || !glMultiTexCoord2fARB_ptr) { + bMultiTextureSupported = false; throw new DemeterException("TERRAIN: ERROR: Multitexture extensions not supported by this OpenGL vendor!"); - bMultiTextureSupported = false; } } |