diff options
author | Eugene Sandulenko | 2014-01-23 11:42:26 -0800 |
---|---|---|
committer | Eugene Sandulenko | 2014-01-23 12:01:25 -0800 |
commit | 7ce04e0383906c28b17206b988d610e6ec429bf3 (patch) | |
tree | d544910f29256477fafbdf757c0efc036d0d2c95 /engines | |
parent | 34c2ba5ff3b7ede24b847b853c30aaef846c2322 (diff) | |
download | scummvm-rg350-7ce04e0383906c28b17206b988d610e6ec429bf3.tar.gz scummvm-rg350-7ce04e0383906c28b17206b988d610e6ec429bf3.tar.bz2 scummvm-rg350-7ce04e0383906c28b17206b988d610e6ec429bf3.zip |
FULLPIPE: Implement sceneHandlerFinal()
Diffstat (limited to 'engines')
-rw-r--r-- | engines/fullpipe/constants.h | 8 | ||||
-rw-r--r-- | engines/fullpipe/scenes/sceneFinal.cpp | 79 |
2 files changed, 87 insertions, 0 deletions
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h index 9e79b1c732..1dd5fcd624 100644 --- a/engines/fullpipe/constants.h +++ b/engines/fullpipe/constants.h @@ -1350,6 +1350,14 @@ namespace Fullpipe { #define QU_SC38_ENTERLIFT 2836 #define QU_SC38_EXITLIFT 2837 +// Final scene +#define MSG_FIN_ENDFINAL 5109 +#define MSG_FIN_GOTO2 5024 +#define MSG_FIN_GOTO3 5071 +#define MSG_FIN_GOTO4 5075 +#define MSG_FIN_STARTFINAL 5025 +#define MSG_FN4_STARTMUSIC 5356 + // Debug scene #define MSG_RESTARTGAME 4767 #define PIC_SCD_1 727 diff --git a/engines/fullpipe/scenes/sceneFinal.cpp b/engines/fullpipe/scenes/sceneFinal.cpp index 56dc9bfd65..332fccfef3 100644 --- a/engines/fullpipe/scenes/sceneFinal.cpp +++ b/engines/fullpipe/scenes/sceneFinal.cpp @@ -64,4 +64,83 @@ int sceneFinal_updateCursor() { return g_fp->_cursorId; } +void sceneHandlerFinal_endFinal() { + warning("STUB: sceneHandlerFinal_endFinal()"); +} + +void sceneHandlerFinal_startMusic(const char *track) { + warning("STUB: sceneHandlerFinal_startMusic()"); +} + +void sceneHandlerFinal_goto4() { + warning("STUB: sceneHandlerFinal_goto4()"); +} + +void sceneHandlerFinal_goto3() { + warning("STUB: sceneHandlerFinal_goto3()"); +} + +void sceneHandlerFinal_goto2() { + warning("STUB: sceneHandlerFinal_goto2()"); +} + +void sceneHandlerFinal_startFinal() { + warning("STUB: sceneHandlerFinal_startFinal()"); +} + +void sceneHandlerFinal_fallCoin() { + warning("STUB: sceneHandlerFinal_fallCoin()"); +} + +int sceneHandlerFinal(ExCommand *cmd) { + if (cmd->_messageKind != 17) + return 0; + + switch (cmd->_messageNum) { + case MSG_FIN_ENDFINAL: + sceneHandlerFinal_endFinal(); + break; + + case MSG_FN4_STARTMUSIC: + sceneHandlerFinal_startMusic("track16.ogg"); + break; + + case MSG_FIN_GOTO4: + sceneHandlerFinal_goto4(); + + g_fp->playTrack(g_fp->getGameLoaderGameVar()->getSubVarByName("SC_FINAL1"), "MUSIC3", 1); + break; + + case MSG_FIN_GOTO3: + sceneHandlerFinal_goto3(); + break; + + case MSG_FIN_GOTO2: + sceneHandlerFinal_goto2(); + break; + + case MSG_FIN_STARTFINAL: + sceneHandlerFinal_startFinal(); + break; + + case 33: + if (g_fp->_aniMan2) { + g_vars->sceneFinal_var03 = g_fp->_aniMan2->_ox; + + if (g_vars->sceneFinal_var03 < 450 && g_vars->sceneFinal_var02 >= 450 ) + sceneHandlerFinal_fallCoin(); + + g_vars->sceneFinal_var02 = g_vars->sceneFinal_var03; + } + + g_fp->_behaviorManager->updateBehaviors(); + + g_fp->startSceneTrack(); + + break; + } + + return 0; +} + } // End of namespace Fullpipe |