aboutsummaryrefslogtreecommitdiff
path: root/engines/kyra
diff options
context:
space:
mode:
authorOystein Eftevaag2006-03-08 01:38:27 +0000
committerOystein Eftevaag2006-03-08 01:38:27 +0000
commitcca7da5ba1fec174a692dfdb6dbc4805a9da44e2 (patch)
tree10a51d12fe07369470cc0316414504660a523735 /engines/kyra
parent431c820e4febacee6e6f02cfd611df47eaab67c2 (diff)
downloadscummvm-rg350-cca7da5ba1fec174a692dfdb6dbc4805a9da44e2.tar.gz
scummvm-rg350-cca7da5ba1fec174a692dfdb6dbc4805a9da44e2.tar.bz2
scummvm-rg350-cca7da5ba1fec174a692dfdb6dbc4805a9da44e2.zip
The adlib code was calling the Kyra delay() function instead of the
system delay, which was causing concurrency problems. svn-id: r21136
Diffstat (limited to 'engines/kyra')
-rw-r--r--engines/kyra/sound_adlib.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/engines/kyra/sound_adlib.cpp b/engines/kyra/sound_adlib.cpp
index 0d24238129..4e6a384545 100644
--- a/engines/kyra/sound_adlib.cpp
+++ b/engines/kyra/sound_adlib.cpp
@@ -1994,7 +1994,8 @@ void SoundAdlibPC::playSoundEffect(uint8 track) {
return;
soundId &= 0xFF;
while ((_driver->callback(16, 0) & 8)) {
- _engine->delay(10);
+ // We call the system delay and not the game delay to avoid concurrency issues.
+ _engine->_system->delayMillis(10);
}
if (_sfxPlayingSound != -1) {
_driver->callback(10, _sfxPlayingSound, int(1), int(_sfxSecondByteOfSong));