diff options
author | Eugene Sandulenko | 2013-12-30 00:22:19 +0200 |
---|---|---|
committer | Eugene Sandulenko | 2013-12-30 00:22:19 +0200 |
commit | 58ffa21c29b48a8950fe49811b817ad2a863ca37 (patch) | |
tree | 6283470af7678a9b928dc0f0fb3417e881c0c919 /engines/fullpipe | |
parent | a57e2428ecae767ac805e2264d54f0a74213fee5 (diff) | |
download | scummvm-rg350-58ffa21c29b48a8950fe49811b817ad2a863ca37.tar.gz scummvm-rg350-58ffa21c29b48a8950fe49811b817ad2a863ca37.tar.bz2 scummvm-rg350-58ffa21c29b48a8950fe49811b817ad2a863ca37.zip |
FULLPIPE: More code to scene13
Diffstat (limited to 'engines/fullpipe')
-rw-r--r-- | engines/fullpipe/constants.h | 5 | ||||
-rw-r--r-- | engines/fullpipe/scenes/scene13.cpp | 30 |
2 files changed, 29 insertions, 6 deletions
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h index 6cb507c288..472943c12d 100644 --- a/engines/fullpipe/constants.h +++ b/engines/fullpipe/constants.h @@ -552,10 +552,15 @@ namespace Fullpipe { #define MV_BDG_CLOSE 1382 #define MV_BDG_OPEN 1379 #define MV_WHR13_SPIN 1384 +#define QU_SC13_SHOWGUM 1216 +#define QU_STR_CHEW 1190 #define SND_13_018 3763 +#define SND_13_033 4685 +#define SND_13_034 4686 #define SND_13_037 5335 #define ST_BDG_CLOSED 1380 #define ST_BDG_OPEN2 1381 +#define ST_STR_RIGHT 1174 // Scene 15 #define ANI_BOOT_15 4779 diff --git a/engines/fullpipe/scenes/scene13.cpp b/engines/fullpipe/scenes/scene13.cpp index d46f73b5e5..2080bb0f1b 100644 --- a/engines/fullpipe/scenes/scene13.cpp +++ b/engines/fullpipe/scenes/scene13.cpp @@ -113,19 +113,32 @@ void sceneHandler13_closeBridge() { } void sceneHandler13_closeFast() { - warning("STUB: sceneHandler13_closeFast()"); + g_vars->scene13_bridge->changeStatics2(ST_BDG_OPEN2); + g_vars->scene13_bridge->startAnim(MV_BDG_CLOSE, 0, -1); + g_vars->scene13_bridge->_movement->setDynamicPhaseIndex(21); } void sceneHandler13_stopWhirlgig() { - warning("STUB: sceneHandler13_stopWhirlgig()"); + g_vars->scene13_whirlgig->_callback2 = 0; + + g_fp->stopAllSoundInstances(SND_13_018); + g_fp->playSound(SND_13_033, 0); + g_fp->playSound(SND_13_037, 1); } void sceneHandler13_startWhirlgig() { - warning("STUB: sceneHandler13_startWhirlgig()"); + g_vars->scene13_whirlgig->_callback2 = 0; + + g_fp->playSound(SND_13_018, 1); + g_fp->playSound(SND_13_034, 0); + + g_fp->stopAllSoundInstances(SND_13_037); } void sceneHandler13_openFast() { - warning("STUB: sceneHandler13_openFast()"); + g_vars->scene13_bridge->changeStatics2(ST_BDG_CLOSED); + g_vars->scene13_bridge->startAnim(MV_BDG_OPEN, 0, -1); + g_vars->scene13_bridge->_movement->setDynamicPhaseIndex(15); } void sceneHandler13_uneatGum() { @@ -133,7 +146,12 @@ void sceneHandler13_uneatGum() { } void sceneHandler13_eatGum() { - warning("STUB: sceneHandler13_eatGum()"); + BehaviorEntryInfo *beh = g_fp->_behaviorManager->getBehaviorEntryInfoByMessageQueueDataId(g_vars->scene13_guard, ST_STR_RIGHT, QU_STR_CHEW); + + if (beh) { + beh->_percent = 10922; + beh->_delay = 0; + } } void sceneHandler13_updateBridge() { @@ -141,7 +159,7 @@ void sceneHandler13_updateBridge() { } void sceneHandler13_showGum() { - warning("STUB: sceneHandler13_showGum()"); + chainQueue(QU_SC13_SHOWGUM, 0); } void sceneHandler13_sub01(bool flag) { |