diff options
Diffstat (limited to 'engines/tsage/scenes.cpp')
-rw-r--r-- | engines/tsage/scenes.cpp | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/engines/tsage/scenes.cpp b/engines/tsage/scenes.cpp index b94e95c696..9a175ea08f 100644 --- a/engines/tsage/scenes.cpp +++ b/engines/tsage/scenes.cpp @@ -28,6 +28,9 @@ namespace tSage { +// TODO: Doesn't seem to be ever set +const bool _v52C9F = false; + SceneManager::SceneManager() { _scene = NULL; _hasPalette = false; @@ -45,7 +48,7 @@ SceneManager::~SceneManager() { } void SceneManager::setNewScene(int sceneNumber) { - warning("SetNewScene(%d)", sceneNumber); + debug(1, "SetNewScene(%d)", sceneNumber); _nextSceneNumber = sceneNumber; } @@ -146,7 +149,7 @@ void SceneManager::fadeInIfNecessary() { } void SceneManager::changeScene(int newSceneNumber) { - warning("changeScene(%d)", newSceneNumber); + debug(1, "changeScene(%d)", newSceneNumber); // Fade out the scene ScenePalette scenePalette; uint32 adjustData = 0; @@ -173,6 +176,11 @@ void SceneManager::changeScene(int newSceneNumber) { // Blank out the screen _globals->_screenSurface.fillRect(_globals->_screenSurface.getBounds(), 0); + // If there are any fading sounds, wait until fading is complete + while (_globals->_soundManager.isFading()) { + g_system->delayMillis(10); + } + // Set the new scene to be loaded setNewScene(newSceneNumber); } @@ -296,7 +304,7 @@ void Scene::dispatch() { } void Scene::loadScene(int sceneNum) { - warning("loadScene(%d)", sceneNum); + debug(1, "loadScene(%d)", sceneNum); _screenNumber = sceneNum; if (_globals->_scenePalette.loadPalette(sceneNum)) _globals->_sceneManager._hasPalette = true; @@ -496,6 +504,11 @@ void Scene::setZoomPercents(int yStart, int minPercent, int yEnd, int maxPercent _zoomPercents[yEnd++] = minPercent; } +byte *Scene::preloadVisage(int resNum) { + assert(!_v52C9F); + return _resourceManager->getResource(RES_VISAGE, resNum, 9999, false); +} + /*--------------------------------------------------------------------------*/ void Game::execute() { |