diff options
author | Eugene Sandulenko | 2014-03-30 16:17:49 +0300 |
---|---|---|
committer | Eugene Sandulenko | 2014-03-30 16:18:22 +0300 |
commit | a08624c791ccc73a9d75eceaa2e7ff19ccac0158 (patch) | |
tree | b6425fa13fba892b7317364dcd6778ef0656b392 | |
parent | d91c8b9add255828bb363020077d91a49ebe3d99 (diff) | |
download | scummvm-rg350-a08624c791ccc73a9d75eceaa2e7ff19ccac0158.tar.gz scummvm-rg350-a08624c791ccc73a9d75eceaa2e7ff19ccac0158.tar.bz2 scummvm-rg350-a08624c791ccc73a9d75eceaa2e7ff19ccac0158.zip |
FULLPIPE: Implement sceneHandler29_sub16()
-rw-r--r-- | engines/fullpipe/scenes/scene29.cpp | 34 |
1 files changed, 34 insertions, 0 deletions
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()"); } |