From 814c78e84ea4d75b2ac3442227120d4d14e7b18b Mon Sep 17 00:00:00 2001 From: athrxx Date: Sun, 6 Nov 2011 22:19:26 +0100 Subject: [PATCH] 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. --- engines/kyra/sound_adlib.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/engines/kyra/sound_adlib.cpp b/engines/kyra/sound_adlib.cpp index 94a285d729b0..e99990e1e03d 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; }