From b433752ab5f050a3e9f3656c9c54d0cd42f1ff34 Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Tue, 7 Jan 2014 02:03:39 +0200 Subject: FULLPIPE: Implement sceneHandler28_lift*Start() --- engines/fullpipe/constants.h | 3 +++ engines/fullpipe/scenes/scene28.cpp | 23 ++++++++++++++++++++--- 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) { -- cgit v1.2.3