aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorFilippos Karapetis2010-11-11 10:09:57 +0000
committerFilippos Karapetis2010-11-11 10:09:57 +0000
commit203ff5e19a6107c71dc27909fa4982278d0436fe (patch)
treef5cc7f233b552b170fdf0dcd5eaa9c50640f21fd /engines
parent6711c5a8cf48c579bb4b972d4717fb6f1a394320 (diff)
downloadscummvm-rg350-203ff5e19a6107c71dc27909fa4982278d0436fe.tar.gz
scummvm-rg350-203ff5e19a6107c71dc27909fa4982278d0436fe.tar.bz2
scummvm-rg350-203ff5e19a6107c71dc27909fa4982278d0436fe.zip
SCI: Fixed bug #3104624 - "PQ3: Crash when loading saved game on the highway"
svn-id: r54197
Diffstat (limited to 'engines')
-rw-r--r--engines/sci/engine/savegame.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/engines/sci/engine/savegame.cpp b/engines/sci/engine/savegame.cpp
index 60cdc494c7..17c9b81fce 100644
--- a/engines/sci/engine/savegame.cpp
+++ b/engines/sci/engine/savegame.cpp
@@ -620,6 +620,14 @@ void SoundCommandParser::reconstructPlayList() {
(*i)->soundRes = 0;
}
if ((*i)->status == kSoundPlaying) {
+ // Sync the sound object's selectors related to playing with the stored
+ // ones in the playlist, as they may have been invalidated when loading.
+ // Refer to bug #3104624.
+ writeSelectorValue(_segMan, (*i)->soundObj, SELECTOR(loop), (*i)->loop);
+ writeSelectorValue(_segMan, (*i)->soundObj, SELECTOR(priority), (*i)->priority);
+ if (_soundVersion >= SCI_VERSION_1_EARLY)
+ writeSelectorValue(_segMan, (*i)->soundObj, SELECTOR(vol), (*i)->volume);
+
processPlaySound((*i)->soundObj);
}
}