aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/sfx/music.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/sci/sfx/music.cpp')
-rw-r--r--engines/sci/sfx/music.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/engines/sci/sfx/music.cpp b/engines/sci/sfx/music.cpp
index 7989c30144..b40d51487a 100644
--- a/engines/sci/sfx/music.cpp
+++ b/engines/sci/sfx/music.cpp
@@ -363,7 +363,8 @@ void SciMusic::onTimer() {
// FIXME: is there any other place this can be triggered properly?
SegManager *segMan = ((SciEngine *)g_engine)->getEngineState()->_segMan;
PUT_SEL32V(segMan, _playList[i]->soundObj, signal, SIGNAL_OFFSET);
- PUT_SEL32V(segMan, _playList[i]->soundObj, state, kSndStatusStopped);
+ if (_soundVersion <= SCI_VERSION_0_LATE)
+ PUT_SEL32V(segMan, _playList[i]->soundObj, state, kSndStatusStopped);
} else {
_playList[i]->ticker = (uint16)(_pMixer->getSoundElapsedTime(
_playList[i]->hCurrentAud) * 0.06);
@@ -670,7 +671,8 @@ void MidiParser_SCI::parseNextEvent(EventInfo &info) {
} else {
_pSnd->status = kSndStatusStopped;
PUT_SEL32V(segMan, _pSnd->soundObj, signal, 0xFFFF);
- PUT_SEL32V(segMan, _pSnd->soundObj, state, kSndStatusStopped);
+ if (_soundVersion <= SCI_VERSION_0_LATE)
+ PUT_SEL32V(segMan, _pSnd->soundObj, state, kSndStatusStopped);
debugC(2, kDebugLevelSound, "signal EOT");
}
}