aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
Diffstat (limited to 'engines')
-rw-r--r--engines/fullpipe/constants.h1
-rw-r--r--engines/fullpipe/scenes/scene27.cpp19
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) {