aboutsummaryrefslogtreecommitdiff
path: root/engines/fullpipe
diff options
context:
space:
mode:
authorEugene Sandulenko2014-01-07 02:03:39 +0200
committerEugene Sandulenko2014-01-07 02:20:59 +0200
commitb433752ab5f050a3e9f3656c9c54d0cd42f1ff34 (patch)
treefe7ff679b794216d83948e4857f2e78207060a9b /engines/fullpipe
parent273e4bf6e88f7ce9e17fe375a81239f89106b038 (diff)
downloadscummvm-rg350-b433752ab5f050a3e9f3656c9c54d0cd42f1ff34.tar.gz
scummvm-rg350-b433752ab5f050a3e9f3656c9c54d0cd42f1ff34.tar.bz2
scummvm-rg350-b433752ab5f050a3e9f3656c9c54d0cd42f1ff34.zip
FULLPIPE: Implement sceneHandler28_lift*Start()
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) {