aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/fullpipe/constants.h3
-rw-r--r--engines/fullpipe/scenes/sceneFinal.cpp16
2 files changed, 15 insertions, 4 deletions
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index 1dd5fcd624..c5f97d8c85 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -1357,6 +1357,9 @@ namespace Fullpipe {
#define MSG_FIN_GOTO4 5075
#define MSG_FIN_STARTFINAL 5025
#define MSG_FN4_STARTMUSIC 5356
+#define QU_FN2_DOFINAL 5066
+#define QU_FN3_DOFINAL 5072
+#define QU_FN4_DOFINAL 5108
// Debug scene
#define MSG_RESTARTGAME 4767
diff --git a/engines/fullpipe/scenes/sceneFinal.cpp b/engines/fullpipe/scenes/sceneFinal.cpp
index 332fccfef3..0e4906e712 100644
--- a/engines/fullpipe/scenes/sceneFinal.cpp
+++ b/engines/fullpipe/scenes/sceneFinal.cpp
@@ -65,7 +65,7 @@ int sceneFinal_updateCursor() {
}
void sceneHandlerFinal_endFinal() {
- warning("STUB: sceneHandlerFinal_endFinal()");
+ g_vars->sceneFinal_var01 = 0;
}
void sceneHandlerFinal_startMusic(const char *track) {
@@ -73,15 +73,23 @@ void sceneHandlerFinal_startMusic(const char *track) {
}
void sceneHandlerFinal_goto4() {
- warning("STUB: sceneHandlerFinal_goto4()");
+ g_fp->_currentScene = g_fp->accessScene(SC_FINAL4);
+
+ g_fp->_gameLoader->loadScene(SC_FINAL4);
+
+ chainQueue(QU_FN4_DOFINAL, 1);
}
void sceneHandlerFinal_goto3() {
- warning("STUB: sceneHandlerFinal_goto3()");
+ g_fp->_currentScene = g_fp->accessScene(SC_FINAL3);
+
+ chainQueue(QU_FN3_DOFINAL, 1);
}
void sceneHandlerFinal_goto2() {
- warning("STUB: sceneHandlerFinal_goto2()");
+ g_fp->_currentScene = g_fp->accessScene(SC_FINAL2);
+
+ chainQueue(QU_FN2_DOFINAL, 1);
}
void sceneHandlerFinal_startFinal() {