aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/fullpipe/constants.h1
-rw-r--r--engines/fullpipe/scenes.cpp1
-rw-r--r--engines/fullpipe/scenes.h1
-rw-r--r--engines/fullpipe/scenes/scene11.cpp24
4 files changed, 22 insertions, 5 deletions
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index dd4d4e338b..2c93db9e69 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -503,6 +503,7 @@ namespace Fullpipe {
#define MSG_SC11_SITSWINGER 5198
#define MV_KCH_START 1121
#define MV_MAN11_SWING_0 1109
+#define MV_MAN11_SWING_1 1111
#define PIC_SC11_HINT 5170
#define QU_SC11_MANFALL 3017
#define QU_SC11_PUTBOOT1 2709
diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp
index aee494bb92..cd816f1d33 100644
--- a/engines/fullpipe/scenes.cpp
+++ b/engines/fullpipe/scenes.cpp
@@ -187,6 +187,7 @@ Vars::Vars() {
scene11_var20 = 0;
scene11_var21 = 0;
scene11_var22 = 0;
+ scene11_var23 = 45;
scene12_fly = 0;
scene12_flyCountdown = 0;
diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h
index 582efa2271..cb6e45ef70 100644
--- a/engines/fullpipe/scenes.h
+++ b/engines/fullpipe/scenes.h
@@ -251,6 +251,7 @@ public:
int scene11_var20;
int scene11_var21;
int scene11_var22;
+ int scene11_var23;
int scene12_fly;
int scene12_flyCountdown;
diff --git a/engines/fullpipe/scenes/scene11.cpp b/engines/fullpipe/scenes/scene11.cpp
index dc9acfc9bd..1d5fc855c7 100644
--- a/engines/fullpipe/scenes/scene11.cpp
+++ b/engines/fullpipe/scenes/scene11.cpp
@@ -141,10 +141,6 @@ void scene11_initScene(Scene *sc) {
g_fp->setArcadeOverlay(PIC_CSR_ARCADE5);
}
-void sceneHandler11_winArcade() {
- warning("STUB: sceneHandler11_winArcade()");
-}
-
void sceneHandler11_restartMan() {
chainObjQueue(0, QU_SC11_RESTARTMAN, 1);
@@ -261,7 +257,15 @@ void sceneHandler11_sub02() {
}
void sceneHandler11_sub03() {
- warning("STUB: sceneHandler11_sub03()");
+ g_vars->scene11_dudeOnSwing->_statics = g_vars->scene11_dudeOnSwing->getStaticsById(ST_MAN11_EMPTY);
+ g_vars->scene11_dudeOnSwing->_movement = 0;
+ g_vars->scene11_dudeOnSwing->show1(690, 215, MV_MAN11_SWING_1, 0);
+ g_vars->scene11_dudeOnSwing->startAnim(MV_MAN11_SWING_1, 0, -1);
+ g_vars->scene11_dudeOnSwing->_movement->setDynamicPhaseIndex(g_vars->scene11_dudeOnSwing->_movement->_currDynamicPhaseIndex);
+
+ g_vars->scene11_var17 = 1;
+ g_vars->scene11_var23 = 42;
+ g_vars->scene11_var09 = -(fabs(g_vars->scene11_var08) * 0.075 + 0.12);
}
void sceneHandler11_sub04() {
@@ -288,6 +292,16 @@ void sceneHandler11_sub09() {
warning("STUB: sceneHandler11_sub09()");
}
+void sceneHandler11_winArcade() {
+ if (g_vars->scene11_var02) {
+ g_vars->scene11_var02 = 0;
+
+ sceneHandler11_sub09();
+
+ g_fp->_gameLoader->preloadScene(SC_11, TrubaRight);
+ }
+}
+
void sceneHandler11_sub10() {
warning("STUB: sceneHandler11_sub10()");
}