diff options
| author | petrie911 <petrie911@yahoo.com> | 2024-04-25 05:52:16 -0500 |
|---|---|---|
| committer | Lywx <kiritodev01@gmail.com> | 2024-04-25 14:48:25 -0600 |
| commit | c7658c9d7f476bf68658c78ceb9f7610c629289b (patch) | |
| tree | 8f1a40e6eba3e8ac7389ab964a7caf6fb7a5e8d6 | |
| parent | ceca1c3e45995a0b43fac2a292634ec6063d7b83 (diff) | |
small change
| -rw-r--r-- | src/factories/sf64/ColPolyFactory.cpp | 3 | ||||
| -rw-r--r-- | src/factories/sf64/TriangleFactory.cpp | 3 |
2 files changed, 4 insertions, 2 deletions
diff --git a/src/factories/sf64/ColPolyFactory.cpp b/src/factories/sf64/ColPolyFactory.cpp index 71433bb..50127fb 100644 --- a/src/factories/sf64/ColPolyFactory.cpp +++ b/src/factories/sf64/ColPolyFactory.cpp @@ -16,13 +16,14 @@ SF64::ColPolyData::ColPolyData(std::vector<SF64::CollisionPoly> polys, std::vect ExportResult SF64::ColPolyHeaderExporter::Export(std::ostream &write, std::shared_ptr<IParsedData> raw, std::string& entryName, YAML::Node &node, std::string* replacement) { const auto symbol = GetSafeNode(node, "symbol", entryName); + auto colpolys = std::static_pointer_cast<SF64::ColPolyData>(raw); if(Companion::Instance->IsOTRMode()){ write << "static const ALIGN_ASSET(2) char " << symbol << "[] = \"__OTR__" << (*replacement) << "\";\n\n"; return std::nullopt; } - write << "extern CollisionPoly " << symbol << "[];\n"; + write << "extern CollisionPoly " << symbol << "[" << std::dec << colpolys->mPolys.size() << "];\n"; return std::nullopt; } diff --git a/src/factories/sf64/TriangleFactory.cpp b/src/factories/sf64/TriangleFactory.cpp index f67fc12..515f818 100644 --- a/src/factories/sf64/TriangleFactory.cpp +++ b/src/factories/sf64/TriangleFactory.cpp @@ -15,13 +15,14 @@ SF64::TriangleData::TriangleData(std::vector<Vec3s> tris, std::vector<YAML::Node ExportResult SF64::TriangleHeaderExporter::Export(std::ostream &write, std::shared_ptr<IParsedData> raw, std::string& entryName, YAML::Node &node, std::string* replacement) { const auto symbol = GetSafeNode(node, "symbol", entryName); + auto triData = std::static_pointer_cast<SF64::TriangleData>(raw); if(Companion::Instance->IsOTRMode()){ write << "static const ALIGN_ASSET(2) char " << symbol << "[] = \"__OTR__" << (*replacement) << "\";\n\n"; return std::nullopt; } - write << "extern Triangle " << symbol << "[];\n"; + write << "extern Triangle " << symbol << "[" << std::dec << triData->mTris.size() << "];\n"; return std::nullopt; } |
