aboutsummaryrefslogtreecommitdiff
path: root/engines/fullpipe
diff options
context:
space:
mode:
Diffstat (limited to 'engines/fullpipe')
-rw-r--r--engines/fullpipe/constants.h3
-rw-r--r--engines/fullpipe/scenes/scene28.cpp23
2 files changed, 23 insertions, 3 deletions
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index bef369ec92..46035822fc 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -981,6 +981,7 @@ namespace Fullpipe {
#define ANI_LIFT 982
#define ANI_LIFT_28 4238
#define ANI_MAN_28 4247
+#define ANI_TIOTIA 4286
#define MSG_SC28_CLICKLIFT 4258
#define MSG_SC28_ENDCABIN 3456
#define MSG_SC28_ENDLIFT1 4259
@@ -1018,6 +1019,8 @@ namespace Fullpipe {
#define QU_SC28_LIFT5_START 4674
#define QU_SC28_LIFT6_END 3563
#define QU_SC28_LIFT6_START 4243
+#define QU_SC28_LIFT6_START2 4295
+#define QU_SC28_WMN_START 3452
// Scene 30
#define ANI_LEG 2322
diff --git a/engines/fullpipe/scenes/scene28.cpp b/engines/fullpipe/scenes/scene28.cpp
index d55cb3336c..bc7b7d26cc 100644
--- a/engines/fullpipe/scenes/scene28.cpp
+++ b/engines/fullpipe/scenes/scene28.cpp
@@ -93,7 +93,11 @@ void sceneHandler28_lift0Start() {
}
void sceneHandler28_lift1Start() {
- warning("STUB: sceneHandler28_lift1Start()");
+ g_fp->_aniMan->_flags |= 1;
+
+ g_fp->_behaviorManager->setFlagByStaticAniObject(g_fp->_aniMan, 0);
+
+ chainQueue(QU_SC28_LIFT1_START, 1);
}
void sceneHandler28_lift2Start() {
@@ -105,7 +109,11 @@ void sceneHandler28_lift3Start() {
}
void sceneHandler28_lift4Start() {
- warning("STUB: sceneHandler28_lift4Start()");
+ g_fp->_aniMan->_flags |= 1;
+
+ g_fp->_behaviorManager->setFlagByStaticAniObject(g_fp->_aniMan, 0);
+
+ chainQueue(QU_SC28_WMN_START, 1);
}
void sceneHandler28_lift5Start() {
@@ -113,7 +121,16 @@ void sceneHandler28_lift5Start() {
}
void sceneHandler28_lift6Start() {
- warning("STUB: sceneHandler28_lift6Start()");
+ g_fp->_aniMan->_flags |= 1;
+
+ g_fp->_behaviorManager->setFlagByStaticAniObject(g_fp->_aniMan, 0);
+
+ StaticANIObject *woman = g_fp->_currentScene->getStaticANIObject1ById(ANI_TIOTIA, -1);
+
+ if (woman && (woman->_flags & 4))
+ chainQueue(QU_SC28_LIFT6_START2, 1);
+ else
+ chainQueue(QU_SC28_LIFT6_START, 1);
}
void sceneHandler28_clickLift(int keycode) {