diff options
author | Eugene Sandulenko | 2014-03-03 00:26:57 +0200 |
---|---|---|
committer | Eugene Sandulenko | 2014-03-03 00:26:57 +0200 |
commit | 201f7a0f826f054986b4baa427f9ada710b2133e (patch) | |
tree | 67e872bbb6f6b85061d90322c09b8e067969a0f3 /engines/fullpipe/scenes.cpp | |
parent | 88f8e00773c5b929b5f92e46dd0b4e7e07836d36 (diff) | |
download | scummvm-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.cpp | 27 |
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 |