diff options
author | Filippos Karapetis | 2009-12-27 02:29:58 +0000 |
---|---|---|
committer | Filippos Karapetis | 2009-12-27 02:29:58 +0000 |
commit | 93bdde93170ee9b75acaa7e6dfef7c1a6e33599a (patch) | |
tree | 3efd9bfd8b358fca7a761d8518f5ced98db43b55 /engines | |
parent | a4990f6f334b3d52c5a593750df9bcd4034d8442 (diff) | |
download | scummvm-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
Diffstat (limited to 'engines')
-rw-r--r-- | engines/sci/sfx/music.cpp | 6 |
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"); } } |