aboutsummaryrefslogtreecommitdiff
path: root/engines/zvision
diff options
context:
space:
mode:
Diffstat (limited to 'engines/zvision')
-rw-r--r--engines/zvision/script_manager.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/engines/zvision/script_manager.cpp b/engines/zvision/script_manager.cpp
index 93564ee6ad..6aaf5773e0 100644
--- a/engines/zvision/script_manager.cpp
+++ b/engines/zvision/script_manager.cpp
@@ -28,6 +28,8 @@
#include "zvision/zvision.h"
#include "zvision/script_manager.h"
+#include "zvision/render_manager.h"
+#include "zvision/cursor_manager.h"
#include "zvision/actions.h"
#include "zvision/action_node.h"
#include "zvision/utility.h"
@@ -211,6 +213,15 @@ void ScriptManager::changeLocationIntern() {
_activeControls.clear();
_engine->clearAllMouseEvents();
+ // Revert to the idle cursor
+ _engine->getCursorManager()->revertToIdle();
+
+ // Change the background position
+ _engine->getRenderManager()->setBackgroundPosition(_nextLocation.x);
+
+ // Reset the background velocity
+ _engine->getRenderManager()->setBackgroundVelocity(0);
+
// Parse into puzzles and controls
Common::String fileName = Common::String::format("%c%c%c%c.scr", _nextLocation.world, _nextLocation.room, _nextLocation.node, _nextLocation.view);
parseScrFile(fileName);