From a08624c791ccc73a9d75eceaa2e7ff19ccac0158 Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Sun, 30 Mar 2014 16:17:49 +0300 Subject: FULLPIPE: Implement sceneHandler29_sub16() --- engines/fullpipe/scenes/scene29.cpp | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/engines/fullpipe/scenes/scene29.cpp b/engines/fullpipe/scenes/scene29.cpp index 9e63ee803f..13da04da38 100644 --- a/engines/fullpipe/scenes/scene29.cpp +++ b/engines/fullpipe/scenes/scene29.cpp @@ -231,6 +231,40 @@ bool sceneHandler29_sub15(StaticANIObject *ani, int maxx) { return true; } +bool sceneHandler29_sub16(StaticANIObject *ani, int maxx) { + if (!g_vars->scene29_var10 || g_vars->scene29_var15) + return false; + + if (ani->_ox >= g_vars->scene29_var20 + 40) { + if (maxx > g_vars->scene29_var20 + 27) + return false; + } else { + if (ani->_ox <= g_vars->scene29_var20 + 10) { + if (ani->_ox < g_vars->scene29_var20 + 40) + return false; + + if (maxx > g_vars->scene29_var20 + 27) + return false; + } + } + + if (!g_fp->_aniMan->_movement) + return true; + + if (g_fp->_aniMan->_movement->_id == MV_MAN29_JUMP) + return true; + + if (g_fp->_aniMan->_movement->_id == MV_MAN29_RUN) + return true; + + if (g_fp->_aniMan->_movement->_id == MV_MAN29_BEND) { + if (g_fp->_aniMan->_movement->_currDynamicPhaseIndex < 1 || g_fp->_aniMan->_movement->_currDynamicPhaseIndex > 5) + return true; + } + + return false; +} + void sceneHandler29_sub03() { warning("STUB: sceneHandler29_sub03()"); } -- cgit v1.2.3