diff options
author | Filippos Karapetis | 2010-01-26 22:04:33 +0000 |
---|---|---|
committer | Filippos Karapetis | 2010-01-26 22:04:33 +0000 |
commit | 46a05ce3326598e9b6b2de7465b17a98efcec2d5 (patch) | |
tree | 483b78754bd7311500fbbb323ed651a0fc4bdf92 /engines | |
parent | d5724a2eda6888a37534b5c14c92bcbf84a815a1 (diff) | |
download | scummvm-rg350-46a05ce3326598e9b6b2de7465b17a98efcec2d5.tar.gz scummvm-rg350-46a05ce3326598e9b6b2de7465b17a98efcec2d5.tar.bz2 scummvm-rg350-46a05ce3326598e9b6b2de7465b17a98efcec2d5.zip |
Fixed loading of old saved games
svn-id: r47576
Diffstat (limited to 'engines')
-rw-r--r-- | engines/sci/sound/soundcmd.cpp | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/engines/sci/sound/soundcmd.cpp b/engines/sci/sound/soundcmd.cpp index 3f1f29711d..7b1f108667 100644 --- a/engines/sci/sound/soundcmd.cpp +++ b/engines/sci/sound/soundcmd.cpp @@ -1047,22 +1047,23 @@ void SoundCommandParser::reconstructPlayList(int savegame_version) { const MusicList::iterator end = _music->getPlayListEnd(); for (MusicList::iterator i = _music->getPlayListStart(); i != end; ++i) { - if (savegame_version < 14) { - (*i)->dataInc = GET_SEL32V(_segMan, (*i)->soundObj, dataInc); - (*i)->signal = GET_SEL32V(_segMan, (*i)->soundObj, signal); - - if (_soundVersion >= SCI_VERSION_1_LATE) - (*i)->volume = GET_SEL32V(_segMan, (*i)->soundObj, vol); - } - if ((*i)->resnum && _resMan->testResource(ResourceId(kResourceTypeSound, (*i)->resnum))) { (*i)->soundRes = new SoundResource((*i)->resnum, _resMan, _soundVersion); _music->soundInitSnd(*i); } else { (*i)->soundRes = 0; } - if ((*i)->status == kSoundPlaying) + if ((*i)->status == kSoundPlaying) { + if (savegame_version < 14) { + (*i)->dataInc = GET_SEL32V(_segMan, (*i)->soundObj, dataInc); + (*i)->signal = GET_SEL32V(_segMan, (*i)->soundObj, signal); + + if (_soundVersion >= SCI_VERSION_1_LATE) + (*i)->volume = GET_SEL32V(_segMan, (*i)->soundObj, vol); + } + cmdPlaySound((*i)->soundObj, 0); + } } #endif |