aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/fullpipe/constants.h3
-rw-r--r--engines/fullpipe/scenes/sceneFinal.cpp7
2 files changed, 9 insertions, 1 deletions
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index c5f97d8c85..d9dda00091 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -1351,15 +1351,18 @@ namespace Fullpipe {
#define QU_SC38_EXITLIFT 2837
// Final scene
+#define ANI_FIN_COIN 5014
#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
+#define QU_FIN1_FALLCOIN 5018
#define QU_FN2_DOFINAL 5066
#define QU_FN3_DOFINAL 5072
#define QU_FN4_DOFINAL 5108
+#define ST_FCN_NORM 5017
// Debug scene
#define MSG_RESTARTGAME 4767
diff --git a/engines/fullpipe/scenes/sceneFinal.cpp b/engines/fullpipe/scenes/sceneFinal.cpp
index 0e4906e712..6ba72de8b4 100644
--- a/engines/fullpipe/scenes/sceneFinal.cpp
+++ b/engines/fullpipe/scenes/sceneFinal.cpp
@@ -97,7 +97,12 @@ void sceneHandlerFinal_startFinal() {
}
void sceneHandlerFinal_fallCoin() {
- warning("STUB: sceneHandlerFinal_fallCoin()");
+ StaticANIObject *coin = g_fp->_currentScene->getStaticANIObject1ById(ANI_FIN_COIN, -1);
+
+ if (!coin->_movement) {
+ if (!coin->_statics || coin->_statics->_staticsId != ST_FCN_NORM)
+ chainQueue(QU_FIN1_FALLCOIN, 1);
+ }
}
int sceneHandlerFinal(ExCommand *cmd) {