From a52c6eb5a5c0f80d7991505ff5867f5da43c3b8b Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Mon, 3 Feb 2014 21:30:59 +0200 Subject: FULLPIPE: Implement sceneHandler27_takeVent() --- engines/fullpipe/constants.h | 1 + engines/fullpipe/scenes/scene27.cpp | 9 ++++++++- 2 files changed, 9 insertions(+), 1 deletion(-) (limited to 'engines/fullpipe') diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h index b5b60d4451..8e1ec4d7ca 100644 --- a/engines/fullpipe/constants.h +++ b/engines/fullpipe/constants.h @@ -1099,6 +1099,7 @@ namespace Fullpipe { #define MV_MAN27_THROWBET 1989 #define PIC_SC27_HITZONE2 4756 #define QU_DRV_GIVEVENT 2040 +#define QU_MID_CLEANVENT 4583 #define SND_27_027 4128 #define SND_27_044 4687 #define ST_DRV_VENT 1996 diff --git a/engines/fullpipe/scenes/scene27.cpp b/engines/fullpipe/scenes/scene27.cpp index 6110e7c425..4593f905ad 100644 --- a/engines/fullpipe/scenes/scene27.cpp +++ b/engines/fullpipe/scenes/scene27.cpp @@ -181,7 +181,14 @@ void sceneHandler27_winArcade() { } void sceneHandler27_takeVent() { - warning("STUB: sceneHandler27_takeVent()"); + if (g_fp->getObjectState(sO_Maid) == g_fp->getObjectEnumState(sO_Maid, sO_WithSwab)) { + if (g_vars->scene27_maid->isIdle()) { + if (g_vars->scene27_maid->_flags & 4) { + g_vars->scene27_maid->changeStatics2(ST_MID_SWAB2); + g_vars->scene27_maid->startMQIfIdle(QU_MID_CLEANVENT, 1); + } + } + } } void sceneHandler27_showNextBat() { -- cgit v1.2.3