aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorMax Horn2008-01-05 20:52:42 +0000
committerMax Horn2008-01-05 20:52:42 +0000
commit1f364f54e7fb78d020ccf409b26c8f18a9d5161c (patch)
tree37b4070ebf3684f41f65db20602c08839a41623e /engines
parent5f7a037bda006d4573961879ea614a488edda764 (diff)
downloadscummvm-rg350-1f364f54e7fb78d020ccf409b26c8f18a9d5161c.tar.gz
scummvm-rg350-1f364f54e7fb78d020ccf409b26c8f18a9d5161c.tar.bz2
scummvm-rg350-1f364f54e7fb78d020ccf409b26c8f18a9d5161c.zip
Clarified some iMuse Digital code as I understand it
svn-id: r30260
Diffstat (limited to 'engines')
-rw-r--r--engines/scumm/imuse_digi/dimuse_script.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/engines/scumm/imuse_digi/dimuse_script.cpp b/engines/scumm/imuse_digi/dimuse_script.cpp
index d4036f167f..79972459da 100644
--- a/engines/scumm/imuse_digi/dimuse_script.cpp
+++ b/engines/scumm/imuse_digi/dimuse_script.cpp
@@ -288,12 +288,14 @@ int32 IMuseDigital::getPosInMs(int soundId) {
return 0;
}
-int IMuseDigital::getSoundStatus(int sound) const {
+int IMuseDigital::getSoundStatus(int soundId) const {
Common::StackLock lock(_mutex, "IMuseDigital::getSoundStatus()");
- debug(5, "IMuseDigital::getSoundStatus(%d)", sound);
+ debug(5, "IMuseDigital::getSoundStatus(%d)", soundId);
for (int l = 0; l < MAX_DIGITAL_TRACKS; l++) {
Track *track = _track[l];
- if (track->soundId == sound) {
+ // Note: We do not check track->toBeRemoved here on purpose.
+ // Tracks which are about to stop are still running.
+ if ((track->soundId == soundId) && track->used) {
if (_mixer->isSoundHandleActive(track->mixChanHandle)) {
return 1;
}