diff --git a/engines/tsage/core.cpp b/engines/tsage/core.cpp index 620d9327843..6379a3853b8 100644 --- a/engines/tsage/core.cpp +++ b/engines/tsage/core.cpp @@ -2282,7 +2282,7 @@ redraw: // Update the palette _globals->_sceneManager.fadeInIfNecessary(); - _globals->_sceneManager._scene->_sceneMode = 0; + _globals->_sceneManager._loadMode = 0; _globals->_paneRefreshFlag[paneNum] = 0; // Loop through the object list, removing any objects and refreshing the screen as necessary diff --git a/engines/tsage/scenes.cpp b/engines/tsage/scenes.cpp index bfb68521368..709b3ba552d 100644 --- a/engines/tsage/scenes.cpp +++ b/engines/tsage/scenes.cpp @@ -210,6 +210,7 @@ void SceneManager::listenerSynchronise(Serialiser &s) { s.syncAsUint16LE(_globals->_sceneManager._scene->_activeScreenNumber); _globals->_sceneManager._scrollerRect.synchronise(s); SYNC_POINTER(_globals->_scrollFollower); + s.syncAsSint16LE(_loadMode); } /*--------------------------------------------------------------------------*/ @@ -291,7 +292,7 @@ void Scene::loadSceneData(int sceneNum) { _globals->_sceneOffset.y = (_sceneBounds.top / 100) * 100; _globals->_paneRefreshFlag[0] = 1; _globals->_paneRefreshFlag[1] = 1; - _sceneMode = 1; + _globals->_sceneManager._loadMode = 1; _globals->_sceneManager._sceneLoadCount = 0; _globals->_sceneManager._sceneBgOffset = Common::Point(0, 0); @@ -310,10 +311,10 @@ void Scene::loadBackground(int xAmount, int yAmount) { _globals->_sceneOffset.x &= ~3; if ((_sceneBounds.top != _oldSceneBounds.top) || (_sceneBounds.left != _oldSceneBounds.left)) { - if (_sceneMode == 0) { + if (_globals->_sceneManager._loadMode == 0) { _globals->_paneRefreshFlag[0] = 2; _globals->_paneRefreshFlag[1] = 2; - _sceneMode = 2; + _globals->_sceneManager._loadMode = 2; } _oldSceneBounds = _sceneBounds; } diff --git a/engines/tsage/scenes.h b/engines/tsage/scenes.h index 88caee398df..b5776975bef 100644 --- a/engines/tsage/scenes.h +++ b/engines/tsage/scenes.h @@ -77,6 +77,7 @@ private: public: Scene *_scene; bool _hasPalette; + int _loadMode; int _sceneNumber; int _previousScene; int _nextSceneNumber;