aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/sci/gfx/gfx_resmgr.cpp7
1 files changed, 3 insertions, 4 deletions
diff --git a/engines/sci/gfx/gfx_resmgr.cpp b/engines/sci/gfx/gfx_resmgr.cpp
index 4a97d94f31..d6d5a9ec3c 100644
--- a/engines/sci/gfx/gfx_resmgr.cpp
+++ b/engines/sci/gfx/gfx_resmgr.cpp
@@ -617,10 +617,9 @@ gfx_bitmap_font_t *GfxResManager::getFont(int num, bool scaled) {
int hash = getOptionsHash(GFX_RESOURCE_TYPE_FONT);
// Workaround: LSL1VGA mixes its own internal fonts with the global
- // SCI ones, so we translate them here
- if (!resMap.contains(num) && num >= 2048)
- if (!_resManager->testResource(ResourceId(kResourceTypeFont, num)))
- num = num - 2048;
+ // SCI ones, so we translate them here, by removing their extra bits
+ if (!resMap.contains(num) && !_resManager->testResource(ResourceId(kResourceTypeFont, num)))
+ num = num & 0x7ff;
res = resMap.contains(num) ? resMap[num] : NULL;