diff options
author | athrxx | 2011-11-06 22:19:26 +0100 |
---|---|---|
committer | Johannes Schickel | 2011-12-26 16:18:10 +0100 |
commit | 814c78e84ea4d75b2ac3442227120d4d14e7b18b (patch) | |
tree | 34cf36df37c7170f0ea6cc38c66175a28aa4c8dc /engines | |
parent | 2bcae2451a9e5e59c2ad30e5c8560d9b8e117501 (diff) | |
download | scummvm-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.cpp | 4 |
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; } |