From 4332d9263b5ad7639c2f7644038d1476c07dfc0d Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Sat, 29 Mar 2014 23:47:27 +0200 Subject: FULLPIPE: Implement sceneHandler29_sub15() --- engines/fullpipe/scenes/scene29.cpp | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'engines/fullpipe/scenes') 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()"); } -- cgit v1.2.3