From 4366409f4cb471573bb10ae5cf6ff2cfb5608b77 Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Mon, 13 Jan 2014 22:06:55 +0200 Subject: FULLPIPE: Implement sceneHandler34_animateLeaveBoard() --- engines/fullpipe/constants.h | 1 + engines/fullpipe/scenes/scene34.cpp | 14 +++++++++++--- 2 files changed, 12 insertions(+), 3 deletions(-) (limited to 'engines') 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; } -- cgit v1.2.3