aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorFilippos Karapetis2007-08-25 16:02:48 +0000
committerFilippos Karapetis2007-08-25 16:02:48 +0000
commit57ee1e15bee847dee6ba4d12311d1e7757264d20 (patch)
tree05e5428d13da0ab92315bf236b74de97a7bc8844 /engines
parent5ec8ee1907fd7381b528140ba8fe671959a4b30f (diff)
downloadscummvm-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.cpp3
-rw-r--r--engines/saga/sfuncs.cpp25
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)