aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEugene Sandulenko2014-01-18 12:06:05 +0200
committerEugene Sandulenko2014-01-18 12:06:05 +0200
commitd122b201d6db593db48f0b8d0bc648cc112d2d85 (patch)
tree985063f48d2a2e56c39fe86c8561b84464e4f742
parent8a229f5a665037d0cdf65ae77c818b7c92cd19e8 (diff)
downloadscummvm-rg350-d122b201d6db593db48f0b8d0bc648cc112d2d85.tar.gz
scummvm-rg350-d122b201d6db593db48f0b8d0bc648cc112d2d85.tar.bz2
scummvm-rg350-d122b201d6db593db48f0b8d0bc648cc112d2d85.zip
FULLPIPE: Implement sceneHandler37_setRingsState()
-rw-r--r--engines/fullpipe/scenes/scene37.cpp20
1 files changed, 19 insertions, 1 deletions
diff --git a/engines/fullpipe/scenes/scene37.cpp b/engines/fullpipe/scenes/scene37.cpp
index 9bbc6ea901..a20eaab4ca 100644
--- a/engines/fullpipe/scenes/scene37.cpp
+++ b/engines/fullpipe/scenes/scene37.cpp
@@ -165,7 +165,25 @@ void sceneHandler37_updateRing(int num) {
}
void sceneHandler37_setRingsState() {
- warning("STUB: sceneHandler37_setRingsState()");
+ if (g_vars->scene37_var06 == -1) {
+ g_vars->scene37_var06 = g_vars->scene37_var10;
+ } else {
+ for (int i = 0; i < g_vars->scene37_var05.size(); i++) {
+ int x = g_vars->scene37_var05[i]->x;
+
+ if (g_vars->scene37_var06 > x && g_vars->scene37_var10 <= x && !g_vars->scene37_var05[i]->state)
+ sceneHandler37_updateRing(i);
+
+ x = g_vars->scene37_var05[i]->y;
+
+ if (g_vars->scene37_var06 < x && g_vars->scene37_var10 >= x) {
+ if (g_vars->scene37_var05[i]->state)
+ sceneHandler37_updateRing(i);
+ }
+ }
+
+ g_vars->scene37_var06 = g_vars->scene37_var10;
+ }
}
int sceneHandler37(ExCommand *cmd) {