Skip to content

Commit bc342f2

Browse files
committed
Tools/mmaps_generator: Replace G3D::Array with std::vector
1 parent 07ada79 commit bc342f2

File tree

5 files changed

+228
-265
lines changed

5 files changed

+228
-265
lines changed

src/tools/mmaps_generator/IntermediateValues.cpp

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -200,24 +200,24 @@ namespace MMAP
200200
return;
201201
}
202202

203-
G3D::Array<float> allVerts;
204-
G3D::Array<int> allTris;
203+
std::vector<float> allVerts;
204+
std::vector<int> allTris;
205205

206-
allTris.append(meshData.liquidTris);
207-
allVerts.append(meshData.liquidVerts);
206+
allTris.insert(allTris.end(), meshData.liquidTris.begin(), meshData.liquidTris.end());
207+
allVerts.insert(allVerts.end(), meshData.liquidVerts.begin(), meshData.liquidVerts.end());
208208
TerrainBuilder::copyIndices(meshData.solidTris, allTris, allVerts.size() / 3);
209-
allVerts.append(meshData.solidVerts);
209+
allVerts.insert(allVerts.end(), meshData.solidVerts.begin(), meshData.solidVerts.end());
210210

211-
float* verts = allVerts.getCArray();
211+
float* verts = allVerts.data();
212212
int vertCount = allVerts.size() / 3;
213-
int* tris = allTris.getCArray();
213+
int* tris = allTris.data();
214214
int triCount = allTris.size() / 3;
215215

216-
for (int i = 0; i < allVerts.size() / 3; i++)
217-
fprintf(objFile.get(), "v %f %f %f\n", verts[i*3], verts[i*3 + 1], verts[i*3 + 2]);
216+
for (std::size_t i = 0; i < allVerts.size() / 3; i++)
217+
fprintf(objFile.get(), "v %f %f %f\n", verts[i * 3], verts[i * 3 + 1], verts[i * 3 + 2]);
218218

219-
for (int i = 0; i < allTris.size() / 3; i++)
220-
fprintf(objFile.get(), "f %i %i %i\n", tris[i*3] + 1, tris[i*3 + 1] + 1, tris[i*3 + 2] + 1);
219+
for (std::size_t i = 0; i < allTris.size() / 3; i++)
220+
fprintf(objFile.get(), "f %i %i %i\n", tris[i * 3] + 1, tris[i * 3 + 1] + 1, tris[i * 3 + 2] + 1);
221221

222222
TC_LOG_INFO("maps.mmapgen.debug", "[Map {:04}] [{:02},{:02}]: Writing debug output object file...", mapID, tileY, tileX);
223223

src/tools/mmaps_generator/MapBuilder.cpp

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -310,26 +310,20 @@ namespace MMAP
310310
if (fread(&indicesCount, sizeof(uint32), 1, file.get()) != 1)
311311
return;
312312

313-
std::unique_ptr<float[]> verts = std::make_unique<float[]>(verticesCount);
314-
if (fread(verts.get(), sizeof(float), verticesCount, file.get()) != verticesCount)
315-
return;
316-
317-
std::unique_ptr<int[]> inds = std::make_unique<int[]>(indicesCount);
318-
if (fread(inds.get(), sizeof(int), indicesCount, file.get()) != indicesCount)
319-
return;
320-
321313
MeshData data;
322314

323-
for (uint32 i = 0; i < verticesCount; ++i)
324-
data.solidVerts.append(verts[i]);
315+
data.solidVerts.resize(verticesCount);
316+
if (fread(data.solidVerts.data(), sizeof(float), verticesCount, file.get()) != verticesCount)
317+
return;
325318

326-
for (uint32 i = 0; i < indicesCount; ++i)
327-
data.solidTris.append(inds[i]);
319+
data.solidTris.resize(indicesCount);
320+
if (fread(data.solidTris.data(), sizeof(int), indicesCount, file.get()) != indicesCount)
321+
return;
328322

329323
TerrainBuilder::cleanVertices(data.solidVerts, data.solidTris);
330324
// get bounds of current tile
331325
float bmin[3], bmax[3];
332-
TileBuilder::getTileBounds(tileX, tileY, data.solidVerts.getCArray(), data.solidVerts.size() / 3, bmin, bmax);
326+
TileBuilder::getTileBounds(tileX, tileY, data.solidVerts.data(), data.solidVerts.size() / 3, bmin, bmax);
333327

334328
// build navmesh tile
335329
MapTileBuilder tileBuilder(this, m_maxWalkableAngle, m_maxWalkableAngleNotSteep,

0 commit comments

Comments
 (0)