From 1548f2cebf49b52505b17c4057ad8048ce6c9baf Mon Sep 17 00:00:00 2001 From: Martin Kiewitz Date: Sun, 31 Jan 2016 14:49:52 +0100 Subject: AGI: revert "motion type check in objectstop AGI3" Caused issues with mouse support (that AGI on DOS never had). e.g. KQ1/KQ2 on end of mouse click move Graham automatically falls into water. The check was added in AGI3 only, but maybe non-DOS interpreters had it before. Or maybe mouse support was actually implemented differently. Needs more investigating. --- engines/agi/motion.cpp | 10 +++------- engines/agi/view.h | 2 +- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/engines/agi/motion.cpp b/engines/agi/motion.cpp index a7a1b91788..76f0f91f51 100644 --- a/engines/agi/motion.cpp +++ b/engines/agi/motion.cpp @@ -210,13 +210,9 @@ void AgiEngine::inDestination(ScreenObjEntry *screenObj) { void AgiEngine::motionMoveObjStop(ScreenObjEntry *screenObj) { screenObj->stepSize = screenObj->move_stepSize; - uint16 agiVersion = getVersion(); - if (agiVersion >= 0x3000) { - // this check was only done for AGI3 - if (screenObj->motionType != kMotionEgo) { - setflag(screenObj->move_flag, true); - } - } else { + // This check for motionType was only done in AGI3. + // But we use this motion type for mouse movement, so we need to check in any case, otherwise it will cause glitches. + if (screenObj->motionType != kMotionEgo) { setflag(screenObj->move_flag, true); } diff --git a/engines/agi/view.h b/engines/agi/view.h index 3afe3dc84b..428db1d6ad 100644 --- a/engines/agi/view.h +++ b/engines/agi/view.h @@ -58,7 +58,7 @@ enum MotionType { kMotionWander = 1, kMotionFollowEgo = 2, kMotionMoveObj = 3, - kMotionEgo = 4 + kMotionEgo = 4 // used by us for mouse movement only? }; enum CycleType { -- cgit v1.2.3