aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/fullpipe/constants.h4
-rw-r--r--engines/fullpipe/scenes/scene33.cpp13
2 files changed, 16 insertions, 1 deletions
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index 16dbe34a4f..5f2b8fe93a 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -1115,9 +1115,13 @@ namespace Fullpipe {
#define MSG_SC33_TESTMUG 5185
#define MSG_SC33_TRYKUBIK 4980
#define MSG_SC33_UPDATEKUBIK 5346
+#define MV_VNT33_TURND 2638
+#define MV_VNT33_TURNR 2641
#define PIC_SC33_LTRUBA 2618
#define PIC_SC33_ZONES 5298
#define QU_KBK33_START 4983
+#define ST_VNT33_DOWN 2640
+#define ST_VNT33_RIGHT 2639
// Scene 36
#define ANI_SCISSORS_36 2647
diff --git a/engines/fullpipe/scenes/scene33.cpp b/engines/fullpipe/scenes/scene33.cpp
index 75192c4840..a5f2ea112c 100644
--- a/engines/fullpipe/scenes/scene33.cpp
+++ b/engines/fullpipe/scenes/scene33.cpp
@@ -88,7 +88,18 @@ void sceneHandler33_processVents() {
}
void sceneHandler33_switchVent(StaticANIObject *ani) {
- warning("STUB: sceneHandler33_switchVent(");
+ int mv = 0;
+
+ if (ani->_statics->_staticsId == ST_VNT33_DOWN)
+ mv = MV_VNT33_TURNR;
+
+ if (ani->_statics->_staticsId == ST_VNT33_RIGHT)
+ mv = MV_VNT33_TURND;
+
+ if (mv)
+ ani->startAnim(mv, 0, -1);
+
+ g_vars->scene33_ventsState[ani->_okeyCode] = !g_vars->scene33_ventsState[ani->_okeyCode];
}
void sceneHandler33_tryCube() {