aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine
diff options
context:
space:
mode:
authorWillem Jan Palenstijn2015-02-14 15:20:23 +0100
committerWillem Jan Palenstijn2015-02-15 14:05:36 +0100
commit5028487038fd3572d68af3cd253fc28917245e63 (patch)
tree2eae0cb30478a7ab94ff075942e9c1044348da88 /engines/sci/engine
parent0018bb0f6f36fd1798ec92d2e7e6654e026fe19b (diff)
downloadscummvm-rg350-5028487038fd3572d68af3cd253fc28917245e63.tar.gz
scummvm-rg350-5028487038fd3572d68af3cd253fc28917245e63.tar.bz2
scummvm-rg350-5028487038fd3572d68af3cd253fc28917245e63.zip
SCI: Use sound resource priority by default for songs
SCI1 sound resources can have an embedded priority. We now use that by default, unless an explicit DoSound/SetPriority call overrides it. Thanks waltervn. This fixes relative priority of songs in at least PQ3 room 29. Also increase savegame version to 33.
Diffstat (limited to 'engines/sci/engine')
-rw-r--r--engines/sci/engine/savegame.cpp4
-rw-r--r--engines/sci/engine/savegame.h3
2 files changed, 6 insertions, 1 deletions
diff --git a/engines/sci/engine/savegame.cpp b/engines/sci/engine/savegame.cpp
index eee4c49729..61f8058e45 100644
--- a/engines/sci/engine/savegame.cpp
+++ b/engines/sci/engine/savegame.cpp
@@ -621,6 +621,10 @@ void MusicEntry::saveLoadWithSerializer(Common::Serializer &s) {
s.syncAsByte(playBed);
else if (s.isLoading())
playBed = false;
+ if (s.getVersion() >= 33)
+ s.syncAsByte(overridePriority);
+ else if (s.isLoading())
+ overridePriority = false;
// pMidiParser and pStreamAud will be initialized when the
// sound list is reconstructed in gamestate_restore()
diff --git a/engines/sci/engine/savegame.h b/engines/sci/engine/savegame.h
index be6d05cdc5..7f482ed0a1 100644
--- a/engines/sci/engine/savegame.h
+++ b/engines/sci/engine/savegame.h
@@ -37,6 +37,7 @@ struct EngineState;
*
* Version - new/changed feature
* =============================
+ * 33 - new overridePriority flag in MusicEntry
* 32 - new playBed flag in MusicEntry
* 31 - priority for sound effects/music is now a signed int16, instead of a byte
* 30 - synonyms
@@ -57,7 +58,7 @@ struct EngineState;
*/
enum {
- CURRENT_SAVEGAME_VERSION = 32,
+ CURRENT_SAVEGAME_VERSION = 33,
MINIMUM_SAVEGAME_VERSION = 14
};