aboutsummaryrefslogtreecommitdiff
path: root/engines/fullpipe/scenes
diff options
context:
space:
mode:
authorEugene Sandulenko2014-03-29 23:47:27 +0200
committerEugene Sandulenko2014-03-29 23:47:27 +0200
commit4332d9263b5ad7639c2f7644038d1476c07dfc0d (patch)
tree50f0b3e39c522f124902dd7de0abca4355bef12e /engines/fullpipe/scenes
parent7a3dd1dbbf5a34ad2b9edbfbe680ec09dd7ab734 (diff)
downloadscummvm-rg350-4332d9263b5ad7639c2f7644038d1476c07dfc0d.tar.gz
scummvm-rg350-4332d9263b5ad7639c2f7644038d1476c07dfc0d.tar.bz2
scummvm-rg350-4332d9263b5ad7639c2f7644038d1476c07dfc0d.zip
FULLPIPE: Implement sceneHandler29_sub15()
Diffstat (limited to 'engines/fullpipe/scenes')
-rw-r--r--engines/fullpipe/scenes/scene29.cpp20
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()");
}