|
@@ -230,7 +230,7 @@ void MDCImporter::InternReadFile(
|
|
|
|
|
|
// get the number of valid surfaces
|
|
|
BE_NCONST MDC::Surface* pcSurface, *pcSurface2;
|
|
|
- pcSurface = pcSurface2 = (BE_NCONST MDC::Surface*)(mBuffer + pcHeader->ulOffsetSurfaces);
|
|
|
+ pcSurface = pcSurface2 = new (mBuffer + pcHeader->ulOffsetSurfaces) MDC::Surface;
|
|
|
unsigned int iNumShaders = 0;
|
|
|
for (unsigned int i = 0; i < pcHeader->ulNumSurfaces;++i)
|
|
|
{
|
|
@@ -239,7 +239,7 @@ void MDCImporter::InternReadFile(
|
|
|
|
|
|
if (pcSurface2->ulNumVertices && pcSurface2->ulNumTriangles)++pScene->mNumMeshes;
|
|
|
iNumShaders += pcSurface2->ulNumShaders;
|
|
|
- pcSurface2 = (BE_NCONST MDC::Surface*)((int8_t*)pcSurface2 + pcSurface2->ulOffsetEnd);
|
|
|
+ pcSurface2 = new ((int8_t*)pcSurface2 + pcSurface2->ulOffsetEnd) MDC::Surface;
|
|
|
}
|
|
|
aszShaders.reserve(iNumShaders);
|
|
|
pScene->mMeshes = new aiMesh*[pScene->mNumMeshes];
|
|
@@ -399,7 +399,7 @@ void MDCImporter::InternReadFile(
|
|
|
pcFaceCur->mIndices[2] = iOutIndex + 0;
|
|
|
}
|
|
|
|
|
|
- pcSurface = (BE_NCONST MDC::Surface*)((int8_t*)pcSurface + pcSurface->ulOffsetEnd);
|
|
|
+ pcSurface = new ((int8_t*)pcSurface + pcSurface->ulOffsetEnd) MDC::Surface;
|
|
|
}
|
|
|
|
|
|
// create a flat node graph with a root node and one child for each surface
|