diff options
author | Jamieson Christian | 2003-07-15 10:16:45 +0000 |
---|---|---|
committer | Jamieson Christian | 2003-07-15 10:16:45 +0000 |
commit | 44bda652ee70941c7a6c2bbe6980808f20b74bb0 (patch) | |
tree | cbecaa8f561e63cf632ecb4689d3787b52a3c66f | |
parent | c2dd5afb6abc308c0bf76d201c4014de0139faaf (diff) | |
download | scummvm-rg350-44bda652ee70941c7a6c2bbe6980808f20b74bb0.tar.gz scummvm-rg350-44bda652ee70941c7a6c2bbe6980808f20b74bb0.tar.bz2 scummvm-rg350-44bda652ee70941c7a6c2bbe6980808f20b74bb0.zip |
Fix for Bug [766851] ALL: MIDI fragment repeats after close ups
Adjusted default _saveSound value used by S&M (whose
value is assumed by pre-S&M games). Corrected save/load
music behavior for non-temporary saves. (Until this default
value change, the incorrect behavior would almost never
manifest itself, so existing savegames should be fine.)
svn-id: r9035
-rw-r--r-- | scumm/saveload.cpp | 6 | ||||
-rw-r--r-- | scumm/scummvm.cpp | 2 |
2 files changed, 4 insertions, 4 deletions
diff --git a/scumm/saveload.cpp b/scumm/saveload.cpp index 02b8c36dad..004d1e38b3 100644 --- a/scumm/saveload.cpp +++ b/scumm/saveload.cpp @@ -130,7 +130,7 @@ bool Scumm::loadState(int slot, bool compat, SaveFileManager *mgr) { /* Nuke all resources */ for (i = rtFirst; i <= rtLast; i++) - if (i != rtTemp && i != rtBuffer && (i != rtSound || _saveSound)) + if (i != rtTemp && i != rtBuffer && (i != rtSound || _saveSound || !compat)) for (j = 0; j < res.num[i]; j++) { nukeResource(i, j); res.flags[i][j] = 0; @@ -551,7 +551,7 @@ void Scumm::saveOrLoad(Serializer *s, uint32 savegameVersion) { int var120Backup; int var98Backup; - if (!s->isSaving() && _saveSound) { + if (!s->isSaving() && (_saveSound || !_saveLoadCompatible)) { _sound->stopAllSounds(); if (_mixer) { if (_imuseDigital) { @@ -668,7 +668,7 @@ void Scumm::saveOrLoad(Serializer *s, uint32 savegameVersion) { } } - if (_imuse && _saveSound) { + if (_imuse && (_saveSound || !_saveLoadCompatible)) { _imuse->save_or_load(s, this); _imuse->set_master_volume (_sound->_sound_volume_master); _imuse->set_music_volume (_sound->_sound_volume_music); diff --git a/scumm/scummvm.cpp b/scumm/scummvm.cpp index 99158481d6..23c15d1c2b 100644 --- a/scumm/scummvm.cpp +++ b/scumm/scummvm.cpp @@ -393,7 +393,7 @@ Scumm::Scumm (GameDetector *detector, OSystem *syst) tempMusic = 0; _silentDigitalImuse = 0; _noDigitalSamples = 0; - _saveSound = 1; + _saveSound = 0; memset(_extraBoxFlags, 0, sizeof(_extraBoxFlags)); memset(_scaleSlots, 0, sizeof(_scaleSlots)); _charset = NULL; |