summaryrefslogtreecommitdiff
path: root/src/utils/Decompressor.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/utils/Decompressor.cpp')
-rw-r--r--src/utils/Decompressor.cpp10
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;
}