diff options
author | Eugene Sandulenko | 2014-03-29 23:47:27 +0200 |
---|---|---|
committer | Eugene Sandulenko | 2014-03-29 23:47:27 +0200 |
commit | 4332d9263b5ad7639c2f7644038d1476c07dfc0d (patch) | |
tree | 50f0b3e39c522f124902dd7de0abca4355bef12e | |
parent | 7a3dd1dbbf5a34ad2b9edbfbe680ec09dd7ab734 (diff) | |
download | scummvm-rg350-4332d9263b5ad7639c2f7644038d1476c07dfc0d.tar.gz scummvm-rg350-4332d9263b5ad7639c2f7644038d1476c07dfc0d.tar.bz2 scummvm-rg350-4332d9263b5ad7639c2f7644038d1476c07dfc0d.zip |
FULLPIPE: Implement sceneHandler29_sub15()
-rw-r--r-- | engines/fullpipe/scenes/scene29.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/engines/fullpipe/scenes/scene29.cpp b/engines/fullpipe/scenes/scene29.cpp index 556e04ba40..9e63ee803f 100644 --- a/engines/fullpipe/scenes/scene29.cpp +++ b/engines/fullpipe/scenes/scene29.cpp @@ -211,6 +211,26 @@ void sceneHandler29_manBend() { g_vars->scene29_var21 = g_fp->_aniMan->_oy; } +bool sceneHandler29_sub15(StaticANIObject *ani, int maxx) { + if (!g_vars->scene29_var10 || g_vars->scene29_var15) + return false; + + if ((ani->_ox >= g_vars->scene29_var20 + 42 || ani->_ox <= g_vars->scene29_var20 + 8) + && (ani->_ox < g_vars->scene29_var20 + 8 || maxx > g_vars->scene29_var20 + 27)) + return false; + + if (!g_fp->_aniMan->_movement) + return true; + + int phase = g_fp->_aniMan->_movement->_currDynamicPhaseIndex; + + if (g_fp->_aniMan->_movement->_id != MV_MAN29_BEND && g_fp->_aniMan->_movement->_id != MV_MAN29_RUN + && (g_fp->_aniMan->_movement->_id != MV_MAN29_JUMP || (phase >= 3 && phase <= 6))) + return false; + else + return true; +} + void sceneHandler29_sub03() { warning("STUB: sceneHandler29_sub03()"); } |