aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Hoops2011-03-06 18:13:17 -0500
committerMatthew Hoops2011-03-06 18:36:45 -0500
commitdf1a800d01918ddda9159e3b9f42e8ef8d701456 (patch)
tree367a219700aba05cf7a7c4db9eea4102d996654f
parentadfa5e1b861c4b55720b497412e940cbb95a7afe (diff)
downloadscummvm-rg350-df1a800d01918ddda9159e3b9f42e8ef8d701456.tar.gz
scummvm-rg350-df1a800d01918ddda9159e3b9f42e8ef8d701456.tar.bz2
scummvm-rg350-df1a800d01918ddda9159e3b9f42e8ef8d701456.zip
SCI: Fix KQ6 Mac inventory cursors
-rw-r--r--engines/sci/graphics/cursor.cpp12
1 files changed, 9 insertions, 3 deletions
diff --git a/engines/sci/graphics/cursor.cpp b/engines/sci/graphics/cursor.cpp
index b085654d02..09f08e4b15 100644
--- a/engines/sci/graphics/cursor.cpp
+++ b/engines/sci/graphics/cursor.cpp
@@ -434,9 +434,15 @@ void GfxCursor::kernelSetMacCursor(GuiResourceId viewNum, int loopNum, int celNu
if (_macCursorRemap.empty()) {
// QFG1/Freddy/Hoyle4 use a straight viewNum->cursor ID mapping
- // KQ6 seems to use this mapping for its cursors
- if (g_sci->getGameId() == GID_KQ6)
- viewNum = loopNum * 1000 + celNum;
+ // KQ6 uses this mapping for its cursors
+ if (g_sci->getGameId() == GID_KQ6) {
+ if (viewNum == 990) // Inventory Cursors
+ viewNum = loopNum * 16 + celNum + 2000;
+ else if (viewNum == 998) // Regular Cursors
+ viewNum = celNum + 1000;
+ else // Unknown cursor, ignored
+ return;
+ }
} else {
// If we do have the list, we'll be using a remap based on what the
// scripts have given us.