aboutsummaryrefslogtreecommitdiff
path: root/scumm
diff options
context:
space:
mode:
authorJamieson Christian2002-12-07 18:03:10 +0000
committerJamieson Christian2002-12-07 18:03:10 +0000
commitb382c79a4141c3dacc72978e581b2a483fbc10b9 (patch)
treead68fab8922e76d44cca80956b6a441630966ffd /scumm
parent6049cc9035aae9789565d98532041e1bfbff6df2 (diff)
downloadscummvm-rg350-b382c79a4141c3dacc72978e581b2a483fbc10b9.tar.gz
scummvm-rg350-b382c79a4141c3dacc72978e581b2a483fbc10b9.tar.bz2
scummvm-rg350-b382c79a4141c3dacc72978e581b2a483fbc10b9.zip
Fixed music overlaps when running ScummVM with the -x option
svn-id: r5872
Diffstat (limited to 'scumm')
-rw-r--r--scumm/imuse.cpp4
-rw-r--r--scumm/saveload.cpp13
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();
+ }
}
}