aboutsummaryrefslogtreecommitdiff
path: root/engines/sci
diff options
context:
space:
mode:
authorFilippos Karapetis2010-01-25 17:30:59 +0000
committerFilippos Karapetis2010-01-25 17:30:59 +0000
commitdfafec64869f21924da3d8edd5796b397728fb98 (patch)
treefc111f77b13800d2a5ec0f3e10dc64f0b92d82f1 /engines/sci
parenta28ac2881a8fc269ea200dc779d0420fbb4b5308 (diff)
downloadscummvm-rg350-dfafec64869f21924da3d8edd5796b397728fb98.tar.gz
scummvm-rg350-dfafec64869f21924da3d8edd5796b397728fb98.tar.bz2
scummvm-rg350-dfafec64869f21924da3d8edd5796b397728fb98.zip
Fixed kSetCursor semantics detection for KQ5 Amiga, by making a hack for KQ5 CD specific to that version only
svn-id: r47557
Diffstat (limited to 'engines/sci')
-rw-r--r--engines/sci/engine/state.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/engines/sci/engine/state.cpp b/engines/sci/engine/state.cpp
index d21109c57d..2d21da10b5 100644
--- a/engines/sci/engine/state.cpp
+++ b/engines/sci/engine/state.cpp
@@ -234,9 +234,12 @@ bool EngineState::autoDetectFeature(FeatureDetection featureDetection, int metho
break;
case kDetectSetCursorType:
objName = "Game";
- // We need to check the overridden game object here. Fixes KQ5CD setCursor detection,
- // as KQ5CD overrides the default setCursor selector of the Game object
- objAddr = _gameObj;
+ objAddr = _segMan->findObjectByName(objName);
+ // KQ5CD overrides the default setCursor selector of the Game object,
+ // so we need to handle this separately
+ // KQ5 PC floppy is early SCI1, Amiga middle SCI1, and CD late SCI1
+ if (_gameId == "kq5" && getSciVersion() == SCI_VERSION_1_LATE)
+ objAddr = _gameObj;
slc = _kernel->_selectorCache.setCursor;
break;
case kDetectLofsType: