aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/fullpipe/constants.h1
-rw-r--r--engines/fullpipe/scenes/scene13.cpp22
2 files changed, 21 insertions, 2 deletions
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index dc50b565a6..5214c97145 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -558,6 +558,7 @@ namespace Fullpipe {
#define QU_SC13_OPENSUCCESS 3047
#define QU_SC13_SHOWGUM 1216
#define QU_STR_CHEW 1190
+#define QU_STR_PLUU 1189
#define SND_13_018 3763
#define SND_13_033 4685
#define SND_13_034 4686
diff --git a/engines/fullpipe/scenes/scene13.cpp b/engines/fullpipe/scenes/scene13.cpp
index 2df5d1ad9e..5689918dac 100644
--- a/engines/fullpipe/scenes/scene13.cpp
+++ b/engines/fullpipe/scenes/scene13.cpp
@@ -179,7 +179,18 @@ void sceneHandler13_openFast() {
}
void sceneHandler13_uneatGum() {
- warning("STUB: sceneHandler13_uneatGum()");
+ BehaviorEntryInfo *beh = g_fp->_behaviorManager->getBehaviorEntryInfoByMessageQueueDataId(g_vars->scene13_guard, ST_STR_RIGHT, QU_STR_CHEW);
+
+ if (beh) {
+ beh->_percent = 0;
+ beh->_delay = 36;
+ }
+
+ beh = g_fp->_behaviorManager->getBehaviorEntryInfoByMessageQueueDataId(g_vars->scene13_guard, ST_STR_RIGHT, QU_STR_PLUU);
+ if (beh) {
+ beh->_percent = 0;
+ beh->_delay = 36;
+ }
}
void sceneHandler13_eatGum() {
@@ -192,7 +203,14 @@ void sceneHandler13_eatGum() {
}
void sceneHandler13_updateBridge() {
- warning("STUB: sceneHandler13_updateBridge()");
+ MovGraphLink *lnk = getCurrSceneSc2MotionController()->getLinkByName(sO_Bridge);
+
+ if (lnk) {
+ if (g_fp->getObjectState(sO_Bridge) == g_fp->getObjectEnumState(sO_Bridge, sO_Convoluted))
+ lnk->_flags |= 0x20000000;
+ else
+ lnk->_flags &= 0xDFFFFFFF;
+ }
}
void sceneHandler13_showGum() {