From be94ca14cad8a2916b47afd5f76dc27833f9147a Mon Sep 17 00:00:00 2001 From: gered Date: Sun, 27 Feb 2011 18:25:57 -0500 Subject: [PATCH] also should probably export the ms3d mesh/group names along with the other data... --- MeshConverter/src/ms3d/ms3d.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/MeshConverter/src/ms3d/ms3d.cpp b/MeshConverter/src/ms3d/ms3d.cpp index 7b83772..a55a8cb 100644 --- a/MeshConverter/src/ms3d/ms3d.cpp +++ b/MeshConverter/src/ms3d/ms3d.cpp @@ -300,12 +300,19 @@ bool Ms3d::ConvertToMesh(const std::string &file) // sub-meshes / groups chunk fputs("GRP", fp); long numGroups = m_numMeshes; - long sizeOfGroups = (sizeof(int)) * numGroups + sizeof(long); + long sizeOfGroupNames = 0; + for (long i = 0; i < numGroups; ++i) + sizeOfGroupNames += (m_meshes[i].name.length() + 1); + long sizeOfGroups = sizeOfGroupNames + (sizeof(int)) * numGroups + sizeof(long); fwrite(&sizeOfGroups, sizeof(long), 1, fp); fwrite(&numGroups, sizeof(long), 1, fp); for (long i = 0; i < numGroups; ++i) { - int numTriangles = m_meshes[i].numTriangles; + Ms3dMesh *mesh = &m_meshes[i]; + fwrite(mesh->name.c_str(), mesh->name.length(), 1, fp); + char c = '\0'; + fwrite(&c, 1, 1, fp); + int numTriangles = mesh->numTriangles; fwrite(&numTriangles, sizeof(int), 1, fp); }