aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorEugene Sandulenko2014-02-18 20:56:37 +0200
committerEugene Sandulenko2014-02-18 20:56:37 +0200
commiteb4d2695ee7df2b8591f30efa2759cac1f57fcd9 (patch)
treeab30878e21f68187329717835e987c5314e43fe8 /engines
parentc998e83eb316a8841847e4c80a8d308f51f3d0fe (diff)
downloadscummvm-rg350-eb4d2695ee7df2b8591f30efa2759cac1f57fcd9.tar.gz
scummvm-rg350-eb4d2695ee7df2b8591f30efa2759cac1f57fcd9.tar.bz2
scummvm-rg350-eb4d2695ee7df2b8591f30efa2759cac1f57fcd9.zip
FULLPIPE: Implement sceneHandler09_limitHangerPhase()
Diffstat (limited to 'engines')
-rw-r--r--engines/fullpipe/scenes/scene09.cpp18
1 files changed, 17 insertions, 1 deletions
diff --git a/engines/fullpipe/scenes/scene09.cpp b/engines/fullpipe/scenes/scene09.cpp
index 1ad151a2de..3762a43090 100644
--- a/engines/fullpipe/scenes/scene09.cpp
+++ b/engines/fullpipe/scenes/scene09.cpp
@@ -332,7 +332,23 @@ void sceneHandler09_cycleHangers() {
}
void sceneHandler09_limitHangerPhase() {
- warning("STUB: sceneHandler09_limitHangerPhase()");
+ for (int i = 0; i < g_vars->scene09_numMovingHangers; i++) {
+ if (i != g_vars_scene09_var10) {
+ g_vars_scene09_hangers[i]->phase += g_vars_scene09_hangers[i]->field_8;
+
+ if (g_vars_scene09_hangers[i]->phase > 85)
+ g_vars_scene09_hangers[i]->phase = 85;
+
+ if (g_vars_scene09_hangers[i]->phase < -85)
+ g_vars_scene09_hangers[i]->phase = -85;
+
+ if (g_vars_scene09_hangers[i]->phase < 0)
+ g_vars_scene09_hangers[i]->field_8++;
+
+ if (g_vars_scene09_hangers[i]->phase > 0)
+ g_vars_scene09_hangers[i]->field_8--;
+ }
+ }
}
void sceneHandler09_collideBall(Ball *ball) {