aboutsummaryrefslogtreecommitdiff
path: root/engines/fullpipe/gameloader.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/fullpipe/gameloader.cpp')
-rw-r--r--engines/fullpipe/gameloader.cpp45
1 files changed, 21 insertions, 24 deletions
diff --git a/engines/fullpipe/gameloader.cpp b/engines/fullpipe/gameloader.cpp
index c2bb34eb0d..845655dded 100644
--- a/engines/fullpipe/gameloader.cpp
+++ b/engines/fullpipe/gameloader.cpp
@@ -28,6 +28,9 @@
#include "fullpipe/statics.h"
#include "fullpipe/interaction.h"
#include "fullpipe/motion.h"
+#include "fullpipe/constants.h"
+#include "fullpipe/scenes.h"
+#include "fullpipe/floaters.h"
namespace Fullpipe {
@@ -230,8 +233,7 @@ bool GameLoader::gotoScene(int sceneId, int entranceId) {
return true;
}
-bool preloadCallback(const PreloadItem &pre, int flag) {
-#if 0
+bool preloadCallback(PreloadItem &pre, int flag) {
if (flag) {
if (flag == 50)
g_fp->_aniMan->preloadMovements(g_fp->_movTable);
@@ -249,13 +251,13 @@ bool preloadCallback(const PreloadItem &pre, int flag) {
pbar->_movement->setDynamicPhaseIndex(flag * (sz - 1) / 100);
}
- updateMap(pre);
+ g_fp->updateMap(&pre);
g_fp->_currentScene = g_fp->_loaderScene;
g_fp->_loaderScene->draw();
- _system->updateScreen();
+ g_fp->_system->updateScreen();
} else {
if (g_fp->_scene2) {
g_fp->_aniMan = g_fp->_scene2->getAniMan();
@@ -267,40 +269,38 @@ bool preloadCallback(const PreloadItem &pre, int flag) {
if (g_fp->_soundEnabled) {
g_fp->_currSoundListCount = 1;
- g_fp->_currSoundList1 = accessScene(SC_COMMON)->soundList;
+ g_fp->_currSoundList1[0] = g_fp->accessScene(SC_COMMON)->_soundList;
}
g_vars->scene18_var01 = 0;
- v4 = ;
-
- if ((pre->preloadId1 != SC_18 || pre->sceneId != SC_19) && (pre->preloadId1 != SC_19 || (v5 = pre->sceneId, v5 != SC_18) && v5 != SC_19)) {
+ if ((pre.preloadId1 != SC_18 || pre.sceneId != SC_19) && (pre.preloadId1 != SC_19 || (pre.sceneId != SC_18 && pre.sceneId != SC_19))) {
if (g_fp->_scene3) {
- if (pre->preloadId1 != SC_18)
- v9 = getGameLoader()->unloadScene(SC_18);
+ if (pre.preloadId1 != SC_18)
+ g_fp->_gameLoader->unloadScene(SC_18);
g_fp->_scene3 = 0;
}
} else {
- scene19_preload(accessScene(pre->preloadId1), pre->_keyCode);
+ scene19_preload(g_fp->accessScene(pre.preloadId1), pre.keyCode);
g_vars->scene18_var01 = 1;
- if (pre->preloadId1 == SC_18) {
- getGameLoader()->saveScenePicAniInfos(SC_18);
+ if (pre.preloadId1 == SC_18) {
+ g_fp->_gameLoader->saveScenePicAniInfos(SC_18);
scene18_preload();
}
}
- if (((pre->sceneId == SC_19 && pre->keyCode == TrubaRight) || pre->sceneId == SC_18 && pre->keyCode == TrubaRight) && !pre->preloadId2) {
- pre->sceneId = SC_18;
- pre->keyCode = TrubaLeft;
+ if (((pre.sceneId == SC_19 && pre.keyCode == TrubaRight) || (pre.sceneId == SC_18 && pre.keyCode == TrubaRight)) && !pre.preloadId2) {
+ pre.sceneId = SC_18;
+ pre.keyCode = TrubaLeft;
}
if (!g_fp->_loaderScene) {
- getGameLoader()->loadScene(SC_LDR);
- g_fp->_loaderScene = accessScene(SC_LDR);;
+ g_fp->_gameLoader->loadScene(SC_LDR);
+ g_fp->_loaderScene = g_fp->accessScene(SC_LDR);;
}
StaticANIObject *pbar = g_fp->_loaderScene->getStaticANIObject1ById(ANI_PBAR, -1);
@@ -313,9 +313,9 @@ bool preloadCallback(const PreloadItem &pre, int flag) {
g_fp->_inventoryScene = 0;
g_fp->_updateCursorCallback = 0;
- g_fp->_sceneRect.trans(-g_sceneRect.left, -g_sceneRect.top);
+ g_fp->_sceneRect.translate(-g_fp->_sceneRect.left, -g_fp->_sceneRect.top);
- _system->delayMillis(10);
+ g_fp->_system->delayMillis(10);
Scene *oldsc = g_fp->_currentScene;
@@ -323,13 +323,10 @@ bool preloadCallback(const PreloadItem &pre, int flag) {
g_fp->_loaderScene->draw();
- _system->updateScreen();
+ g_fp->_system->updateScreen();
g_fp->_currentScene = oldsc;
}
-#endif
-
- warning("STUB: preloadCallback");
return true;
}