aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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() {