Kaynağa Gözat

Bugfix : pcGroupTris isn't really const, removed const and const_cast ( merged from GitHub, thanks to Riku Palomäki ).

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1216 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
kimmi 13 yıl önce
ebeveyn
işleme
cb71e6f5f2
2 değiştirilmiş dosya ile 6 ekleme ve 6 silme
  1. 1 1
      code/MDLFileData.h
  2. 5 5
      code/MDLLoader.cpp

+ 1 - 1
code/MDLFileData.h

@@ -846,7 +846,7 @@ struct IntGroupInfo_MDL7
 	BE_NCONST MDL::TexCoord_MDL7*	pcGroupUVs;		
 
 	//! Points to the beginning of the triangle section
-	BE_NCONST MDL::Triangle_MDL7*	pcGroupTris;		
+	MDL::Triangle_MDL7*	pcGroupTris;		
 
 	//! Points to the beginning of the vertex section
 	BE_NCONST MDL::Vertex_MDL7*		pcGroupVerts;

+ 5 - 5
code/MDLLoader.cpp

@@ -191,7 +191,7 @@ void MDLImporter::InternReadFile( const std::string& pFile,
 		iGSFileVersion = 7;
 		InternReadFile_3DGS_MDL7();
 	}
-	// IDST/IDSQ Format (CS:S/HL², etc ...)
+	// IDST/IDSQ Format (CS:S/HL^2, etc ...)
 	else if (AI_MDL_MAGIC_NUMBER_BE_HL2a == iMagicWord || AI_MDL_MAGIC_NUMBER_LE_HL2a == iMagicWord ||
 		AI_MDL_MAGIC_NUMBER_BE_HL2b == iMagicWord || AI_MDL_MAGIC_NUMBER_LE_HL2b == iMagicWord)
 	{
@@ -970,7 +970,7 @@ void MDLImporter::ReadFaces_3DGS_MDL7(const MDL::IntGroupInfo_MDL7& groupInfo,
 	MDL::IntGroupData_MDL7& groupData)
 {
 	const MDL::Header_MDL7 *pcHeader = (const MDL::Header_MDL7*)this->mBuffer; 
-	BE_NCONST MDL::Triangle_MDL7* pcGroupTris = groupInfo.pcGroupTris;
+	MDL::Triangle_MDL7* pcGroupTris = groupInfo.pcGroupTris;
 
 	// iterate through all triangles and build valid display lists
 	unsigned int iOutIndex = 0;
@@ -986,7 +986,7 @@ void MDLImporter::ReadFaces_3DGS_MDL7(const MDL::IntGroupInfo_MDL7& groupInfo,
 			unsigned int iIndex = pcGroupTris->v_index[c];
 			if(iIndex > (unsigned int)groupInfo.pcGroup->numverts)	{
 				// (we might need to read this section a second time - to process frame vertices correctly)
-				const_cast<MDL::Triangle_MDL7*>(pcGroupTris)->v_index[c] = iIndex = groupInfo.pcGroup->numverts-1;
+				pcGroupTris->v_index[c] = iIndex = groupInfo.pcGroup->numverts-1;
 				DefaultLogger::get()->warn("Index overflow in MDL7 vertex list");
 			}
 
@@ -1083,7 +1083,7 @@ void MDLImporter::ReadFaces_3DGS_MDL7(const MDL::IntGroupInfo_MDL7& groupInfo,
 			}
 		}
 		// get the next triangle in the list
-		pcGroupTris = (BE_NCONST MDL::Triangle_MDL7*)((const char*)pcGroupTris + pcHeader->triangle_stc_size);
+		pcGroupTris = (MDL::Triangle_MDL7*)((const char*)pcGroupTris + pcHeader->triangle_stc_size);
 	}
 }
 
@@ -1422,7 +1422,7 @@ void MDLImporter::InternReadFile_3DGS_MDL7( )
 		szCurrent += pcHeader->skinpoint_stc_size * groupInfo.pcGroup->num_stpts;
 
 		// now get a pointer to all triangle in the group
-		groupInfo.pcGroupTris = (BE_NCONST MDL::Triangle_MDL7*)szCurrent;
+		groupInfo.pcGroupTris = (Triangle_MDL7*)szCurrent;
 		szCurrent += pcHeader->triangle_stc_size * groupInfo.pcGroup->numtris;
 
 		// now get a pointer to all vertices in the group