diff options
author | Eugene Sandulenko | 2013-12-01 16:50:04 +0200 |
---|---|---|
committer | Eugene Sandulenko | 2013-12-01 16:50:04 +0200 |
commit | 521eeb9b42d0b37c5fe79843e7ecbda08f5b8065 (patch) | |
tree | 64d896be0b600b9e42b314921efdcc37424ea9df /engines/fullpipe | |
parent | 9bf28664b9e0f4c36c51ad3cf327db049b570ee1 (diff) | |
download | scummvm-rg350-521eeb9b42d0b37c5fe79843e7ecbda08f5b8065.tar.gz scummvm-rg350-521eeb9b42d0b37c5fe79843e7ecbda08f5b8065.tar.bz2 scummvm-rg350-521eeb9b42d0b37c5fe79843e7ecbda08f5b8065.zip |
FULLPIPE: Implement sceneHandler04_winArcade()
Diffstat (limited to 'engines/fullpipe')
-rw-r--r-- | engines/fullpipe/constants.h | 1 | ||||
-rw-r--r-- | engines/fullpipe/fullpipe.h | 1 | ||||
-rw-r--r-- | engines/fullpipe/scenes/scene04.cpp | 26 | ||||
-rw-r--r-- | engines/fullpipe/sound.cpp | 3 |
4 files changed, 30 insertions, 1 deletions
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h index e1ec51a947..76739b6632 100644 --- a/engines/fullpipe/constants.h +++ b/engines/fullpipe/constants.h @@ -187,6 +187,7 @@ namespace Fullpipe { #define QU_EGTR_MD2_SHOW 4698 #define QU_EGTR_MD1_SHOW 4697 #define QU_EGTR_SLIMSHOW 4883 +#define QU_HND_TAKEBOTTLE 1443 #define QU_IN2_DO 5144 #define QU_INTR_FINISH 5138 #define QU_INTR_GETUPMAN 5136 diff --git a/engines/fullpipe/fullpipe.h b/engines/fullpipe/fullpipe.h index 63dde5042b..00d2863c94 100644 --- a/engines/fullpipe/fullpipe.h +++ b/engines/fullpipe/fullpipe.h @@ -142,6 +142,7 @@ public: void toggleMute(); void playSound(int id, int flag); void startSceneTrack(); + void stopSoundStream2(); int _sfxVolume; diff --git a/engines/fullpipe/scenes/scene04.cpp b/engines/fullpipe/scenes/scene04.cpp index f2fbfd3ef4..137133ba28 100644 --- a/engines/fullpipe/scenes/scene04.cpp +++ b/engines/fullpipe/scenes/scene04.cpp @@ -33,6 +33,7 @@ #include "fullpipe/interaction.h" #include "fullpipe/gameloader.h" #include "fullpipe/behavior.h" +#include "fullpipe/motion.h" namespace Fullpipe { @@ -446,7 +447,30 @@ void sceneHandler04_updateBottle() { } void sceneHandler04_winArcade() { - warning("sceneHandler04_winArcade()"); + if (g_fullpipe->getObjectState(sO_LowerPipe) == g_fullpipe->getObjectEnumState(sO_LowerPipe, sO_IsClosed) + && g_vars->scene04_soundPlaying) { + g_vars->scene04_clock->changeStatics2(ST_CLK_CLOSED); + g_vars->scene04_hand->changeStatics2(ST_HND_EMPTY); + + chainQueue(QU_HND_TAKEBOTTLE, 1); + + if (g_vars->scene04_walkingKozyawka) { + g_vars->scene04_kozyawkiObjList.push_back(g_vars->scene04_walkingKozyawka); + + g_vars->scene04_walkingKozyawka->changeStatics2(ST_KZW_EMPTY); + g_vars->scene04_walkingKozyawka->hide(); + g_vars->scene04_walkingKozyawka = 0; + } + + g_vars->scene04_var19 = 0; + g_vars->scene04_soundPlaying = 0; + + getSc2MctlCompoundBySceneId(g_fullpipe->_currentScene->_sceneId)->setEnabled(); + + getGameLoaderInteractionController()->enableFlag24(); + + g_fullpipe->stopSoundStream2(); + } } int sceneHandler04(ExCommand *ex) { diff --git a/engines/fullpipe/sound.cpp b/engines/fullpipe/sound.cpp index 6da848a621..b4a864d164 100644 --- a/engines/fullpipe/sound.cpp +++ b/engines/fullpipe/sound.cpp @@ -135,6 +135,9 @@ void global_messageHandler_handleSound(ExCommand *cmd) { debug(0, "STUB: global_messageHandler_handleSound()"); } +void FullpipeEngine::stopSoundStream2() { + warning("STUB: FullpipeEngine::stopSoundStream2()"); +} } // End of namespace Fullpipe |