diff options
-rw-r--r-- | engines/fullpipe/scenes/scene16.cpp | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/engines/fullpipe/scenes/scene16.cpp b/engines/fullpipe/scenes/scene16.cpp index 23030a30c4..818b479a3b 100644 --- a/engines/fullpipe/scenes/scene16.cpp +++ b/engines/fullpipe/scenes/scene16.cpp @@ -162,8 +162,25 @@ void sceneHandler16_startLaugh() { warning("STUB: sceneHandler16_startLaugh()"); } +void sceneHandler16_sub02() { + warning("STUB: sceneHandler16_sub02()"); +} + void sceneHandler16_mugClick() { - warning("STUB: sceneHandler16_mugClick()"); + if (abs(310 - g_fp->_aniMan->_ox) >= 1 || abs(449 - g_fp->_aniMan->_oy) >= 1 + || g_fp->_aniMan->_movement || g_fp->_aniMan->_statics->_staticsId != ST_MAN_RIGHT) { + MessageQueue *mq = getCurrSceneSc2MotionController()->method34(g_fp->_aniMan, 310, 449, 1, ST_MAN_RIGHT); + + if (mq) { + ExCommand *ex = new ExCommand(0, 17, MSG_SC16_MUGCLICK, 0, 0, 0, 1, 0, 0, 0); + ex->_excFlags = 2; + mq->addExCommandToEnd(ex); + + postExCommand(g_fp->_aniMan->_id, 2, 310, 449, 0, -1); + } + } else { + sceneHandler16_sub02(); + } } void sceneHandler16_showMan() { @@ -200,10 +217,6 @@ void sceneHandler16_sub01() { warning("STUB: sceneHandler16_sub01()"); } -void sceneHandler16_sub02() { - warning("STUB: sceneHandler16_sub02()"); -} - void sceneHandler16_girlROTFL() { StaticANIObject *girl = g_fp->_currentScene->getStaticANIObject1ById(ANI_GIRL, -1); |