diff options
Diffstat (limited to 'engines')
-rw-r--r-- | engines/fullpipe/constants.h | 3 | ||||
-rw-r--r-- | engines/fullpipe/scenes/scene16.cpp | 31 |
2 files changed, 24 insertions, 10 deletions
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h index ae5288fa49..e84fb203eb 100644 --- a/engines/fullpipe/constants.h +++ b/engines/fullpipe/constants.h @@ -660,9 +660,12 @@ namespace Fullpipe { #define MSG_SC16_SHOWMUGFULL 1396 #define MSG_SC16_SHOWWIRE 1350 #define MSG_SC16_STARTLAUGH 1374 +#define MV_GRL_FALL 3115 #define MV_GRL_LAUGH_POPA 3278 #define PIC_SC16_TUMBA 1368 +#define QU_SC16_SHOWMUG 1361 #define SND_16_034 3854 +#define ST_GRL_LAUGH 1342 #define ST_MUG_EMPTY 1298 #define ST_MUG_FULL 1360 diff --git a/engines/fullpipe/scenes/scene16.cpp b/engines/fullpipe/scenes/scene16.cpp index 5804f7da72..0370ec7cd1 100644 --- a/engines/fullpipe/scenes/scene16.cpp +++ b/engines/fullpipe/scenes/scene16.cpp @@ -133,7 +133,7 @@ void sceneHandler16_showBearded() { } void sceneHandler16_showMugFull() { - warning("STUB: sceneHandler16_showMugFull()"); + g_vars->scene16_mug->changeStatics2(ST_MUG_FULL); } void sceneHandler16_fillMug() { @@ -149,27 +149,33 @@ void sceneHandler16_mugClick() { } void sceneHandler16_showMan() { - warning("STUB: sceneHandler16_showMan()"); + g_fp->_aniMan->changeStatics2(ST_MAN_RIGHT); + g_fp->_aniMan->show1(-1, -1, -1, 0); + + g_vars->scene16_mug->show1(-1, -1, -1, 0); } void sceneHandler16_showMug() { - warning("STUB: sceneHandler16_showMug()"); + chainQueue(QU_SC16_SHOWMUG, 0); } void sceneHandler16_hideMan() { - warning("STUB: sceneHandler16_hideMan()"); + g_fp->_aniMan->changeStatics2(ST_MAN_RIGHT); + g_fp->_aniMan->hide(); + + g_vars->scene16_mug->hide(); } void sceneHandler16_hideMug() { - warning("STUB: sceneHandler16_hideMug()"); + g_vars->scene16_mug->hide(); } void sceneHandler16_hideWire() { - warning("STUB: sceneHandler16_hideWire()"); + g_vars->scene16_wire->hide(); } void sceneHandler16_showWire() { - warning("STUB: sceneHandler16_showWire()"); + g_vars->scene16_wire->show1(-1, -1, -1, 0); } void sceneHandler16_sub01() { @@ -180,8 +186,13 @@ void sceneHandler16_sub02() { warning("STUB: sceneHandler16_sub02()"); } -void sceneHandler16_sub03() { - warning("STUB: sceneHandler16_sub03()"); +void sceneHandler16_girlROTFL() { + StaticANIObject *girl = g_fp->_currentScene->getStaticANIObject1ById(ANI_GIRL, -1); + + girl->changeStatics2(ST_GRL_LAUGH); + girl->startAnim(MV_GRL_FALL, 0, -1); + + g_vars->scene16_var09 = 0; } int sceneHandler16(ExCommand *cmd) { @@ -271,7 +282,7 @@ int sceneHandler16(ExCommand *cmd) { if (g_vars->scene16_var09) { if (g_fp->_aniMan->_movement) if (g_fp->_aniMan->_movement->_id == MV_MAN_TURN_RL) - sceneHandler16_sub03(); + sceneHandler16_girlROTFL(); } g_fp->_behaviorManager->updateBehaviors(); |