aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVladimir Menshakov2011-06-15 00:32:49 +0400
committerAlyssa Milburn2011-06-15 17:35:02 +0200
commit9c7c46bfde46f9b6994822a9ea8db6f5b68dd607 (patch)
tree330870e54d376f43d28eab891045ffafedb382bd
parentdfaa1e32b770257b43348ac042a2d7aa5a28bcfd (diff)
downloadscummvm-rg350-9c7c46bfde46f9b6994822a9ea8db6f5b68dd607.tar.gz
scummvm-rg350-9c7c46bfde46f9b6994822a9ea8db6f5b68dd607.tar.bz2
scummvm-rg350-9c7c46bfde46f9b6994822a9ea8db6f5b68dd607.zip
DREAMWEB: fixed final scene, better sound channel handling
-rw-r--r--engines/dreamweb/dreamgen.cpp1
-rw-r--r--engines/dreamweb/dreamweb.cpp9
2 files changed, 8 insertions, 2 deletions
diff --git a/engines/dreamweb/dreamgen.cpp b/engines/dreamweb/dreamgen.cpp
index 2591c36564..bcca8ae2aa 100644
--- a/engines/dreamweb/dreamgen.cpp
+++ b/engines/dreamweb/dreamgen.cpp
@@ -5734,6 +5734,7 @@ loadspeech2:
context.al = 50+12;
playchannel1(context);
notloadspeech2:
+ vsync(context);
context._cmp(context.data.byte(kCh1playing), 255);
if (!context.flags.z()) goto notloadspeech2;
context.ax = context.pop();
diff --git a/engines/dreamweb/dreamweb.cpp b/engines/dreamweb/dreamweb.cpp
index 789db03615..7d035c916d 100644
--- a/engines/dreamweb/dreamweb.cpp
+++ b/engines/dreamweb/dreamweb.cpp
@@ -516,10 +516,15 @@ void DreamWebEngine::soundHandler() {
playSound(1, ch1, 1);
}
}
- if (!_mixer->isSoundHandleActive(_channelHandle[0]))
+ if (!_mixer->isSoundHandleActive(_channelHandle[0])) {
_context.data.byte(dreamgen::kCh0playing) = 255;
- if (!_mixer->isSoundHandleActive(_channelHandle[1]))
+ _channel0 = 0;
+ }
+ if (!_mixer->isSoundHandleActive(_channelHandle[1])) {
_context.data.byte(dreamgen::kCh1playing) = 255;
+ _channel1 = 0;
+ }
+
}
void DreamWebEngine::loadSounds(uint bank, const Common::String &filename) {