diff options
author | Eugene Sandulenko | 2014-01-07 16:50:52 +0200 |
---|---|---|
committer | Eugene Sandulenko | 2014-01-07 16:50:52 +0200 |
commit | ae5389af8bd3b248b3bbbcbf8fd62284586b0d22 (patch) | |
tree | 067bb1f139d24b0f270b2f5f2820df5ee4bb234b /engines | |
parent | 7292a08b8a96fba418249db65614f5898c9f25c5 (diff) | |
download | scummvm-rg350-ae5389af8bd3b248b3bbbcbf8fd62284586b0d22.tar.gz scummvm-rg350-ae5389af8bd3b248b3bbbcbf8fd62284586b0d22.tar.bz2 scummvm-rg350-ae5389af8bd3b248b3bbbcbf8fd62284586b0d22.zip |
FULLPIPE: Implement sceneHandler32_ladderLogic()
Diffstat (limited to 'engines')
-rw-r--r-- | engines/fullpipe/constants.h | 1 | ||||
-rw-r--r-- | engines/fullpipe/scenes/scene32.cpp | 16 |
2 files changed, 16 insertions, 1 deletions
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h index 532cfdcdeb..21ae1d927d 100644 --- a/engines/fullpipe/constants.h +++ b/engines/fullpipe/constants.h @@ -1087,6 +1087,7 @@ namespace Fullpipe { #define QU_SC32_ENTERLIFT 2827 #define QU_SC32_EXITLIFT 2828 #define QU_SC32_FALLHANDLE 5351 +#define QU_SC32_FROMLADDER 4300 #define QU_SC32_SHOWHANDLE 2399 #define ST_BTN32_OFF 5349 #define ST_BTN32_ON 5350 diff --git a/engines/fullpipe/scenes/scene32.cpp b/engines/fullpipe/scenes/scene32.cpp index 38a29d31c3..ac26cf452c 100644 --- a/engines/fullpipe/scenes/scene32.cpp +++ b/engines/fullpipe/scenes/scene32.cpp @@ -172,7 +172,21 @@ void sceneHandler32_animateCactus() { } void sceneHandler32_ladderLogic(ExCommand *cmd) { - warning("STUB: sceneHandler32_ladderLogic(cmd)"); + MessageQueue *mq = new MessageQueue(g_fp->_currentScene->getMessageQueueById(QU_SC32_FROMLADDER), 0, 0); + + if (g_fp->_currentScene->getPictureObjectIdAtPos(cmd->_sceneClickX, cmd->_sceneClickY) != PIC_SC32_LADDER) + mq->addExCommandToEnd(cmd->createClone()); + + mq->setFlags(mq->getFlags() | 1); + + g_fp->_aniMan->changeStatics2(ST_MAN_STANDLADDER); + if (!mq->chain(g_fp->_aniMan)) + delete mq; + + g_vars->scene32_var09 = 0; + + getCurrSceneSc2MotionController()->setEnabled(); + getGameLoaderInteractionController()->enableFlag24(); } void sceneHandler32_potLogic(ExCommand *cmd) { |