aboutsummaryrefslogtreecommitdiff
path: root/engines/fullpipe
diff options
context:
space:
mode:
authorEugene Sandulenko2013-12-07 00:01:59 +0200
committerEugene Sandulenko2013-12-07 00:01:59 +0200
commit583090a6238ca08996bfdfc10e26d616ab441f11 (patch)
treed0a6b3618039aa3262c04857275397f3042694b8 /engines/fullpipe
parent172128931bbcfae86b61be0b13050654ae63f0a3 (diff)
downloadscummvm-rg350-583090a6238ca08996bfdfc10e26d616ab441f11.tar.gz
scummvm-rg350-583090a6238ca08996bfdfc10e26d616ab441f11.tar.bz2
scummvm-rg350-583090a6238ca08996bfdfc10e26d616ab441f11.zip
FULLPIPE: Implement sceneHandler04_goClock()
Diffstat (limited to 'engines/fullpipe')
-rw-r--r--engines/fullpipe/constants.h1
-rw-r--r--engines/fullpipe/fullpipe.h1
-rw-r--r--engines/fullpipe/scenes/scene04.cpp19
-rw-r--r--engines/fullpipe/sound.cpp4
4 files changed, 22 insertions, 3 deletions
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index 41800dab13..60ca0814f9 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -202,6 +202,7 @@ namespace Fullpipe {
#define QU_PNK_CLICK 550
#define QU_SC3_ENTERLIFT 2779
#define QU_SC3_EXITLIFT 2808
+#define QU_SC4_GOCLOCK 595
#define QU_SC4_MANFROMBOTTLE 2851
#define SC_1 301
#define SC_10 653
diff --git a/engines/fullpipe/fullpipe.h b/engines/fullpipe/fullpipe.h
index 00d2863c94..84354e5353 100644
--- a/engines/fullpipe/fullpipe.h
+++ b/engines/fullpipe/fullpipe.h
@@ -143,6 +143,7 @@ public:
void playSound(int id, int flag);
void startSceneTrack();
void stopSoundStream2();
+ void stopAllSoundStreams();
int _sfxVolume;
diff --git a/engines/fullpipe/scenes/scene04.cpp b/engines/fullpipe/scenes/scene04.cpp
index 689260a41b..dab40ec55a 100644
--- a/engines/fullpipe/scenes/scene04.cpp
+++ b/engines/fullpipe/scenes/scene04.cpp
@@ -434,8 +434,21 @@ void sceneHandler04_liftBottle() {
}
}
-void sceneHandler04_sub7() {
- warning("sceneHandler04_sub7()");
+void sceneHandler04_startSounds(const char *snd1, const char *snd2, const char *snd3) {
+ warning("STUB: sceneHandler04_startSounds()");
+}
+
+void sceneHandler04_goClock() {
+ sceneHandler04_walkKozyawka();
+ chainQueue(QU_SC4_GOCLOCK, 0);
+ g_vars->scene04_soundPlaying = 1;
+ g_vars->scene04_coinPut = 0;
+
+ g_fullpipe->stopAllSoundStreams();
+
+ sceneHandler04_startSounds("sc4_start.ogg", "sc4_loop.ogg", "sc4_stop2.ogg");
+
+ g_vars->scene04_var14 = 0;
}
void sceneHandler04_sub8(ExCommand *ex) {
@@ -701,7 +714,7 @@ int sceneHandler04(ExCommand *ex) {
sceneHandler04_sub1(0);
if (g_vars->scene04_coinPut && g_vars->scene04_var18 && !g_vars->scene04_var09 && !g_vars->scene04_soundPlaying)
- sceneHandler04_sub7();
+ sceneHandler04_goClock();
if (g_vars->scene04_var01) {
if (!g_vars->scene04_soundPlaying) {
diff --git a/engines/fullpipe/sound.cpp b/engines/fullpipe/sound.cpp
index b4a864d164..147d6218c6 100644
--- a/engines/fullpipe/sound.cpp
+++ b/engines/fullpipe/sound.cpp
@@ -139,5 +139,9 @@ void FullpipeEngine::stopSoundStream2() {
warning("STUB: FullpipeEngine::stopSoundStream2()");
}
+void FullpipeEngine::stopAllSoundStreams() {
+ warning("STUB: FullpipeEngine::stopAllSoundStreams()");
+}
+
} // End of namespace Fullpipe