aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/sound
diff options
context:
space:
mode:
authorMartin Kiewitz2010-06-16 21:23:47 +0000
committerMartin Kiewitz2010-06-16 21:23:47 +0000
commit289b668099071c4609a6081cca97c626d61e93eb (patch)
tree73554da1f01670b44691e7073940b28a21fca5d2 /engines/sci/sound
parent02c3397ddf12e636da0b851f6350b45af1859dcd (diff)
downloadscummvm-rg350-289b668099071c4609a6081cca97c626d61e93eb.tar.gz
scummvm-rg350-289b668099071c4609a6081cca97c626d61e93eb.tar.bz2
scummvm-rg350-289b668099071c4609a6081cca97c626d61e93eb.zip
SCI: dont seek during init of music but on play, fixes assert when restoring saves caused by r49905 - because channel remapping isn't done at that point
svn-id: r49907
Diffstat (limited to 'engines/sci/sound')
-rw-r--r--engines/sci/sound/music.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/engines/sci/sound/music.cpp b/engines/sci/sound/music.cpp
index 69e1c180e8..213d3830c7 100644
--- a/engines/sci/sound/music.cpp
+++ b/engines/sci/sound/music.cpp
@@ -224,8 +224,6 @@ void SciMusic::soundInitSnd(MusicEntry *pSnd) {
channelFilterMask = pSnd->soundRes->getChannelFilterMask(_pMidiDrv->getPlayId(), _pMidiDrv->hasRhythmChannel());
pSnd->pMidiParser->loadMusic(track, pSnd, channelFilterMask, _soundVersion);
- // Fast forward to the last position and perform associated events when loading
- pSnd->pMidiParser->jumpToTick(pSnd->ticker, true);
_mutex.unlock();
}
}
@@ -316,6 +314,9 @@ void SciMusic::soundPlay(MusicEntry *pSnd) {
pSnd->pMidiParser->setVolume(pSnd->volume);
if (pSnd->status == kSoundStopped)
pSnd->pMidiParser->jumpToTick(0);
+ else
+ // Fast forward to the last position and perform associated events when loading
+ pSnd->pMidiParser->jumpToTick(pSnd->ticker, true);
}
_mutex.unlock();
}