summaryrefslogtreecommitdiff
path: root/src/factories/DisplayListFactory.cpp
diff options
context:
space:
mode:
authorKiritoDv <kiritodev01@gmail.com>2024-04-06 12:28:51 -0600
committerLywx <kiritodev01@gmail.com>2024-04-08 18:09:34 -0600
commit6d5f37db337ac10be180527d98d1676c2be3344d (patch)
tree48571e27aff74261a921c6e9eee8c99592b485b4 /src/factories/DisplayListFactory.cpp
parent3918fde51a84f5035d6f74740195f0d91dd5c604 (diff)
Fixed DisplayList Binary extraction and some other factories
Diffstat (limited to 'src/factories/DisplayListFactory.cpp')
-rw-r--r--src/factories/DisplayListFactory.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/factories/DisplayListFactory.cpp b/src/factories/DisplayListFactory.cpp
index 8886d7d..02df2a5 100644
--- a/src/factories/DisplayListFactory.cpp
+++ b/src/factories/DisplayListFactory.cpp
@@ -233,14 +233,15 @@ ExportResult DListBinaryExporter::Export(std::ostream &write, std::shared_ptr<IP
if(overlap.has_value()){
auto ovnode = std::get<1>(overlap.value());
- uint64_t hash = CRC64(std::get<0>(overlap.value()).c_str());
- SPDLOG_INFO("Found vtx: 0x{:X} Hash: 0x{:X} Path: {}", ptr, hash, std::get<0>(overlap.value()));
+ auto path = Companion::Instance->RelativePath(std::get<0>(overlap.value()));
+ uint64_t hash = CRC64(path.c_str());
+ SPDLOG_INFO("Found vtx: 0x{:X} Hash: 0x{:X} Path: {}", ptr, hash, path);
auto offset = GetSafeNode<uint32_t>(ovnode, "offset");
auto count = GetSafeNode<uint32_t>(ovnode, "count");
auto diff = ASSET_PTR(ptr) - ASSET_PTR(offset);
- Gfx value = gsSPVertexOTR(diff, nvtx, ((didx >> 1) - nvtx));
+ Gfx value = gsSPVertexOTR(diff, nvtx, didx);
SPDLOG_INFO("gsSPVertexOTR({}, {}, {})", diff, nvtx, didx);