[Scummvm-cvs-logs] scummvm master -> 201f7a0f826f054986b4baa427f9ada710b2133e
sev-
sev at scummvm.org
Sun Mar 2 23:27:44 CET 2014
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
201f7a0f82 FULLPIPE: Implement true scene19_preload()
Commit: 201f7a0f826f054986b4baa427f9ada710b2133e
https://github.com/scummvm/scummvm/commit/201f7a0f826f054986b4baa427f9ada710b2133e
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-03-02T14:26:57-08:00
Commit Message:
FULLPIPE: Implement true scene19_preload()
Changed paths:
engines/fullpipe/gameloader.cpp
engines/fullpipe/scenes.cpp
engines/fullpipe/scenes.h
engines/fullpipe/scenes/scene18and19.cpp
diff --git a/engines/fullpipe/gameloader.cpp b/engines/fullpipe/gameloader.cpp
index bbcce2e..e172b9b 100644
--- a/engines/fullpipe/gameloader.cpp
+++ b/engines/fullpipe/gameloader.cpp
@@ -282,7 +282,7 @@ bool preloadCallback(PreloadItem &pre, int flag) {
g_fp->_scene3 = 0;
}
} else {
- scene19_preload(g_fp->accessScene(pre.preloadId1), pre.keyCode);
+ scene19_setMovements(g_fp->accessScene(pre.preloadId1), pre.keyCode);
g_vars->scene18_var01 = 1;
diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp
index 352a879..4f0b2bd 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
diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h
index 0a4af9c..6a74538 100644
--- a/engines/fullpipe/scenes.h
+++ b/engines/fullpipe/scenes.h
@@ -110,7 +110,7 @@ int sceneHandler17(ExCommand *cmd);
int scene17_updateCursor();
void scene18_preload();
-void scene19_preload(Scene *sc, int key);
+void scene19_setMovements(Scene *sc, int key);
void scene20_initScene(Scene *sc);
int sceneHandler20(ExCommand *ex);
diff --git a/engines/fullpipe/scenes/scene18and19.cpp b/engines/fullpipe/scenes/scene18and19.cpp
index d2fb8d4..1016493 100644
--- a/engines/fullpipe/scenes/scene18and19.cpp
+++ b/engines/fullpipe/scenes/scene18and19.cpp
@@ -63,7 +63,7 @@ void scene18_preload() {
}
}
-void scene19_preload(Scene *sc, int entranceId) {
+void scene19_setMovements(Scene *sc, int entranceId) {
if (entranceId == TrubaRight) {
g_vars->scene18_var15 = 1;
} else {
@@ -107,6 +107,16 @@ void scene19_preload(Scene *sc, int entranceId) {
sc->stopAllSounds();
}
+void scene19_preload() {
+ for (SceneTagList::iterator s = g_fp->_gameProject->_sceneTagList->begin(); s != g_fp->_gameProject->_sceneTagList->end(); ++s) {
+ if (s->_sceneId == SC_18) {
+ s->_scene = g_fp->_scene3;
+
+ break;
+ }
+ }
+}
+
void scene18_sub2(StaticANIObject *ani, Scene *sc) {
warning("WARNING: scene18_sub2()");
}
More information about the Scummvm-git-logs
mailing list