diff options
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; } |
