aboutsummaryrefslogtreecommitdiff
path: root/engines/gnap/scenes/group0.cpp
diff options
context:
space:
mode:
authorStrangerke2016-05-19 07:59:07 +0200
committerStrangerke2016-05-19 07:59:07 +0200
commit9a2bc3c5720e807978fa8a302b5b3c532fb62d30 (patch)
tree8349a4075ab73882286d48955c14bca9353a3e25 /engines/gnap/scenes/group0.cpp
parent97ac77b5f1b41b77b5e9a79bac0f6a11a4063386 (diff)
downloadscummvm-rg350-9a2bc3c5720e807978fa8a302b5b3c532fb62d30.tar.gz
scummvm-rg350-9a2bc3c5720e807978fa8a302b5b3c532fb62d30.tar.bz2
scummvm-rg350-9a2bc3c5720e807978fa8a302b5b3c532fb62d30.zip
GNAP: Add several checks on _gameDone in order to quit the game quickly
Diffstat (limited to 'engines/gnap/scenes/group0.cpp')
-rw-r--r--engines/gnap/scenes/group0.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/engines/gnap/scenes/group0.cpp b/engines/gnap/scenes/group0.cpp
index 25e0aaebe0..dfc6d7a739 100644
--- a/engines/gnap/scenes/group0.cpp
+++ b/engines/gnap/scenes/group0.cpp
@@ -1209,7 +1209,7 @@ void Scene03::updateAnimations() {
_vm->addFullScreenSprite(0x106, 255);
gameSys.setAnimation(0x1C9, 256, 1);
gameSys.insertSequence(0x1C9, 256, 0, 0, kSeqNone, 0, 0, 0);
- while (gameSys.getAnimationStatus(1) != 2)
+ while (gameSys.getAnimationStatus(1) != 2 && !_vm->_gameDone)
_vm->gameUpdateTick();
_vm->removeFullScreenSprite();
gameSys.setAnimation(0x1BA, 99, 1);
@@ -1224,12 +1224,12 @@ void Scene03::updateAnimations() {
gnap.playBrainPulsating();
gameSys.insertSequence(0x1BF, 99, plat._sequenceId | (plat._sequenceDatNum << 16), 99, kSeqSyncExists, 0, 0, 0);
gameSys.setAnimation(0x1BF, 99, 1);
- while (gameSys.getAnimationStatus(1) != 2)
+ while (gameSys.getAnimationStatus(1) != 2 && !_vm->_gameDone)
_vm->gameUpdateTick();
_vm->addFullScreenSprite(0x106, 255);
gameSys.setAnimation(0x1C9, 256, 1);
gameSys.insertSequence(0x1C9, 256, 0, 0, kSeqNone, 0, 0, 0);
- while (gameSys.getAnimationStatus(1) != 2)
+ while (gameSys.getAnimationStatus(1) != 2 && !_vm->_gameDone)
_vm->gameUpdateTick();
_vm->removeFullScreenSprite();
gameSys.setAnimation(0x1BA, 99, 1);
@@ -2191,7 +2191,7 @@ void Scene05::updateAnimations() {
_nextChickenSequenceId = 0x14B;
break;
case kAS05GrabLadder:
- while (gameSys.isSequenceActive(0x149, 39))
+ while (gameSys.isSequenceActive(0x149, 39) && !_vm->_gameDone)
_vm->gameUpdateTick();
gameSys.insertSequence(0x14E, gnap._id + 1, 0, 0, kSeqNone, 0, 0, 0);
gameSys.insertSequence(0x14D, gnap._id, makeRid(gnap._sequenceDatNum, gnap._sequenceId), gnap._id, kSeqSyncWait, 0, 0, 0);