diff options
-rw-r--r-- | engines/fullpipe/scenes/scene09.cpp | 18 |
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) { |