From dfafec64869f21924da3d8edd5796b397728fb98 Mon Sep 17 00:00:00 2001 From: Filippos Karapetis Date: Mon, 25 Jan 2010 17:30:59 +0000 Subject: Fixed kSetCursor semantics detection for KQ5 Amiga, by making a hack for KQ5 CD specific to that version only svn-id: r47557 --- engines/sci/engine/state.cpp | 9 ++++++--- 1 file 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: -- cgit v1.2.3