diff options
author | Paul Gilbert | 2011-02-27 16:28:37 +1100 |
---|---|---|
committer | Paul Gilbert | 2011-02-27 16:28:37 +1100 |
commit | ee87c69a3437523382d7d1a5edb3b7b347e11642 (patch) | |
tree | 0c87e1ab2bad3ba55113cd30868d0a196d389de9 | |
parent | 0cd4b885c8cff779adf27a99b690b09f99042e14 (diff) | |
download | scummvm-rg350-ee87c69a3437523382d7d1a5edb3b7b347e11642.tar.gz scummvm-rg350-ee87c69a3437523382d7d1a5edb3b7b347e11642.tar.bz2 scummvm-rg350-ee87c69a3437523382d7d1a5edb3b7b347e11642.zip |
TSAGE: Fixed bug with scene mode being used incorrectly as the scene load flag
-rw-r--r-- | engines/tsage/core.cpp | 2 | ||||
-rw-r--r-- | engines/tsage/scenes.cpp | 7 | ||||
-rw-r--r-- | engines/tsage/scenes.h | 1 |
3 files changed, 6 insertions, 4 deletions
diff --git a/engines/tsage/core.cpp b/engines/tsage/core.cpp index 620d932784..6379a3853b 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 bfb6852136..709b3ba552 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 88caee398d..b5776975be 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; |