aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/fullpipe/constants.h1
-rw-r--r--engines/fullpipe/scenes/scene09.cpp17
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()");
}