diff options
author | Eugene Sandulenko | 2013-12-28 11:48:57 +0200 |
---|---|---|
committer | Eugene Sandulenko | 2013-12-28 14:17:49 +0200 |
commit | 08922cd3c46ba6a083baef02e146f8bf52ee5e1d (patch) | |
tree | ae238fb100274926ee9083ce38279a6b24f312cd | |
parent | 8b308be18a699237b61760b61afa1dbc0cd5bc7a (diff) | |
download | scummvm-rg350-08922cd3c46ba6a083baef02e146f8bf52ee5e1d.tar.gz scummvm-rg350-08922cd3c46ba6a083baef02e146f8bf52ee5e1d.tar.bz2 scummvm-rg350-08922cd3c46ba6a083baef02e146f8bf52ee5e1d.zip |
FULLPIPE: Implement sceneHandler11_swingerJumpDown()
-rw-r--r-- | engines/fullpipe/constants.h | 1 | ||||
-rw-r--r-- | engines/fullpipe/scenes/scene11.cpp | 22 |
2 files changed, 20 insertions, 3 deletions
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h index 06b5f35544..f9c96611e2 100644 --- a/engines/fullpipe/constants.h +++ b/engines/fullpipe/constants.h @@ -514,6 +514,7 @@ namespace Fullpipe { #define QU_SC11_PUTBOOT1 2709 #define QU_SC11_PUTBOOT2 2710 #define QU_SC11_RESTARTMAN 1134 +#define QU_SWR_JUMPDOWN 1123 #define SND_11_022 3706 #define SND_11_024 3708 #define ST_BTS11_2 2707 diff --git a/engines/fullpipe/scenes/scene11.cpp b/engines/fullpipe/scenes/scene11.cpp index ead3777339..804a66b9d2 100644 --- a/engines/fullpipe/scenes/scene11.cpp +++ b/engines/fullpipe/scenes/scene11.cpp @@ -504,8 +504,23 @@ void sceneHandler11_sub06() { } } -void sceneHandler11_sub07() { - warning("STUB: sceneHandler11_sub07()"); +void sceneHandler11_swingerJumpDown() { + MessageQueue *mq = new MessageQueue(g_fp->_currentScene->getMessageQueueById(QU_SWR_JUMPDOWN), 0, 0); + + mq->setFlags(mq->getFlags() | 1); + + if (!mq->chain(g_vars->scene11_swingie)) + delete mq; + + g_vars->scene11_var19 = 0; + g_vars->scene11_var20 = 1; + g_vars->scene11_var06 = g_fp->_sceneRect.left; + + getCurrSceneSc2MotionController()->enableLinks(sO_CloseThing1, 0); + getCurrSceneSc2MotionController()->enableLinks(sO_CloseThing2, 1); + getCurrSceneSc2MotionController()->enableLinks(sO_CloseThing3, 0); + + getCurrSceneSc2MotionController()->replaceNodeX(905, 805); } void sceneHandler11_winArcade() { @@ -629,7 +644,8 @@ int sceneHandler11(ExCommand *cmd) { && g_vars->scene11_var19)) { if (!g_vars->scene11_swingie->_movement) { if ((g_vars->scene11_boots->_flags & 4) && g_vars->scene11_boots->_statics->_staticsId == ST_BTS11_2) { - sceneHandler11_sub07(); + sceneHandler11_swingerJumpDown(); + g_fp->_behaviorManager->updateBehaviors(); g_fp->startSceneTrack(); return res; |