aboutsummaryrefslogtreecommitdiff
path: root/engines/draci
diff options
context:
space:
mode:
authorRobert Špalek2009-11-08 18:55:41 +0000
committerRobert Špalek2009-11-08 18:55:41 +0000
commit121baa2660bada2d5c57f07db46c5c8c9d1ec592 (patch)
treeada30a8b8a974e631279c1c093179ce4e208cae5 /engines/draci
parentf8ab3f866e4592a4dd6c984b9d58f21844ea132f (diff)
downloadscummvm-rg350-121baa2660bada2d5c57f07db46c5c8c9d1ec592.tar.gz
scummvm-rg350-121baa2660bada2d5c57f07db46c5c8c9d1ec592.tar.bz2
scummvm-rg350-121baa2660bada2d5c57f07db46c5c8c9d1ec592.zip
Fix running clearing IsReloaded().
Currently, if gate programs used loop(), they exitted immediately due to not having cleared this flag. svn-id: r45753
Diffstat (limited to 'engines/draci')
-rw-r--r--engines/draci/game.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/engines/draci/game.cpp b/engines/draci/game.cpp
index f8b86a7d7a..aa7964fb3b 100644
--- a/engines/draci/game.cpp
+++ b/engines/draci/game.cpp
@@ -444,6 +444,7 @@ void Game::advanceAnimationsAndTestLoopExit() {
bool walkingFinished = false;
if (_walkingState.isActive()) {
walkingFinished = !_walkingState.continueWalkingOrClearPath();
+ // If walking has finished, the path won't be active anymore.
}
// Advance animations (this may also call setExitLoop(true) in the
@@ -1355,6 +1356,7 @@ bool Game::enterNewRoom() {
// If the game has been reloaded, force reloading all animations.
return true;
}
+ setIsReloaded(false);
debugC(1, kDraciLogicDebugLevel, "Entering room %d using gate %d", _newRoom, _newGate);
_vm->_mouse->cursorOff();
@@ -1444,7 +1446,6 @@ bool Game::enterNewRoom() {
// Reset the loop status.
setLoopStatus(kStatusOrdinary);
- setIsReloaded(false);
if (_vm->_script->shouldEndProgram()) {
// Escape pressed during the intro or map animations run in the
// init scripts. This flag was turned on to skip the rest of