aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
Diffstat (limited to 'engines')
-rw-r--r--engines/fullpipe/constants.h8
-rw-r--r--engines/fullpipe/scenes/scene34.cpp17
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() {