aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
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) {