diff options
-rw-r--r-- | engines/fullpipe/constants.h | 3 | ||||
-rw-r--r-- | engines/fullpipe/scenes.cpp | 4 | ||||
-rw-r--r-- | engines/fullpipe/scenes.h | 4 | ||||
-rw-r--r-- | engines/fullpipe/scenes/scene24.cpp | 33 |
4 files changed, 31 insertions, 13 deletions
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h index 53af8c6ff3..5f45ba02c4 100644 --- a/engines/fullpipe/constants.h +++ b/engines/fullpipe/constants.h @@ -555,6 +555,9 @@ namespace Fullpipe { #define ANI_DROP_24 3505 #define ANI_JET24 1837 #define ANI_WATER24 1834 +#define MV_WTR24_FLOW 1835 +#define MV_WTR24_FLOWLOWER 1844 +#define MV_JET24_FLOW 1838 #define QU_DRP24_TOFLOOR 3510 #define QU_DRP24_TOWATER 3509 #define QU_DRP24_TOWATER2 4046 diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp index c3bddf5570..c744cd2ca6 100644 --- a/engines/fullpipe/scenes.cpp +++ b/engines/fullpipe/scenes.cpp @@ -195,10 +195,6 @@ Vars::Vars() { scene15_ladder = 0; scene15_boot = 0; - scene24_var01 = 0; - scene24_var02 = 0; - scene24_var03 = 0; - scene24_var04 = 0; scene24_var05 = 0; scene24_var06 = 0; scene24_var07 = 0; diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h index 9788a2e2d9..211dd072c0 100644 --- a/engines/fullpipe/scenes.h +++ b/engines/fullpipe/scenes.h @@ -259,10 +259,6 @@ public: PictureObject *scene15_ladder; StaticANIObject *scene15_boot; - int scene24_var01; - int scene24_var02; - int scene24_var03; - int scene24_var04; int scene24_var05; int scene24_var06; int scene24_var07; diff --git a/engines/fullpipe/scenes/scene24.cpp b/engines/fullpipe/scenes/scene24.cpp index dc92044077..4b141a3db6 100644 --- a/engines/fullpipe/scenes/scene24.cpp +++ b/engines/fullpipe/scenes/scene24.cpp @@ -37,11 +37,6 @@ namespace Fullpipe { void scene24_initScene(Scene *sc) { - g_vars->scene24_var01 = 200; - g_vars->scene24_var02 = 200; - g_vars->scene24_var03 = 300; - g_vars->scene24_var04 = 300; - g_vars->scene24_water = sc->getStaticANIObject1ById(ANI_WATER24, -1); g_vars->scene24_jet = sc->getStaticANIObject1ById(ANI_JET24, -1); g_vars->scene24_drop = sc->getStaticANIObject1ById(ANI_DROP_24, -1); @@ -103,4 +98,32 @@ void scene24_setPoolState() { } } +int sceneHandler24(ExCommand *cmd) { + if (cmd->_messageKind == 17 && cmd->_messageNum == 33) { + if (g_fp->_aniMan2) { + int x = g_fp->_aniMan2->_ox; + + if (x < g_fp->_sceneRect.left + 200) { + g_fp->_currentScene->_x = x - 300 - g_fp->_sceneRect.left; + } + if (x > g_fp->_sceneRect.right - 200) + g_fp->_currentScene->_x = x + 300 - g_fp->_sceneRect.right; + } + + if (g_vars->scene24_var07 && !g_vars->scene24_water->_movement) { + if (g_vars->scene24_var06) + g_vars->scene24_water->startAnim(MV_WTR24_FLOWLOWER, 0, -1); + else + g_vars->scene24_water->startAnim(MV_WTR24_FLOW, 0, -1); + } + + if (g_vars->scene24_var05 && !g_vars->scene24_jet->_movement) + g_vars->scene24_jet->startAnim(MV_JET24_FLOW, 0, -1); + + g_fp->_behaviorManager->updateBehaviors(); + } + + return 0; +} + } // End of namespace Fullpipe |