diff options
author | Eugene Sandulenko | 2014-01-18 12:06:05 +0200 |
---|---|---|
committer | Eugene Sandulenko | 2014-01-18 12:06:05 +0200 |
commit | d122b201d6db593db48f0b8d0bc648cc112d2d85 (patch) | |
tree | 985063f48d2a2e56c39fe86c8561b84464e4f742 /engines/fullpipe | |
parent | 8a229f5a665037d0cdf65ae77c818b7c92cd19e8 (diff) | |
download | scummvm-rg350-d122b201d6db593db48f0b8d0bc648cc112d2d85.tar.gz scummvm-rg350-d122b201d6db593db48f0b8d0bc648cc112d2d85.tar.bz2 scummvm-rg350-d122b201d6db593db48f0b8d0bc648cc112d2d85.zip |
FULLPIPE: Implement sceneHandler37_setRingsState()
Diffstat (limited to 'engines/fullpipe')
-rw-r--r-- | engines/fullpipe/scenes/scene37.cpp | 20 |
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) { |