diff options
| author | petrie911 <69443847+petrie911@users.noreply.github.com> | 2024-03-16 15:37:37 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-03-16 14:37:37 -0600 |
| commit | 3330d5bd39bd4e0da8c8530290aba59fda849c17 (patch) | |
| tree | dbce6b7876b018f6b8cc5bd0faaad86666a42400 /src/factories/sf64/ColPolyFactory.cpp | |
| parent | 02f2c2f03c5fb386258e62c377a0fcd686b57690 (diff) | |
Add Vec3f factory and AddAsset (#44)
* 3D
* and env
* so much to fix
* Everything can be solved with triangles
* fixes
* initfix
* stuff
Diffstat (limited to 'src/factories/sf64/ColPolyFactory.cpp')
| -rw-r--r-- | src/factories/sf64/ColPolyFactory.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/factories/sf64/ColPolyFactory.cpp b/src/factories/sf64/ColPolyFactory.cpp index 96c81eb..b2c6c45 100644 --- a/src/factories/sf64/ColPolyFactory.cpp +++ b/src/factories/sf64/ColPolyFactory.cpp @@ -4,6 +4,7 @@ #include "Companion.h" #include "utils/Decompressor.h" #include "utils/TorchUtils.h" +#include <regex> #define NUM(x, w) std::dec << std::setfill(' ') << std::setw(w) << x @@ -78,7 +79,15 @@ void SF64::ColPolyCodeExporter::Export(std::ostream &write, std::shared_ptr<IPar off = SEGMENT_OFFSET(off); } defaultMeshSymbol << symbol << "_mesh_" << std::uppercase << std::hex << off; - const auto meshSymbol = GetSafeNode(node, "mesh_symbol", defaultMeshSymbol.str()); + auto meshSymbol = GetSafeNode(node, "mesh_symbol", defaultMeshSymbol.str()); + + if (meshSymbol.find("OFFSET") != std::string::npos) { + std::ostringstream offsetSeg; + + offsetSeg << std::uppercase << std::hex << meshOffset; + meshSymbol = std::regex_replace(meshSymbol, std::regex(R"(OFFSET)"), offsetSeg.str()); + } + if (Companion::Instance->IsDebug()) { write << "// 0x" << std::uppercase << std::hex << off << "\n"; } |
