2
0
mirror of https://github.com/Laupetin/OpenAssetTools.git synced 2026-06-06 08:42:35 +00:00

fix: clipmap AABB generation skipped first object

This commit is contained in:
LJW-Dev
2026-03-22 17:22:16 +08:00
committed by Jan Laupetin
parent b26a8d4d9c
commit bdea5f32a7
@@ -291,7 +291,7 @@ namespace BSP
{ {
uniqueMatData data; uniqueMatData data;
data.materialIndex = materialIndex; data.materialIndex = materialIndex;
data.objectIndexes = std::vector<size_t>(); data.objectIndexes.emplace_back(objIdx);
uniqueMaterials.emplace_back(data); uniqueMaterials.emplace_back(data);
} }
} }
@@ -378,6 +378,7 @@ namespace BSP
parentAABBArrayIndex += parentCount; parentAABBArrayIndex += parentCount;
} }
*out_treeContents = 0;
for (auto& matData : uniqueMaterials) for (auto& matData : uniqueMaterials)
*out_treeContents |= clipMap->info.materials[matData.materialIndex].contentFlags; *out_treeContents |= clipMap->info.materials[matData.materialIndex].contentFlags;
} }
@@ -430,7 +431,7 @@ namespace BSP
{ {
size_t parentCount = 0; size_t parentCount = 0;
size_t parentStartIndex = 0; size_t parentStartIndex = 0;
int treeContents; int treeContents = 0;
addAABBTreeFromLeaf(clipMap, tree, &parentCount, &parentStartIndex, &treeContents); addAABBTreeFromLeaf(clipMap, tree, &parentCount, &parentStartIndex, &treeContents);
leaf.collAabbCount = static_cast<uint16_t>(parentCount); leaf.collAabbCount = static_cast<uint16_t>(parentCount);
leaf.firstCollAabbIndex = static_cast<uint16_t>(parentStartIndex); leaf.firstCollAabbIndex = static_cast<uint16_t>(parentStartIndex);