aboutsummaryrefslogtreecommitdiff
path: root/engines/fullpipe
diff options
context:
space:
mode:
authorEugene Sandulenko2014-01-07 13:15:42 +0200
committerEugene Sandulenko2014-01-07 13:15:42 +0200
commit6e828566ef017c9c66fb16390bc96422c01ab021 (patch)
tree60fca6370a50f5df186451c5e75a758cec4cad7f /engines/fullpipe
parent2cb81f50e500d37bf39c023eebc68e400114407c (diff)
downloadscummvm-rg350-6e828566ef017c9c66fb16390bc96422c01ab021.tar.gz
scummvm-rg350-6e828566ef017c9c66fb16390bc96422c01ab021.tar.bz2
scummvm-rg350-6e828566ef017c9c66fb16390bc96422c01ab021.zip
FULLPIPE: Implement scene32_updateCursor() and setupMusic()
Diffstat (limited to 'engines/fullpipe')
-rw-r--r--engines/fullpipe/constants.h1
-rw-r--r--engines/fullpipe/fullpipe.h1
-rw-r--r--engines/fullpipe/lift.cpp6
-rw-r--r--engines/fullpipe/scenes/scene32.cpp14
4 files changed, 22 insertions, 0 deletions
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index 674d544f37..a993c80c67 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -1063,6 +1063,7 @@ namespace Fullpipe {
#define ANI_TESTO_ORANGE 2656
#define MV_TSTG_FLOW 2663
#define MV_TSTO_FLOW 2657
+#define PIC_SC32_LADDER 4296
#define QU_KBK32_START 4982
#define QU_SC32_ENTERLIFT 2827
#define QU_SC32_EXITLIFT 2828
diff --git a/engines/fullpipe/fullpipe.h b/engines/fullpipe/fullpipe.h
index 7c7ac0525e..824ea084f6 100644
--- a/engines/fullpipe/fullpipe.h
+++ b/engines/fullpipe/fullpipe.h
@@ -272,6 +272,7 @@ public:
void lift_sub1(StaticANIObject *ani);
void lift_startExitQueue();
void lift_sub05(ExCommand *ex);
+ bool lift_checkButton(const char *varname);
GameVar *_musicGameVar;
Audio::SoundHandle _sceneTrackHandle;
diff --git a/engines/fullpipe/lift.cpp b/engines/fullpipe/lift.cpp
index ca23d8223a..cb811d610c 100644
--- a/engines/fullpipe/lift.cpp
+++ b/engines/fullpipe/lift.cpp
@@ -105,4 +105,10 @@ void FullpipeEngine::lift_sub05(ExCommand *ex) {
warning("STUB: FullpipeEngine::lift_sub05()");
}
+bool FullpipeEngine::lift_checkButton(const char *varname) {
+ warning("STUB: FullpipeEngine::lift_checkButton(%s)", varname);
+
+ return false;
+}
+
} // End of namespace Fullpipe
diff --git a/engines/fullpipe/scenes/scene32.cpp b/engines/fullpipe/scenes/scene32.cpp
index 90e5e77885..6b6560f3ce 100644
--- a/engines/fullpipe/scenes/scene32.cpp
+++ b/engines/fullpipe/scenes/scene32.cpp
@@ -97,4 +97,18 @@ void scene32_initScene(Scene *sc) {
g_fp->initArcadeKeys("SC_32");
}
+void scene32_setupMusic() {
+ if (g_fp->lift_checkButton(sO_Level6))
+ g_fp->playTrack(g_fp->getGameLoaderGameVar()->getSubVarByName("SC_32"), "MUSIC2", 1);
+}
+
+int scene32_updateCursor() {
+ g_fp->updateCursorCommon();
+
+ if (g_fp->_objectIdAtCursor == PIC_SC32_LADDER && g_fp->_cursorId == PIC_CSR_ITN)
+ g_fp->_cursorId = g_vars->scene32_var09 ? PIC_CSR_GOD : PIC_CSR_GOU; // TODO FIXME doublecheck
+
+ return g_fp->_cursorId;
+}
+
} // End of namespace Fullpipe