diff options
-rw-r--r-- | engines/fullpipe/constants.h | 1 | ||||
-rw-r--r-- | engines/fullpipe/scenes/scene09.cpp | 17 |
2 files changed, 18 insertions, 0 deletions
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h index d22e021d00..0bfee05e58 100644 --- a/engines/fullpipe/constants.h +++ b/engines/fullpipe/constants.h @@ -603,6 +603,7 @@ namespace Fullpipe { #define MV_MAN9_SHOOT 922 #define MV_VSN_CYCLE2 2987 #define PIC_SC9_LADDER_R 2700 +#define QU_SC9_EATBALL 942 #define QU_TTA9_GOL 4937 #define SND_9_006 3650 #define SND_9_018 4200 diff --git a/engines/fullpipe/scenes/scene09.cpp b/engines/fullpipe/scenes/scene09.cpp index dc860b1884..44f817f1b6 100644 --- a/engines/fullpipe/scenes/scene09.cpp +++ b/engines/fullpipe/scenes/scene09.cpp @@ -316,6 +316,23 @@ void sceneHandler09_limitHangerPhase() { warning("STUB: sceneHandler09_limitHangerPhase()"); } +void sceneHandler09_collideBall(Ball *ball) { + if (g_vars->scene09_var08) { + g_vars->scene09_flyingBall = ball->ani; + + if (g_vars->scene09_glotatel) { + g_vars->scene09_glotatel->changeStatics2(ST_GLT_SIT); + + MessageQueue *mq = new MessageQueue(g_fp->_currentScene->getMessageQueueById(QU_SC9_EATBALL), 0, 0); + + mq->setFlags(mq->getFlags() | 1); + + if (!mq->chain(g_vars->scene09_glotatel)) + delete mq; + } + } +} + void sceneHandler09_checkHangerCollide() { warning("STUB: sceneHandler09_checkHangerCollide()"); } |