aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorFilippos Karapetis2010-01-26 22:04:33 +0000
committerFilippos Karapetis2010-01-26 22:04:33 +0000
commit46a05ce3326598e9b6b2de7465b17a98efcec2d5 (patch)
tree483b78754bd7311500fbbb323ed651a0fc4bdf92 /engines
parentd5724a2eda6888a37534b5c14c92bcbf84a815a1 (diff)
downloadscummvm-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.cpp19
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