aboutsummaryrefslogtreecommitdiff
path: root/engines/fullpipe/scenes/scene13.cpp
diff options
context:
space:
mode:
authorEugene Sandulenko2013-12-30 00:43:06 +0200
committerEugene Sandulenko2013-12-30 00:43:06 +0200
commit562d539db9ecb8690006236449c78335fab8f120 (patch)
tree3470e99a3338e50dcb46737b6246bb234ee0a9d2 /engines/fullpipe/scenes/scene13.cpp
parentc0c8be7dce0f0109ec51d3ca6302165a6da91bc1 (diff)
downloadscummvm-rg350-562d539db9ecb8690006236449c78335fab8f120.tar.gz
scummvm-rg350-562d539db9ecb8690006236449c78335fab8f120.tar.bz2
scummvm-rg350-562d539db9ecb8690006236449c78335fab8f120.zip
FULLPIPE: implement sceneHandler13_uneatGum()/updateBridge()
Diffstat (limited to 'engines/fullpipe/scenes/scene13.cpp')
-rw-r--r--engines/fullpipe/scenes/scene13.cpp22
1 files changed, 20 insertions, 2 deletions
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() {