aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEugene Sandulenko2013-12-27 22:32:01 +0200
committerEugene Sandulenko2013-12-27 22:32:01 +0200
commit2136644348e7984bce31bf3a867e96c5544367d4 (patch)
tree4e2423bbb72d0bcb328cfe4b07880b4af5b88c94
parenta7024646268491c9a3b866fc3c40e1f8882a8968 (diff)
downloadscummvm-rg350-2136644348e7984bce31bf3a867e96c5544367d4.tar.gz
scummvm-rg350-2136644348e7984bce31bf3a867e96c5544367d4.tar.bz2
scummvm-rg350-2136644348e7984bce31bf3a867e96c5544367d4.zip
FULLPIPE: Implement sceneHandler11_swing0()/swing2()
-rw-r--r--engines/fullpipe/constants.h1
-rw-r--r--engines/fullpipe/scenes/scene11.cpp36
2 files changed, 27 insertions, 10 deletions
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index 2c93db9e69..69d9352e81 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -504,6 +504,7 @@ namespace Fullpipe {
#define MV_KCH_START 1121
#define MV_MAN11_SWING_0 1109
#define MV_MAN11_SWING_1 1111
+#define MV_MAN11_SWING_2 1112
#define PIC_SC11_HINT 5170
#define QU_SC11_MANFALL 3017
#define QU_SC11_PUTBOOT1 2709
diff --git a/engines/fullpipe/scenes/scene11.cpp b/engines/fullpipe/scenes/scene11.cpp
index 1d5fc855c7..50f3e935e5 100644
--- a/engines/fullpipe/scenes/scene11.cpp
+++ b/engines/fullpipe/scenes/scene11.cpp
@@ -252,11 +252,19 @@ void sceneHandler11_sub01() {
warning("STUB: sceneHandler11_sub01()");
}
-void sceneHandler11_sub02() {
- warning("STUB: sceneHandler11_sub02()");
+void sceneHandler11_swing0() {
+ 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_0, 0);
+ g_vars->scene11_dudeOnSwing->startAnim(MV_MAN11_SWING_0, 0, -1);
+ g_vars->scene11_dudeOnSwing->_movement->setDynamicPhaseIndex(g_vars->scene11_dudeOnSwing->_movement->_currDynamicPhaseIndex);
+
+ g_vars->scene11_var17 = 0;
+ g_vars->scene11_var23 = 45;
+ g_vars->scene11_var09 = 1.0;
}
-void sceneHandler11_sub03() {
+void sceneHandler11_swing1() {
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);
@@ -268,8 +276,16 @@ void sceneHandler11_sub03() {
g_vars->scene11_var09 = -(fabs(g_vars->scene11_var08) * 0.075 + 0.12);
}
-void sceneHandler11_sub04() {
- warning("STUB: sceneHandler11_sub04()");
+void sceneHandler11_swing2() {
+ 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_2, 0);
+ g_vars->scene11_dudeOnSwing->startAnim(MV_MAN11_SWING_2, 0, -1);
+ g_vars->scene11_dudeOnSwing->_movement->setDynamicPhaseIndex(g_vars->scene11_dudeOnSwing->_movement->_currDynamicPhaseIndex);
+
+ g_vars->scene11_var17 = 2;
+ g_vars->scene11_var23 = 48;
+ g_vars->scene11_var09 = fabs(g_vars->scene11_var08) * 0.075 + 0.12;
}
void sceneHandler11_sub05() {
@@ -401,7 +417,7 @@ int sceneHandler11(ExCommand *cmd) {
if (g_vars->scene11_var16 <= 0 || g_vars->scene11_var15 - g_vars->scene11_var16 <= 72) {
} else {
- sceneHandler11_sub02();
+ sceneHandler11_swing0();
g_vars->scene11_var18 = 0;
g_vars->scene11_var16 = 0;
}
@@ -440,14 +456,14 @@ int sceneHandler11(ExCommand *cmd) {
if (g_vars->scene11_var18 == 1) {
if (!g_vars->scene11_var17)
- sceneHandler11_sub03();
+ sceneHandler11_swing1();
else
- sceneHandler11_sub02();
+ sceneHandler11_swing0();
} else if (g_vars->scene11_var18 == 2) {
if (!g_vars->scene11_var17)
- sceneHandler11_sub04();
+ sceneHandler11_swing2();
else
- sceneHandler11_sub02();
+ sceneHandler11_swing0();
}
g_vars->scene11_var16 = g_vars->scene11_var15;