aboutsummaryrefslogtreecommitdiff
path: root/engines/fullpipe/scenes.cpp
diff options
context:
space:
mode:
authorEugene Sandulenko2014-03-03 00:26:57 +0200
committerEugene Sandulenko2014-03-03 00:26:57 +0200
commit201f7a0f826f054986b4baa427f9ada710b2133e (patch)
tree67e872bbb6f6b85061d90322c09b8e067969a0f3 /engines/fullpipe/scenes.cpp
parent88f8e00773c5b929b5f92e46dd0b4e7e07836d36 (diff)
downloadscummvm-rg350-201f7a0f826f054986b4baa427f9ada710b2133e.tar.gz
scummvm-rg350-201f7a0f826f054986b4baa427f9ada710b2133e.tar.bz2
scummvm-rg350-201f7a0f826f054986b4baa427f9ada710b2133e.zip
FULLPIPE: Implement true scene19_preload()
Diffstat (limited to 'engines/fullpipe/scenes.cpp')
-rw-r--r--engines/fullpipe/scenes.cpp27
1 files changed, 16 insertions, 11 deletions
diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp
index 352a8795f6..4f0b2bd91f 100644
--- a/engines/fullpipe/scenes.cpp
+++ b/engines/fullpipe/scenes.cpp
@@ -800,11 +800,13 @@ bool FullpipeEngine::sceneSwitcher(EntranceInfo *entrance) {
sub_40E1B0();
sceneVar = _gameLoader->_gameVar->getSubVarByName("SC_18");
scene->preloadMovements(sceneVar);
- sub_4062D0();
- if (dword_476C38)
+ g_fp->stopAllSounds();
+
+ if (g_vars->scene18_var01)
scene18_initScene1(scene);
else
scene18_initScene2(scene);
+
_behaviorManager->initBehavior(scene, sceneVar);
scene->initObjectCursors("SC_18");
setSceneMusicParameters(sceneVar);
@@ -813,27 +815,30 @@ bool FullpipeEngine::sceneSwitcher(EntranceInfo *entrance) {
break;
case SC_19:
- if (!g_scene3) {
- g_scene3 = accessScene(SC_18);
+ if (!g_fp->_scene3) {
+ g_fp->_scene3 = accessScene(SC_18);
getGameLoader()->loadScene(SC_18);
scene18_initScene2(g_scene3);
- sub_40C5F0();
- scene19_sub_420B10(g_scene3, entrance->field_4);
- dword_476C38 = 1;
+ scene18_preload();
+ scene19_setMovements(g_scene3, entrance->field_4);
+ g_vars->scene18_var01 = 1;
}
- sub_40C650();
+
+ scene19_preload();
sceneVar = _gameLoader->_gameVar->getSubVarByName("SC_19");
scene->preloadMovements(sceneVar);
- sub_4062D0();
- if (dword_476C38)
+ g_fp->stopAllSounds();
+
+ if (g_vars->scene18_var01)
scene18_initScene1(scene);
else
scene19_initScene2();
+
_behaviorManager->initBehavior(scene, sceneVar);
scene->initObjectCursors("SC_19");
setSceneMusicParameters(sceneVar);
addMessageHandler(sceneHandler19, 2);
- scene19_sub_4211D0(scene);
+ scene19_setSugarState(scene);
_updateCursorCallback = scene19_updateCursor;
break;
#endif