aboutsummaryrefslogtreecommitdiff
path: root/scumm
diff options
context:
space:
mode:
Diffstat (limited to 'scumm')
-rw-r--r--scumm/imuse_digi/dimuse.cpp3
-rw-r--r--scumm/imuse_digi/dimuse.h1
-rw-r--r--scumm/saveload.cpp5
3 files changed, 8 insertions, 1 deletions
diff --git a/scumm/imuse_digi/dimuse.cpp b/scumm/imuse_digi/dimuse.cpp
index c53b6fa4f8..434a486790 100644
--- a/scumm/imuse_digi/dimuse.cpp
+++ b/scumm/imuse_digi/dimuse.cpp
@@ -76,6 +76,9 @@ void IMuseDigital::resetState() {
_nextSeqToPlay = 0;
}
+void IMuseDigital::saveOrLoad(Serializer *ser) {
+}
+
void IMuseDigital::callback() {
Common::StackLock lock(_mutex, "IMuseDigital::callback()");
int l = 0;
diff --git a/scumm/imuse_digi/dimuse.h b/scumm/imuse_digi/dimuse.h
index 4f8a095379..a6ba576b36 100644
--- a/scumm/imuse_digi/dimuse.h
+++ b/scumm/imuse_digi/dimuse.h
@@ -132,6 +132,7 @@ public:
void startSound(int soundId)
{ error("MusicEngine::startSound() Should be never called"); }
+ void saveOrLoad(Serializer *ser);
void resetState();
void setGroupVoiceVolume(int volume) { _volVoice = volume; }
diff --git a/scumm/saveload.cpp b/scumm/saveload.cpp
index 42c8fa24c8..198cd6a614 100644
--- a/scumm/saveload.cpp
+++ b/scumm/saveload.cpp
@@ -141,7 +141,6 @@ bool ScummEngine::loadState(int slot, bool compat, SaveFileManager *mgr) {
if (_imuseDigital) {
_imuseDigital->stopAllSounds();
- // temporary hack for initial state for imuse music
_imuseDigital->resetState();
}
@@ -789,6 +788,10 @@ void ScummEngine::saveOrLoad(Serializer *s, uint32 savegameVersion) {
_imuse->setMasterVolume(ConfMan.getInt("master_volume"));
_imuse->set_music_volume(ConfMan.getInt("music_volume"));
}
+
+ if (_imuseDigital) {
+ _imuseDigital->saveOrLoad(s);
+ }
}
void ScummEngine::saveLoadResource(Serializer *ser, int type, int idx) {