aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/graphics/cursor.cpp
diff options
context:
space:
mode:
authorMatthew Hoops2011-02-08 15:03:23 +0000
committerMatthew Hoops2011-02-08 15:03:23 +0000
commit85f8dc5dee6fbe78fc5cd30094205cf2ed259fec (patch)
tree5ba8a77a5fed4c5f8484d3d3925e3146eeba3fc6 /engines/sci/graphics/cursor.cpp
parent8f3324f6ba648381953bd5538a0f1aa1507da480 (diff)
downloadscummvm-rg350-85f8dc5dee6fbe78fc5cd30094205cf2ed259fec.tar.gz
scummvm-rg350-85f8dc5dee6fbe78fc5cd30094205cf2ed259fec.tar.bz2
scummvm-rg350-85f8dc5dee6fbe78fc5cd30094205cf2ed259fec.zip
SCI: Add detection for Freddy Pharkas Mac
svn-id: r55828
Diffstat (limited to 'engines/sci/graphics/cursor.cpp')
-rw-r--r--engines/sci/graphics/cursor.cpp24
1 files changed, 14 insertions, 10 deletions
diff --git a/engines/sci/graphics/cursor.cpp b/engines/sci/graphics/cursor.cpp
index 258900a3fb..fa75fe7286 100644
--- a/engines/sci/graphics/cursor.cpp
+++ b/engines/sci/graphics/cursor.cpp
@@ -432,17 +432,21 @@ void GfxCursor::kernelSetMacCursor(GuiResourceId viewNum, int loopNum, int celNu
// automatically.
if (_macCursorRemap.empty()) {
- // The scripts have given us no remapping, so let's try to do this manually.
- // First try and see if the view resource exists. If it does, we're just using
- // that cursor (QFG1/Hoyle4 do not use Mac cursors, although they have them).
- if (_resMan->testResource(ResourceId(kResourceTypeView, viewNum))) {
- CursorMan.disableCursorPalette(true);
- kernelSetView(viewNum, loopNum, celNum, hotspot);
- return;
+ // QFG1/Freddy use a straight viewNum->cursor ID mapping
+ if (g_sci->getGameId() != GID_QFG1VGA && g_sci->getGameId() != GID_FREDDYPHARKAS) {
+ // The scripts have given us no remapping, so let's try to do this manually.
+ // First try and see if the view resource exists. If it does, we're just using
+ // that cursor (Hoyle4 does not use Mac cursors, although it has them).
+ if (_resMan->testResource(ResourceId(kResourceTypeView, viewNum))) {
+ CursorMan.disableCursorPalette(true);
+ kernelSetView(viewNum, loopNum, celNum, hotspot);
+ return;
+ } else if (g_sci->getGameId() == GID_KQ6) {
+ // KQ6 seems to use this mapping for its cursors
+ viewNum = loopNum * 1000 + celNum;
+ } else
+ error("Unknown Mac cursor %d", viewNum);
}
-
- // KQ6 seems to use this mapping for its cursors
- viewNum = loopNum * 1000 + celNum;
} else {
// If we do have the list, we'll be using a remap based on what the
// scripts have given us.