diff options
Diffstat (limited to 'engines')
-rw-r--r-- | engines/fullpipe/constants.h | 1 | ||||
-rw-r--r-- | engines/fullpipe/scenes/scene27.cpp | 19 |
2 files changed, 19 insertions, 1 deletions
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h index b1480833b9..10b2f134b8 100644 --- a/engines/fullpipe/constants.h +++ b/engines/fullpipe/constants.h @@ -1098,6 +1098,7 @@ namespace Fullpipe { #define MV_MAN27_FLOW 1990 #define PIC_SC27_HITZONE2 4756 #define SND_27_027 4128 +#define SND_27_044 4687 #define ST_MID_BROOM 2022 #define ST_MID_SPADE 3489 #define ST_MID_SWAB2 2019 diff --git a/engines/fullpipe/scenes/scene27.cpp b/engines/fullpipe/scenes/scene27.cpp index 870cff9ece..63b4964fc5 100644 --- a/engines/fullpipe/scenes/scene27.cpp +++ b/engines/fullpipe/scenes/scene27.cpp @@ -189,7 +189,24 @@ void sceneHandler27_startBat(StaticANIObject *bat) { } void sceneHandler27_startAiming() { - warning("STUB: sceneHandler27_startAiming()"); + g_vars->scene27_var08 = 0; + g_vars->scene27_var09 = 0; + + g_fp->_aniMan->_callback2 = 0; + + g_vars->scene27_launchPhase = g_fp->_aniMan->_movement->_currDynamicPhaseIndex - 6; + + int phase = 21 - g_vars->scene27_launchPhase; + + if (phase < 14) + phase = 14; + + if (phase > 20) + phase = 20; + + g_fp->playSound(SND_27_044, 0); + + g_fp->_aniMan->_movement->setDynamicPhaseIndex(phase); } void sceneHandler27_sub04(ExCommand *cmd) { |