diff options
author | Eugene Sandulenko | 2014-01-05 15:27:17 +0200 |
---|---|---|
committer | Eugene Sandulenko | 2014-01-05 17:13:32 +0200 |
commit | 52d9bb8583d6001542b67eb1a9e1def44dd7119b (patch) | |
tree | 9102e814a70e3eedb11f25a6175f3c60f75dc281 | |
parent | f082991c65697dd5ff633a5ef0cfd880b71bb267 (diff) | |
download | scummvm-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.h | 4 | ||||
-rw-r--r-- | engines/fullpipe/scenes/scene25.cpp | 16 |
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() { |