diff options
author | Martin Kiewitz | 2017-02-10 19:43:16 +0100 |
---|---|---|
committer | Martin Kiewitz | 2017-02-10 19:43:16 +0100 |
commit | eeaddfb20aa3e03aaa5f5bffe54178b046489661 (patch) | |
tree | bf533877112b9a56e542e5e6f033f516e2ecb7ba /engines/agi/cycle.cpp | |
parent | 4872c0dadf72e9bb20db21651240692c7674a01d (diff) | |
download | scummvm-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.cpp | 17 |
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++; } |