aboutsummaryrefslogtreecommitdiff
path: root/engines/fullpipe/scenes/scene13.cpp
diff options
context:
space:
mode:
authorEugene Sandulenko2013-12-30 00:22:19 +0200
committerEugene Sandulenko2013-12-30 00:22:19 +0200
commit58ffa21c29b48a8950fe49811b817ad2a863ca37 (patch)
tree6283470af7678a9b928dc0f0fb3417e881c0c919 /engines/fullpipe/scenes/scene13.cpp
parenta57e2428ecae767ac805e2264d54f0a74213fee5 (diff)
downloadscummvm-rg350-58ffa21c29b48a8950fe49811b817ad2a863ca37.tar.gz
scummvm-rg350-58ffa21c29b48a8950fe49811b817ad2a863ca37.tar.bz2
scummvm-rg350-58ffa21c29b48a8950fe49811b817ad2a863ca37.zip
FULLPIPE: More code to scene13
Diffstat (limited to 'engines/fullpipe/scenes/scene13.cpp')
-rw-r--r--engines/fullpipe/scenes/scene13.cpp30
1 files changed, 24 insertions, 6 deletions
diff --git a/engines/fullpipe/scenes/scene13.cpp b/engines/fullpipe/scenes/scene13.cpp
index d46f73b5e5..2080bb0f1b 100644
--- a/engines/fullpipe/scenes/scene13.cpp
+++ b/engines/fullpipe/scenes/scene13.cpp
@@ -113,19 +113,32 @@ void sceneHandler13_closeBridge() {
}
void sceneHandler13_closeFast() {
- warning("STUB: sceneHandler13_closeFast()");
+ g_vars->scene13_bridge->changeStatics2(ST_BDG_OPEN2);
+ g_vars->scene13_bridge->startAnim(MV_BDG_CLOSE, 0, -1);
+ g_vars->scene13_bridge->_movement->setDynamicPhaseIndex(21);
}
void sceneHandler13_stopWhirlgig() {
- warning("STUB: sceneHandler13_stopWhirlgig()");
+ g_vars->scene13_whirlgig->_callback2 = 0;
+
+ g_fp->stopAllSoundInstances(SND_13_018);
+ g_fp->playSound(SND_13_033, 0);
+ g_fp->playSound(SND_13_037, 1);
}
void sceneHandler13_startWhirlgig() {
- warning("STUB: sceneHandler13_startWhirlgig()");
+ g_vars->scene13_whirlgig->_callback2 = 0;
+
+ g_fp->playSound(SND_13_018, 1);
+ g_fp->playSound(SND_13_034, 0);
+
+ g_fp->stopAllSoundInstances(SND_13_037);
}
void sceneHandler13_openFast() {
- warning("STUB: sceneHandler13_openFast()");
+ g_vars->scene13_bridge->changeStatics2(ST_BDG_CLOSED);
+ g_vars->scene13_bridge->startAnim(MV_BDG_OPEN, 0, -1);
+ g_vars->scene13_bridge->_movement->setDynamicPhaseIndex(15);
}
void sceneHandler13_uneatGum() {
@@ -133,7 +146,12 @@ void sceneHandler13_uneatGum() {
}
void sceneHandler13_eatGum() {
- warning("STUB: sceneHandler13_eatGum()");
+ BehaviorEntryInfo *beh = g_fp->_behaviorManager->getBehaviorEntryInfoByMessageQueueDataId(g_vars->scene13_guard, ST_STR_RIGHT, QU_STR_CHEW);
+
+ if (beh) {
+ beh->_percent = 10922;
+ beh->_delay = 0;
+ }
}
void sceneHandler13_updateBridge() {
@@ -141,7 +159,7 @@ void sceneHandler13_updateBridge() {
}
void sceneHandler13_showGum() {
- warning("STUB: sceneHandler13_showGum()");
+ chainQueue(QU_SC13_SHOWGUM, 0);
}
void sceneHandler13_sub01(bool flag) {