diff options
author | Filippos Karapetis | 2007-08-25 16:02:48 +0000 |
---|---|---|
committer | Filippos Karapetis | 2007-08-25 16:02:48 +0000 |
commit | 57ee1e15bee847dee6ba4d12311d1e7757264d20 (patch) | |
tree | 05e5428d13da0ab92315bf236b74de97a7bc8844 /engines | |
parent | 5ec8ee1907fd7381b528140ba8fe671959a4b30f (diff) | |
download | scummvm-rg350-57ee1e15bee847dee6ba4d12311d1e7757264d20.tar.gz scummvm-rg350-57ee1e15bee847dee6ba4d12311d1e7757264d20.tar.bz2 scummvm-rg350-57ee1e15bee847dee6ba4d12311d1e7757264d20.zip |
Stop showing actors before a scene's background is shown. Removed a relevant hack
svn-id: r28725
Diffstat (limited to 'engines')
-rw-r--r-- | engines/saga/scene.cpp | 3 | ||||
-rw-r--r-- | engines/saga/sfuncs.cpp | 25 |
2 files changed, 10 insertions, 18 deletions
diff --git a/engines/saga/scene.cpp b/engines/saga/scene.cpp index 3076fa26cf..ac58e53987 100644 --- a/engines/saga/scene.cpp +++ b/engines/saga/scene.cpp @@ -710,6 +710,9 @@ void Scene::loadScene(LoadSceneParams *loadSceneParams) { } _sceneLoaded = true; + // Scene is loaded, but don't show actors till the scene's background is drawn + // via kEventDisplay later on + _vm->_actor->showActors(false); q_event = NULL; diff --git a/engines/saga/sfuncs.cpp b/engines/saga/sfuncs.cpp index 8296cf2a0c..0c3d2a4a8d 100644 --- a/engines/saga/sfuncs.cpp +++ b/engines/saga/sfuncs.cpp @@ -568,25 +568,9 @@ void Script::sfScriptGotoScene(SCRIPTFUNC_PARAMS) { return; } - if (_vm->getGameType() == GType_IHNM) { - // WORKAROUND for the briefly appearing actors at the beginning of each chapter - // This will stop the actors being drawn in those specific scenes until the scene background has been drawn - if ((_vm->_scene->currentChapterNumber() == 1 && _vm->_scene->currentSceneNumber() == 6) || - (_vm->_scene->currentChapterNumber() == 2 && _vm->_scene->currentSceneNumber() == 31) || - (_vm->_scene->currentChapterNumber() == 3 && _vm->_scene->currentSceneNumber() == 58) || - (_vm->_scene->currentChapterNumber() == 4 && _vm->_scene->currentSceneNumber() == 68) || - (_vm->_scene->currentChapterNumber() == 5 && _vm->_scene->currentSceneNumber() == 91) || - (_vm->_scene->currentChapterNumber() == 7 && _vm->_scene->currentSceneNumber() == 145)) - _vm->_actor->showActors(false); // Stop showing actors before the background is drawn - - // Since it doesn't look like the IHNM scripts remove the - // cutaway after the intro, this is probably the best place to do it - _vm->_anim->clearCutaway(); - } - // It is possible to leave scene when converse panel is on, // particulalrly it may happen at Moneychanger tent. This - // prevent this from happening. + // prevents this from happening. if (_vm->_interface->getMode() == kPanelConverse) { _vm->_interface->setMode(kPanelMain); } @@ -610,8 +594,13 @@ void Script::sfScriptGotoScene(SCRIPTFUNC_PARAMS) { _currentObject[0] = _currentObject[1] = ID_NOTHING; showVerb(); // calls setStatusText("") - if (_vm->getGameType() == GType_IHNM) + if (_vm->getGameType() == GType_IHNM) { + // Since it doesn't look like the IHNM scripts remove the + // cutaway after the intro, this is probably the best place to do it + if (_vm->_scene->currentChapterNumber() == 8) + _vm->_anim->clearCutaway(); _vm->_gfx->setCursor(kCursorNormal); + } } // Script function #17 (0x11) |