From 784d10531cc229492d3ff51a88f411508c68a705 Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Wed, 1 Jan 2014 00:00:06 +0200 Subject: [PATCH] FULLPIPE: More code to scene14 --- engines/fullpipe/constants.h | 2 ++ engines/fullpipe/scenes/scene14.cpp | 32 ++++++++++++++++++++++++----- 2 files changed, 29 insertions(+), 5 deletions(-) diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h index ff87b802db1f..6e45e84c700a 100644 --- a/engines/fullpipe/constants.h +++ b/engines/fullpipe/constants.h @@ -599,7 +599,9 @@ namespace Fullpipe { #define MV_BAL14_FALL 1258 #define MV_BAL14_SPIN 1247 #define MV_BAL14_TOGMA 3214 +#define MV_GMA_THROW 1232 #define MV_MAN14_DECLINE 1239 +#define MV_MAN14_FALL 1236 #define MV_MAN14_KICK 1237 #define MV_MAN14_KICKAIR 1256 #define MV_MAN14_STEPFW 1240 diff --git a/engines/fullpipe/scenes/scene14.cpp b/engines/fullpipe/scenes/scene14.cpp index c4b7acb4a072..82af3b105627 100644 --- a/engines/fullpipe/scenes/scene14.cpp +++ b/engines/fullpipe/scenes/scene14.cpp @@ -409,7 +409,19 @@ bool sceneHandler14_sub04(ExCommand *cmd) { } void sceneHandler14_sub08() { - warning("STUB: sceneHandler14_sub08()"); + g_vars->scene14_grandma->changeStatics2(ST_GMA_SIT); + + MessageQueue *mq = new MessageQueue; + ExCommand *ex = new ExCommand(ANI_GRANDMA, 2, 30, 0, 0, 0, 1, 0, 0, 0); + + ex->_excFlags |= 2; + mq->addExCommandToEnd(ex); + + ex = new ExCommand(ANI_GRANDMA, 1, MV_GMA_THROW, 0, 0, 0, 1, 0, 0, 0); + ex->_excFlags |= 2; + mq->addExCommandToEnd(ex); + + mq->chain(0); } void sceneHandler14_sub07() { @@ -436,14 +448,24 @@ void sceneHandler14_sub07() { sceneHandler14_sub08(); } -void sceneHandler14_sub09() { - warning("STUB: sceneHandler14_sub09()"); -} - void sceneHandler14_sub10() { warning("STUB: sceneHandler14_sub10()"); } +void sceneHandler14_sub09() { + if (!g_fp->_aniMan->_movement || g_fp->_aniMan->_movement->_id != MV_MAN14_FALL) { + sceneHandler14_sub06(); + + g_fp->_aniMan->changeStatics2(ST_MAN_RIGHT|0x4000); + g_fp->_aniMan->startAnim(MV_MAN14_FALL, 0, -1); + g_vars->scene14_var10->stopAnim_maybe(); + g_vars->scene14_var10->hide(); + + sceneHandler14_sub10(); + } + ++g_vars->scene14_var24; +} + void sceneHandler14_sub11() { warning("STUB: sceneHandler14_sub11()"); }