aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine
diff options
context:
space:
mode:
authorWillem Jan Palenstijn2014-12-13 14:08:34 +0100
committerWillem Jan Palenstijn2014-12-13 14:09:36 +0100
commit4e20a93931685c5a5e37a869c6ef57ed9f78aa83 (patch)
treebf382f8dc003a08b1cbba7e706458c86e57a9040 /engines/sci/engine
parentfd6731c9b6f3977b2d03d1e6db2522e0769d8f33 (diff)
downloadscummvm-rg350-4e20a93931685c5a5e37a869c6ef57ed9f78aa83.tar.gz
scummvm-rg350-4e20a93931685c5a5e37a869c6ef57ed9f78aa83.tar.bz2
scummvm-rg350-4e20a93931685c5a5e37a869c6ef57ed9f78aa83.zip
SCI: Fix comment for workaround.
The previous explanation just wasn't true.
Diffstat (limited to 'engines/sci/engine')
-rw-r--r--engines/sci/engine/savegame.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/engines/sci/engine/savegame.cpp b/engines/sci/engine/savegame.cpp
index 9decc4cef6..0b55425406 100644
--- a/engines/sci/engine/savegame.cpp
+++ b/engines/sci/engine/savegame.cpp
@@ -640,9 +640,11 @@ void SoundCommandParser::reconstructPlayList() {
initSoundResource(*i);
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.
+ // WORKAROUND: PQ3 (German?) scripts can set volume negative in the
+ // sound object directly without going through DoSound.
+ // Since we re-read this selector when re-playing the sound after loading,
+ // this will lead to unexpected behaviour. As a workaround we
+ // sync the sound object's selectors here. (See bug #5501)
writeSelectorValue(_segMan, (*i)->soundObj, SELECTOR(loop), (*i)->loop);
writeSelectorValue(_segMan, (*i)->soundObj, SELECTOR(priority), (*i)->priority);
if (_soundVersion >= SCI_VERSION_1_EARLY)