diff options
-rw-r--r-- | engines/sci/gfx/gfx_resmgr.cpp | 7 |
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; |