From 5822ce9659c341d3adb3c8c8483d1c6d2df914d8 Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Sat, 28 Dec 2013 22:28:54 +0200 Subject: FULLPIPE: Complete scene24 --- engines/fullpipe/scenes.cpp | 8 +++++--- engines/fullpipe/scenes.h | 10 +++++++--- engines/fullpipe/scenes/scene24.cpp | 18 +++++++++--------- 3 files changed, 21 insertions(+), 15 deletions(-) diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp index c744cd2ca6..a8e96a14fd 100644 --- a/engines/fullpipe/scenes.cpp +++ b/engines/fullpipe/scenes.cpp @@ -195,9 +195,9 @@ Vars::Vars() { scene15_ladder = 0; scene15_boot = 0; - scene24_var05 = 0; - scene24_var06 = 0; - scene24_var07 = 0; + scene24_jetIsOn = false; + scene24_flowIsLow = false; + scene24_waterIsOn = false; scene24_water = 0; scene24_jet = 0; scene24_drop = 0; @@ -612,6 +612,7 @@ bool FullpipeEngine::sceneSwitcher(EntranceInfo *entrance) { scene23_sub_423B00(); _updateCursorCallback = scene23_updateCursor; break; +#endif case SC_24: sceneVar = _gameLoader->_gameVar->getSubVarByName("SC_24"); @@ -625,6 +626,7 @@ bool FullpipeEngine::sceneSwitcher(EntranceInfo *entrance) { _updateCursorCallback = defaultUpdateCursor; break; +#if 0 case SC_25: sceneVar = _gameLoader->_gameVar->getSubVarByName("SC_25"); scene->preloadMovements(sceneVar); diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h index 211dd072c0..88ad5e75a1 100644 --- a/engines/fullpipe/scenes.h +++ b/engines/fullpipe/scenes.h @@ -84,6 +84,10 @@ int scene15_updateCursor(); void scene15_initScene(Scene *sc); int sceneHandler15(ExCommand *cmd); +void scene24_initScene(Scene *sc); +void scene24_setPoolState(); +int sceneHandler24(ExCommand *cmd); + void sceneDbgMenu_initScene(Scene *sc); int sceneHandlerDbgMenu(ExCommand *cmd); @@ -259,9 +263,9 @@ public: PictureObject *scene15_ladder; StaticANIObject *scene15_boot; - int scene24_var05; - int scene24_var06; - int scene24_var07; + bool scene24_jetIsOn; + bool scene24_flowIsLow; + bool scene24_waterIsOn; StaticANIObject *scene24_water; StaticANIObject *scene24_jet; StaticANIObject *scene24_drop; diff --git a/engines/fullpipe/scenes/scene24.cpp b/engines/fullpipe/scenes/scene24.cpp index 4b141a3db6..7ab0d94296 100644 --- a/engines/fullpipe/scenes/scene24.cpp +++ b/engines/fullpipe/scenes/scene24.cpp @@ -49,26 +49,26 @@ void scene24_initScene(Scene *sc) { g_fp->_currentScene = sc; if (g_fp->getObjectState(sO_Pool) == g_fp->getObjectEnumState(sO_Pool, sO_Overfull)) { - g_vars->scene24_var05 = 1; - g_vars->scene24_var06 = 0; + g_vars->scene24_jetIsOn = true; + g_vars->scene24_flowIsLow = false; } else { g_vars->scene24_jet->hide(); - g_vars->scene24_var05 = 0; + g_vars->scene24_jetIsOn = false; g_vars->scene24_water->changeStatics2(ST_WTR24_FLOWLOWER); - g_vars->scene24_var06 = 1; + g_vars->scene24_flowIsLow = true; } if (g_fp->getObjectState(sO_Pool) < g_fp->getObjectEnumState(sO_Pool, sO_Full)) { - g_vars->scene24_var07 = 0; + g_vars->scene24_waterIsOn = false; g_vars->scene24_water->hide(); g_fp->setObjectState(sO_StairsDown_24, g_fp->getObjectEnumState(sO_StairsDown_24, sO_IsOpened)); } else { - g_vars->scene24_var07 = 1; + g_vars->scene24_waterIsOn = true; g_fp->setObjectState(sO_StairsDown_24, g_fp->getObjectEnumState(sO_StairsDown_24, sO_IsClosed)); } @@ -110,14 +110,14 @@ int sceneHandler24(ExCommand *cmd) { 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) + if (g_vars->scene24_waterIsOn && !g_vars->scene24_water->_movement) { + if (g_vars->scene24_flowIsLow) 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) + if (g_vars->scene24_jetIsOn && !g_vars->scene24_jet->_movement) g_vars->scene24_jet->startAnim(MV_JET24_FLOW, 0, -1); g_fp->_behaviorManager->updateBehaviors(); -- cgit v1.2.3