diff options
| author | KiritoDv <kiritodev01@gmail.com> | 2024-02-18 14:18:54 -0600 |
|---|---|---|
| committer | KiritoDv <kiritodev01@gmail.com> | 2024-02-18 14:18:54 -0600 |
| commit | 752c6a2ac06106996c4182e651eaa695a9f211b8 (patch) | |
| tree | b3787f068aae1b9cdc193f4f5f012a62055dd9f8 /src/factories/DisplayListFactory.cpp | |
| parent | 8f7f877306ddf0050fa3ce88781ecbf61f9a97a9 (diff) | |
Removed addr translation when is asset is segmented
Diffstat (limited to 'src/factories/DisplayListFactory.cpp')
| -rw-r--r-- | src/factories/DisplayListFactory.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/factories/DisplayListFactory.cpp b/src/factories/DisplayListFactory.cpp index 34ccb02..d7eb844 100644 --- a/src/factories/DisplayListFactory.cpp +++ b/src/factories/DisplayListFactory.cpp @@ -299,7 +299,8 @@ std::optional<std::shared_ptr<IParsedData>> DListFactory::parse(std::vector<uint if(Decompressor::IsSegmented(w1)){ SPDLOG_INFO("Found segmented display list at 0x{:X}", w1); - output = Companion::Instance->NormalizeAsset("seg" + std::to_string(SEGMENT_NUMBER(w1)) +"_dl_" + Torch::to_hex(ptr, false)); + ptr = w1; + output = Companion::Instance->NormalizeAsset("seg" + std::to_string(SEGMENT_NUMBER(w1)) +"_dl_" + Torch::to_hex(SEGMENT_OFFSET(ptr), false)); } else { SPDLOG_INFO("Found display list at 0x{:X}", ptr); output = Companion::Instance->NormalizeAsset("dl_" + Torch::to_hex(w1, false)); @@ -356,7 +357,8 @@ std::optional<std::shared_ptr<IParsedData>> DListFactory::parse(std::vector<uint if(Decompressor::IsSegmented(w1)){ SPDLOG_INFO("Found segmented lights at 0x{:X}", w1); - output = Companion::Instance->NormalizeAsset("seg" + std::to_string(SEGMENT_NUMBER(w1)) +"_lights1_" + Torch::to_hex(ptr, false)); + ptr = w1; + output = Companion::Instance->NormalizeAsset("seg" + std::to_string(SEGMENT_NUMBER(w1)) +"_lights1_" + Torch::to_hex(SEGMENT_OFFSET(ptr), false)); } else { SPDLOG_INFO("Found lights at 0x{:X}", ptr); output = Companion::Instance->NormalizeAsset("lights1_" + Torch::to_hex(w1, false)); @@ -403,7 +405,8 @@ std::optional<std::shared_ptr<IParsedData>> DListFactory::parse(std::vector<uint if(Decompressor::IsSegmented(w1)){ SPDLOG_INFO("Found segmented vtx at 0x{:X}", ptr); - output = Companion::Instance->NormalizeAsset("seg" + std::to_string(SEGMENT_NUMBER(w1)) +"_vtx_" + Torch::to_hex(ptr, false)); + ptr = w1; + output = Companion::Instance->NormalizeAsset("seg" + std::to_string(SEGMENT_NUMBER(w1)) +"_vtx_" + Torch::to_hex(SEGMENT_OFFSET(ptr), false)); } else { SPDLOG_INFO("Found vtx at 0x{:X}", ptr); output = Companion::Instance->NormalizeAsset("vtx_" + Torch::to_hex(w1, false)); |
