diff options
author | Shauren <shauren.trinity@gmail.com> | 2020-12-07 16:23:55 +0100 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2020-12-08 18:16:47 +0100 |
commit | 7a406db50626ba9e9a64c8c3d9b6e5b7310ac527 (patch) | |
tree | 2003395f4b837acbf5e867af90614ecba7a55ab5 /src/tools/vmap4_assembler/TileAssembler.cpp | |
parent | 96d340f70ccef57fad177a24ca099055d7dce04d (diff) |
Core/Collision: Fixed false positive errors in console about vmap loading
Diffstat (limited to 'src/tools/vmap4_assembler/TileAssembler.cpp')
-rw-r--r-- | src/tools/vmap4_assembler/TileAssembler.cpp | 23 |
1 files changed, 5 insertions, 18 deletions
diff --git a/src/tools/vmap4_assembler/TileAssembler.cpp b/src/tools/vmap4_assembler/TileAssembler.cpp index a29cb3a516d..ed9406eca96 100644 --- a/src/tools/vmap4_assembler/TileAssembler.cpp +++ b/src/tools/vmap4_assembler/TileAssembler.cpp @@ -76,7 +76,7 @@ namespace VMAP printf("Calculating model bounds for map %u...\n", data.MapId); for (auto entry = data.UniqueEntries.begin(); entry != data.UniqueEntries.end(); ++entry) { - // M2 models don't have a bound set in WDT/ADT placement data, i still think they're not used for LoS at all on retail + // M2 models don't have a bound set in WDT/ADT placement data, they're not used for LoS but are needed for pathfinding if (entry->second.flags & MOD_M2) if (!calculateTransformedBound(entry->second)) continue; @@ -133,7 +133,6 @@ namespace VMAP for (uint32 i = 0; i < mapSpawnsSize; ++i) { if (success && fwrite(&mapSpawns[i]->ID, sizeof(uint32), 1, mapfile) != 1) success = false; - if (success && fwrite(&i, sizeof(uint32), 1, mapfile) != 1) success = false; } fclose(mapfile); @@ -292,7 +291,7 @@ namespace VMAP for (uint32 g = 0; g < groups; ++g) { GroupModel_Raw& raw_group = raw_model.groupsArray[g]; - groupsArray.push_back(GroupModel(raw_group.mogpflags, raw_group.GroupWMOID, raw_group.bounds )); + groupsArray.push_back(GroupModel(raw_group.mogpflags, raw_group.GroupWMOID, raw_group.bounds)); groupsArray.back().setMeshData(raw_group.vertexArray, raw_group.triangles); groupsArray.back().setLiquidData(raw_group.liquid); } @@ -353,21 +352,9 @@ namespace VMAP spawnedModelFiles.insert(model_name); AABox bounds; - bool boundEmpty = true; - for (uint32 g = 0; g < raw_model.groupsArray.size(); ++g) - { - std::vector<Vector3>& vertices = raw_model.groupsArray[g].vertexArray; - - uint32 nvectors = vertices.size(); - for (uint32 i = 0; i < nvectors; ++i) - { - Vector3& v = vertices[i]; - if (boundEmpty) - bounds = AABox(v, v), boundEmpty = false; - else - bounds.merge(v); - } - } + for (GroupModel_Raw const& groupModel : raw_model.groupsArray) + for (G3D::Vector3 const& vertice : groupModel.vertexArray) + bounds.merge(vertice); if (bounds.isEmpty()) { |