aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFilippos Karapetis2009-12-27 02:29:58 +0000
committerFilippos Karapetis2009-12-27 02:29:58 +0000
commit93bdde93170ee9b75acaa7e6dfef7c1a6e33599a (patch)
tree3efd9bfd8b358fca7a761d8518f5ced98db43b55
parenta4990f6f334b3d52c5a593750df9bcd4034d8442 (diff)
downloadscummvm-rg350-93bdde93170ee9b75acaa7e6dfef7c1a6e33599a.tar.gz
scummvm-rg350-93bdde93170ee9b75acaa7e6dfef7c1a6e33599a.tar.bz2
scummvm-rg350-93bdde93170ee9b75acaa7e6dfef7c1a6e33599a.zip
The state selector is only available in SCI0 games
svn-id: r46610
-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");
}
}