aboutsummaryrefslogtreecommitdiff
path: root/engines/fullpipe/scenes/scene13.cpp
diff options
context:
space:
mode:
authorEugene Sandulenko2013-12-30 00:12:43 +0200
committerEugene Sandulenko2013-12-30 00:12:43 +0200
commita57e2428ecae767ac805e2264d54f0a74213fee5 (patch)
tree1c581ac96f5290997a339b9898b80aa3fd583467 /engines/fullpipe/scenes/scene13.cpp
parentec6da5a4503ea4bc773bdc2643578d5555d13c18 (diff)
downloadscummvm-rg350-a57e2428ecae767ac805e2264d54f0a74213fee5.tar.gz
scummvm-rg350-a57e2428ecae767ac805e2264d54f0a74213fee5.tar.bz2
scummvm-rg350-a57e2428ecae767ac805e2264d54f0a74213fee5.zip
FULLPIPE: Implement sceneHandler13_closeBridge()
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() {