aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorathrxx2011-11-06 22:19:26 +0100
committerJohannes Schickel2011-12-26 16:18:10 +0100
commit814c78e84ea4d75b2ac3442227120d4d14e7b18b (patch)
tree34cf36df37c7170f0ea6cc38c66175a28aa4c8dc /engines
parent2bcae2451a9e5e59c2ad30e5c8560d9b8e117501 (diff)
downloadscummvm-rg350-814c78e84ea4d75b2ac3442227120d4d14e7b18b.tar.gz
scummvm-rg350-814c78e84ea4d75b2ac3442227120d4d14e7b18b.tar.bz2
scummvm-rg350-814c78e84ea4d75b2ac3442227120d4d14e7b18b.zip
KYRA: (AdLib Driver) - fix queue handling for Eob
Huge numbers of sound effects get started as soon as a couple of monsters are around. If we start dropping sound when the queue is full, we won't have any sounds in these situations, but we'll get tons of useless warnings instead.
Diffstat (limited to 'engines')
-rw-r--r--engines/kyra/sound_adlib.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/engines/kyra/sound_adlib.cpp b/engines/kyra/sound_adlib.cpp
index 94a285d729..e99990e1e0 100644
--- a/engines/kyra/sound_adlib.cpp
+++ b/engines/kyra/sound_adlib.cpp
@@ -545,7 +545,9 @@ void AdLibDriver::queueTrack(int track, int volume) {
if (!trackData)
return;
- if (_programQueueEnd == _programQueueStart && _programQueue[_programQueueEnd].data != 0) {
+ // Don't drop tracks in Eob. The queue is always full there if a couple of monsters are around.
+ // If we drop the incoming tracks we get no sound effects, but tons of warnings instead.
+ if (_version >= 3 && _programQueueEnd == _programQueueStart && _programQueue[_programQueueEnd].data != 0) {
warning("AdLibDriver: Program queue full, dropping track %d", track);
return;
}