diff options
Diffstat (limited to 'engines')
-rw-r--r-- | engines/fullpipe/constants.h | 3 | ||||
-rw-r--r-- | engines/fullpipe/scenes/sceneFinal.cpp | 16 |
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() { |