aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEugene Sandulenko2014-03-30 16:17:49 +0300
committerEugene Sandulenko2014-03-30 16:18:22 +0300
commita08624c791ccc73a9d75eceaa2e7ff19ccac0158 (patch)
treeb6425fa13fba892b7317364dcd6778ef0656b392
parentd91c8b9add255828bb363020077d91a49ebe3d99 (diff)
downloadscummvm-rg350-a08624c791ccc73a9d75eceaa2e7ff19ccac0158.tar.gz
scummvm-rg350-a08624c791ccc73a9d75eceaa2e7ff19ccac0158.tar.bz2
scummvm-rg350-a08624c791ccc73a9d75eceaa2e7ff19ccac0158.zip
FULLPIPE: Implement sceneHandler29_sub16()
-rw-r--r--engines/fullpipe/scenes/scene29.cpp34
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()");
}