aboutsummaryrefslogtreecommitdiff
path: root/engines/fullpipe/scenes/scene13.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/fullpipe/scenes/scene13.cpp')
-rw-r--r--engines/fullpipe/scenes/scene13.cpp18
1 files changed, 17 insertions, 1 deletions
diff --git a/engines/fullpipe/scenes/scene13.cpp b/engines/fullpipe/scenes/scene13.cpp
index 29e635a815..d46f73b5e5 100644
--- a/engines/fullpipe/scenes/scene13.cpp
+++ b/engines/fullpipe/scenes/scene13.cpp
@@ -93,7 +93,23 @@ void sceneHandler13_testOpen() {
}
void sceneHandler13_closeBridge() {
- warning("STUB: sceneHandler13_closeBridge()");
+ if (g_vars->scene13_bridge->_movement && g_vars->scene13_bridge->_movement->_id == MV_BDG_OPEN) {
+ int sz;
+
+ if (g_vars->scene13_bridge->_movement->_currMovement)
+ sz = g_vars->scene13_bridge->_movement->_currMovement->_dynamicPhases.size();
+ else
+ sz = g_vars->scene13_bridge->_movement->_dynamicPhases.size();
+
+ int curIdx = g_vars->scene13_bridge->_movement->_currDynamicPhaseIndex;
+
+ g_vars->scene13_bridge->changeStatics2(ST_BDG_OPEN2);
+ g_vars->scene13_bridge->startAnim(MV_BDG_CLOSE, 0, -1);
+ g_vars->scene13_bridge->_movement->setDynamicPhaseIndex(sz - curIdx);
+ } else {
+ g_vars->scene13_bridge->changeStatics2(ST_BDG_OPEN2);
+ g_vars->scene13_bridge->startAnim(MV_BDG_CLOSE, 0, -1);
+ }
}
void sceneHandler13_closeFast() {