diff options
author | Martin Kiewitz | 2010-06-16 21:23:47 +0000 |
---|---|---|
committer | Martin Kiewitz | 2010-06-16 21:23:47 +0000 |
commit | 289b668099071c4609a6081cca97c626d61e93eb (patch) | |
tree | 73554da1f01670b44691e7073940b28a21fca5d2 /engines/sci/sound | |
parent | 02c3397ddf12e636da0b851f6350b45af1859dcd (diff) | |
download | scummvm-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.cpp | 5 |
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(); } |