diff options
-rw-r--r-- | engines/fullpipe/constants.h | 2 | ||||
-rw-r--r-- | engines/fullpipe/scenes/scene05.cpp | 27 |
2 files changed, 27 insertions, 2 deletions
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h index d2e295f0ae..be47e0d264 100644 --- a/engines/fullpipe/constants.h +++ b/engines/fullpipe/constants.h @@ -117,6 +117,8 @@ namespace Fullpipe { #define MSG_TAKEKOZAW 611 #define MSG_TESTPLANK 538 #define MSG_UPDATEBOTTLE 613 +#define MV_BLK_CLOSE 911 +#define MV_BLK_OPEN 910 #define MV_EGTR_FATASK 5332 #define MV_IN1MAN_SLEEP 5111 #define MV_KZW_GOR 564 diff --git a/engines/fullpipe/scenes/scene05.cpp b/engines/fullpipe/scenes/scene05.cpp index 4b61f5b187..cbeb6c4faf 100644 --- a/engines/fullpipe/scenes/scene05.cpp +++ b/engines/fullpipe/scenes/scene05.cpp @@ -121,12 +121,30 @@ void sceneHandler05_makeWackoFeedback() { } } +void sceneHandler05_resetTicks() { + if (g_fullpipe->_aniMan->_movement && (g_fullpipe->_aniMan->_movement->_id == MV_MANHDL_HANDLEUP + || g_fullpipe->_aniMan->_movement->_id == MV_MANHDL_HANDLEDOWN)) + g_vars->scene05_var01 = g_fullpipe->_updateTicks; + else + g_vars->scene05_var01 = 0; +} + +void sceneHandler05_genFlies() { + warning("STUB: sceneHandler05_genFlies()"); +} + void sceneHandler05_showHandle() { g_fullpipe->_currentScene->getStaticANIObject1ById(ANI_HANDLE, -1)->show1(-1, -1, -1, 0); } void sceneHandler05_handleDown() { - warning("STUB: sceneHandler05_handleDown()"); + StaticANIObject *hatch = g_fullpipe->_currentScene->getStaticANIObject1ById(ANI_BIGLUK, -1); + + hatch->changeStatics2(ST_BLK_CLOSED); + hatch->startAnim(MV_BLK_OPEN, 0, -1); + + sceneHandler05_resetTicks(); + sceneHandler05_genFlies(); } void sceneHandler05_hideHandle() { @@ -134,7 +152,12 @@ void sceneHandler05_hideHandle() { } void sceneHandler05_handleUp() { - warning("STUB: sceneHandler05_handleUp()"); + StaticANIObject *hatch = g_fullpipe->_currentScene->getStaticANIObject1ById(ANI_BIGLUK, -1); + + hatch->changeStatics2(ST_BLK_OPEN); + hatch->startAnim(MV_BLK_CLOSE, 0, -1); + + sceneHandler05_resetTicks(); } void sceneHandler05_testHatch(ExCommand *ex) { |