diff options
-rw-r--r-- | engines/fullpipe/constants.h | 1 | ||||
-rw-r--r-- | engines/fullpipe/scenes/scene34.cpp | 14 |
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; } |