diff options
-rw-r--r-- | scumm/imuse.cpp | 4 | ||||
-rw-r--r-- | scumm/saveload.cpp | 13 |
2 files changed, 9 insertions, 8 deletions
diff --git a/scumm/imuse.cpp b/scumm/imuse.cpp index 550b1994e8..30af7deee7 100644 --- a/scumm/imuse.cpp +++ b/scumm/imuse.cpp @@ -3255,9 +3255,6 @@ int IMuseInternal::save_or_load(Serializer *ser, Scumm *scumm) MKEND() }; - if (!ser->isSaving()) { - stop_all_sounds(); - } #ifdef _WIN32_WCE // Don't break savegames made with andys' build if (!ser->isSaving() && ser->checkEOFLoadStream()) return 0; @@ -3279,6 +3276,7 @@ int IMuseInternal::save_or_load(Serializer *ser, Scumm *scumm) _active_volume_faders = true; fix_parts_after_load(); _driver->update_pris(); + set_master_volume (_master_volume); } return 0; diff --git a/scumm/saveload.cpp b/scumm/saveload.cpp index 5c227d8e33..434efb06e2 100644 --- a/scumm/saveload.cpp +++ b/scumm/saveload.cpp @@ -631,11 +631,14 @@ void Scumm::saveOrLoad(Serializer *s) int var120Backup; int var98Backup; - if (_mixer && !s->isSaving()) { - if (_imuseDigital) { - _imuseDigital->stopAll(); - } else { - _mixer->stopAll(); + if (!s->isSaving()) { + _sound->stopAllSounds(); + if (_mixer) { + if (_imuseDigital) { + _imuseDigital->stopAll(); + } else { + _mixer->stopAll(); + } } } |