diff --git a/code/B3DImporter.cpp b/code/B3DImporter.cpp index 56acdeafd..7defc981f 100644 --- a/code/B3DImporter.cpp +++ b/code/B3DImporter.cpp @@ -297,11 +297,11 @@ void B3DImporter::ReadVRTS(){ int sz=12+(_vflags&1?12:0)+(_vflags&2?16:0)+(_tcsets*_tcsize*4); int n_verts=ChunkSize()/sz; - _vertices.clear(); - _vertices.resize( n_verts ); + int v0=_vertices.size(); + _vertices.resize( v0+n_verts ); for( int i=0;imMaterialIndex=matid; - mesh->mNumFaces=n_tris; + mesh->mNumFaces=0; mesh->mPrimitiveTypes=aiPrimitiveType_TRIANGLE; + int n_tris=ChunkSize()/12; aiFace *face=mesh->mFaces=new aiFace[n_tris]; for( int i=0;i=_vertices.size() || i1<0 || i1>=_vertices.size() || i2<0 || i2>=_vertices.size() ){ #ifdef DEBUG_B3D - cout<<"i0="<mNumIndices=3; face->mIndices=new unsigned[3]; face->mIndices[0]=i0; face->mIndices[1]=i1; face->mIndices[2]=i2; + ++mesh->mNumFaces; ++face; } }