aboutsummaryrefslogtreecommitdiff
path: root/engines/agi/agi.h
diff options
context:
space:
mode:
authorMartin Kiewitz2016-02-19 10:34:37 +0100
committerMartin Kiewitz2016-02-19 10:34:37 +0100
commit5484f0bc58b77bf7dd28debf1b7a53bd138ba28c (patch)
tree00ee576afed3ec7ac603f1f27420551c3731a0dc /engines/agi/agi.h
parent1c4778d57196f0d0df9dfdb66fd890a23d6c69b4 (diff)
downloadscummvm-rg350-5484f0bc58b77bf7dd28debf1b7a53bd138ba28c.tar.gz
scummvm-rg350-5484f0bc58b77bf7dd28debf1b7a53bd138ba28c.tar.bz2
scummvm-rg350-5484f0bc58b77bf7dd28debf1b7a53bd138ba28c.zip
AGI: Add detection+workaround for endofloop+motion at the same time
Detects when end.of.loop + motions are used on the same screen object at the same time, which would have resulted in flag corruption in the original interpreter. We detect this situation now, show a warning and disable the cycler in case cycler was activated first. This solves a new issue in kq1, when grabbing the eagle in room 22, that was previously hidden just like in the original AGI. Fixes bug #7046
Diffstat (limited to 'engines/agi/agi.h')
-rw-r--r--engines/agi/agi.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/engines/agi/agi.h b/engines/agi/agi.h
index c5db1dfc1d..6540eea0f5 100644
--- a/engines/agi/agi.h
+++ b/engines/agi/agi.h
@@ -926,6 +926,8 @@ private:
void checkMotion(ScreenObjEntry *screenObj);
public:
+ void motionActivated(ScreenObjEntry *screenObj);
+ void cyclerActivated(ScreenObjEntry *screenObj);
void checkAllMotions();
void moveObj(ScreenObjEntry *screenObj);
void inDestination(ScreenObjEntry *screenObj);