diff options
| author | KiritoDv <kiritodev01@gmail.com> | 2024-03-12 19:09:40 -0600 |
|---|---|---|
| committer | KiritoDv <kiritodev01@gmail.com> | 2024-03-12 19:09:40 -0600 |
| commit | f1781973bc7bd3fc9b9cc32b4d631f9e1bbc9368 (patch) | |
| tree | ab8315202c014a6a8de2aeca500bc2cdfa5ea723 /src/utils | |
| parent | c3f932e72122dee19fc84af5aa46a2713aa1086b (diff) | |
Added support for assets with vram offsets
Diffstat (limited to 'src/utils')
| -rw-r--r-- | src/utils/Decompressor.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/utils/Decompressor.cpp b/src/utils/Decompressor.cpp index 6d41910..3a2525e 100644 --- a/src/utils/Decompressor.cpp +++ b/src/utils/Decompressor.cpp @@ -91,6 +91,16 @@ uint32_t Decompressor::TranslateAddr(uint32_t addr, bool baseAddress){ return segment.value() + (!baseAddress ? SEGMENT_OFFSET(addr) : 0); } + const auto vramEntry = Companion::Instance->GetCurrentVRAM(); + + if(vramEntry.has_value()){ + const auto vram = vramEntry.value(); + + if(addr >= vram.addr){ + return vram.offset + (addr - vram.addr); + } + } + return addr; } |
