diff options
Diffstat (limited to 'engines')
-rw-r--r-- | engines/fullpipe/constants.h | 8 | ||||
-rw-r--r-- | engines/fullpipe/scenes/scene34.cpp | 17 |
2 files changed, 23 insertions, 2 deletions
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h index cfd0dc6edb..89760e0cda 100644 --- a/engines/fullpipe/constants.h +++ b/engines/fullpipe/constants.h @@ -1154,15 +1154,23 @@ namespace Fullpipe { #define MSG_SC34_SHOWVENT 2481 #define MSG_SC34_TESTVENT 2557 #define MSG_SC34_UNCLIMB 2492 +#define MV_MAN34_TURNVENT_L 4307 +#define MV_MAN34_TURNVENT_R 2500 #define QU_SC34_ENTERLIFT 2819 #define QU_SC34_EXITLIFT 2820 #define QU_SC34_FROMCACTUS 4312 #define QU_SC34_SHOWSTOOL 2496 #define QU_CTS34_FALLEFT 4316 #define QU_CTS34_FALLRIGHT 4317 +#define QU_LUK34_CLOSE 2547 +#define QU_LUK34_OPEN 2546 #define ST_CTS34_EMPTY 2383 #define ST_CTS34_GROWNEMPTY2 2475 +#define ST_LUK34_CLOSED 2543 +#define ST_LUK34_OPEN 2544 #define ST_STL34_BOX2 4305 +#define ST_VNT34_RIGHT3 4318 +#define ST_VNT34_UP2 4310 // Scene 36 #define ANI_SCISSORS_36 2647 diff --git a/engines/fullpipe/scenes/scene34.cpp b/engines/fullpipe/scenes/scene34.cpp index ad8c41a50f..edc3783d2d 100644 --- a/engines/fullpipe/scenes/scene34.cpp +++ b/engines/fullpipe/scenes/scene34.cpp @@ -137,7 +137,15 @@ void sceneHandler34_onBoard() { } void sceneHandler34_testVent() { - warning("STUB: sceneHandler34_testVent()"); + if (g_fp->_aniMan->_movement->_id == MV_MAN34_TURNVENT_R) { + g_vars->scene34_hatch->changeStatics2(ST_LUK34_CLOSED); + + chainQueue(QU_LUK34_OPEN, 0); + } else if (g_fp->_aniMan->_movement->_id == MV_MAN34_TURNVENT_L) { + g_vars->scene34_hatch->changeStatics2(ST_LUK34_OPEN); + + chainQueue(QU_LUK34_CLOSE, 0); + } } void sceneHandler34_hideStool() { @@ -191,7 +199,12 @@ void sceneHandler34_sub01(ExCommand *cmd) { } void sceneHandler34_showVent() { - warning("STUB: sceneHandler34_showVent()"); + if (g_vars->scene34_vent->_statics->_staticsId == ST_VNT34_UP2) + g_vars->scene34_vent->changeStatics2(ST_VNT34_RIGHT3); + else if (g_vars->scene34_vent->_statics->_staticsId == ST_VNT34_RIGHT3) + g_vars->scene34_vent->changeStatics2(ST_VNT34_UP2); + + g_vars->scene34_vent->show1(-1, -1, -1, 0); } void sceneHandler34_showBox() { |