aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/fullpipe/constants.h1
-rw-r--r--engines/fullpipe/scenes/scene34.cpp14
2 files changed, 12 insertions, 3 deletions
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index f38d019d69..bfae414099 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -1164,6 +1164,7 @@ namespace Fullpipe {
#define QU_SC34_FROMBOX_FLOOR 4572
#define QU_SC34_FROMCACTUS 4312
#define QU_SC34_FROMSTOOL 2491
+#define QU_SC34_LEAVEBOARD 2575
#define QU_SC34_SHOWSTOOL 2496
#define QU_CTS34_FALLEFT 4316
#define QU_CTS34_FALLRIGHT 4317
diff --git a/engines/fullpipe/scenes/scene34.cpp b/engines/fullpipe/scenes/scene34.cpp
index 39df6f9fa4..51da888c40 100644
--- a/engines/fullpipe/scenes/scene34.cpp
+++ b/engines/fullpipe/scenes/scene34.cpp
@@ -190,8 +190,16 @@ void sceneHandler34_fromCactus(ExCommand *cmd) {
g_fp->_aniMan->_flags |= 1;
}
-void sceneHandler34_sub02(ExCommand *cmd) {
- warning("STUB: sceneHandler34_sub02(cmd)");
+void sceneHandler34_animateLeaveBoard(ExCommand *cmd) {
+ if (!g_fp->_aniMan->_movement) {
+ MessageQueue *mq = new MessageQueue(g_fp->_currentScene->getMessageQueueById(QU_SC34_LEAVEBOARD), 0, 0);
+
+ mq->addExCommandToEnd(cmd->createClone());
+ mq->setFlags(mq->getFlags() | 1);
+ mq->chain(0);
+ }
+
+ cmd->_messageKind = 0;
}
void sceneHandler34_animateAction(ExCommand *cmd) {
@@ -397,7 +405,7 @@ int sceneHandler34(ExCommand *cmd) {
}
if (g_vars->scene34_var06) {
- sceneHandler34_sub02(cmd);
+ sceneHandler34_animateLeaveBoard(cmd);
break;
}