aboutsummaryrefslogtreecommitdiff
path: root/engines/agi/cycle.cpp
diff options
context:
space:
mode:
authorMartin Kiewitz2017-02-10 19:43:16 +0100
committerMartin Kiewitz2017-02-10 19:43:16 +0100
commiteeaddfb20aa3e03aaa5f5bffe54178b046489661 (patch)
treebf533877112b9a56e542e5e6f033f516e2ecb7ba /engines/agi/cycle.cpp
parent4872c0dadf72e9bb20db21651240692c7674a01d (diff)
downloadscummvm-rg350-eeaddfb20aa3e03aaa5f5bffe54178b046489661.tar.gz
scummvm-rg350-eeaddfb20aa3e03aaa5f5bffe54178b046489661.tar.bz2
scummvm-rg350-eeaddfb20aa3e03aaa5f5bffe54178b046489661.zip
AGI: Make MH1 nightclub arcade sequence slower for AppleIIgs
Thanks waltervn for pointing this issue out AppleIIgs adjustment tables had to be extended, because the first 3 arcade sequences were running way too fast, while the last one ran fine and all of those are part of one single room.
Diffstat (limited to 'engines/agi/cycle.cpp')
-rw-r--r--engines/agi/cycle.cpp17
1 files changed, 10 insertions, 7 deletions
diff --git a/engines/agi/cycle.cpp b/engines/agi/cycle.cpp
index 4148306de2..d09a9501d6 100644
--- a/engines/agi/cycle.cpp
+++ b/engines/agi/cycle.cpp
@@ -377,19 +377,22 @@ int AgiEngine::playGame() {
// Now check, if we got a time delay overwrite entry for current room
if (appleIIgsDelayOverwrite->roomTable) {
byte curRoom = getVar(VM_VAR_CURRENT_ROOM);
+ int16 curPictureNr = _picture->getResourceNr();
appleIIgsDelayRoomOverwrite = appleIIgsDelayOverwrite->roomTable;
while (appleIIgsDelayRoomOverwrite->fromRoom >= 0) {
if ((appleIIgsDelayRoomOverwrite->fromRoom <= curRoom) && (appleIIgsDelayRoomOverwrite->toRoom >= curRoom)) {
- if (appleIIgsDelayRoomOverwrite->onlyWhenPlayerNotInControl) {
- if (_game.playerControl) {
- // Player is actually currently in control? -> then skip this entry
- appleIIgsDelayRoomOverwrite++;
- continue;
+ if ((appleIIgsDelayRoomOverwrite->activePictureNr == curPictureNr) || (appleIIgsDelayRoomOverwrite->activePictureNr == -1)) {
+ if (appleIIgsDelayRoomOverwrite->onlyWhenPlayerNotInControl) {
+ if (_game.playerControl) {
+ // Player is actually currently in control? -> then skip this entry
+ appleIIgsDelayRoomOverwrite++;
+ continue;
+ }
}
+ timeDelayOverwrite = appleIIgsDelayRoomOverwrite->timeDelayOverwrite;
+ break;
}
- timeDelayOverwrite = appleIIgsDelayRoomOverwrite->timeDelayOverwrite;
- break;
}
appleIIgsDelayRoomOverwrite++;
}