aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
Diffstat (limited to 'engines')
-rw-r--r--engines/draci/game.cpp15
1 files changed, 8 insertions, 7 deletions
diff --git a/engines/draci/game.cpp b/engines/draci/game.cpp
index daad892b6c..f8b86a7d7a 100644
--- a/engines/draci/game.cpp
+++ b/engines/draci/game.cpp
@@ -1356,6 +1356,7 @@ bool Game::enterNewRoom() {
return true;
}
debugC(1, kDraciLogicDebugLevel, "Entering room %d using gate %d", _newRoom, _newGate);
+ _vm->_mouse->cursorOff();
// TODO: maybe wait till all sounds end instead of stopping them.
// In any case, make sure all sounds are stopped before we deallocate
@@ -1411,6 +1412,13 @@ bool Game::enterNewRoom() {
// cleaned up. Some rooms (e.g., the map) don't support walking.
_walkingState.stopWalking();
+ // Reset the flag allowing to run the scripts. It may have been turned
+ // on by pressing Escape in the intro or in the map room.
+ _vm->_script->endCurrentProgram(false);
+
+ loadRoom(_newRoom);
+ loadOverlays();
+
// Clean the mouse and animation title. It gets first updated in
// loop(), hence if the hero walks during the initialization scripts,
// the old values would remain otherwise.
@@ -1420,13 +1428,6 @@ bool Game::enterNewRoom() {
Text *title = reinterpret_cast<Text *>(titleAnim->getCurrentFrame());
title->setText("");
- // Reset the flag allowing to run the scripts. It may have been turned
- // on by pressing Escape in the intro or in the map room.
- _vm->_script->endCurrentProgram(false);
-
- loadRoom(_newRoom);
- loadOverlays();
-
// Run the program for the gate the dragon came through
runGateProgram(_newGate);