aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEugene Sandulenko2014-01-05 15:27:17 +0200
committerEugene Sandulenko2014-01-05 17:13:32 +0200
commit52d9bb8583d6001542b67eb1a9e1def44dd7119b (patch)
tree9102e814a70e3eedb11f25a6175f3c60f75dc281
parentf082991c65697dd5ff633a5ef0cfd880b71bb267 (diff)
downloadscummvm-rg350-52d9bb8583d6001542b67eb1a9e1def44dd7119b.tar.gz
scummvm-rg350-52d9bb8583d6001542b67eb1a9e1def44dd7119b.tar.bz2
scummvm-rg350-52d9bb8583d6001542b67eb1a9e1def44dd7119b.zip
FULLPIPE: Implement sceneHandler25_sneeze() and stopBearders()
-rw-r--r--engines/fullpipe/constants.h4
-rw-r--r--engines/fullpipe/scenes/scene25.cpp16
2 files changed, 18 insertions, 2 deletions
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index 15de01e8cf..074721f2af 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -875,8 +875,12 @@ namespace Fullpipe {
#define MSG_SC25_STARTBEARDEDS 3423
#define MSG_SC25_STOPBEARDEDS 3424
#define MSG_SC25_TOLADDER 4215
+#define MV_MAN25_CHIH 1886
+#define rMV_MAN25_CHIH 3343
#define MV_BRD25_RIGHT 1899
#define rMV_BRD25_RIGHT 1903
+#define MV_MAN25_ONBOARD 1885
+#define rMV_MAN25_ONBOARD 1966
#define MV_WTR25_FLOW 1857
#define PIC_SC25_LADDERDOWN 1855
#define PIC_SC25_LADDERUP 1854
diff --git a/engines/fullpipe/scenes/scene25.cpp b/engines/fullpipe/scenes/scene25.cpp
index ad2ca5abb3..927a6e4dd8 100644
--- a/engines/fullpipe/scenes/scene25.cpp
+++ b/engines/fullpipe/scenes/scene25.cpp
@@ -129,7 +129,9 @@ void scene25_setupWater(Scene *a1, int entranceId) {
}
void sceneHandler25_stopBearders() {
- warning("STUB: sceneHandler25_stopBearders()");
+ g_vars->scene25_var08 = 0;
+
+ g_vars->scene25_var10.clear();
}
void sceneHandler25_startBearders() {
@@ -247,7 +249,17 @@ void sceneHandler25_animateBearders() {
}
void sceneHandler25_sneeze() {
- warning("STUB: sceneHandler25_sneeze()");
+ if (g_fp->_rnd->getRandomNumber(32767) % 10) {
+ if (g_fp->_aniMan->_statics->_staticsId == ST_MAN25_ONBOARD) {
+ g_fp->_aniMan->startAnim(MV_MAN25_ONBOARD, 0, -1);
+ } else if (g_fp->_aniMan->_statics->_staticsId == (ST_MAN25_ONBOARD|0x4000)) {
+ g_fp->_aniMan->startAnim(rMV_MAN25_ONBOARD, 0, -1);
+ }
+ } else if (g_fp->_aniMan->_statics->_staticsId == ST_MAN25_ONBOARD) {
+ g_fp->_aniMan->startAnim(MV_MAN25_CHIH, 0, -1);
+ } else if (g_fp->_aniMan->_statics->_staticsId == (ST_MAN25_ONBOARD|0x4000)) {
+ g_fp->_aniMan->startAnim(rMV_MAN25_CHIH, 0, -1);
+ }
}
void sceneHandler25_rowShovel() {