aboutsummaryrefslogtreecommitdiff
path: root/engines/scumm/saveload.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/scumm/saveload.cpp')
-rw-r--r--engines/scumm/saveload.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/engines/scumm/saveload.cpp b/engines/scumm/saveload.cpp
index 3cc619f630..ca48a2b86a 100644
--- a/engines/scumm/saveload.cpp
+++ b/engines/scumm/saveload.cpp
@@ -32,6 +32,7 @@
#include "scumm/charset.h"
#include "scumm/imuse_digi/dimuse.h"
#include "scumm/imuse/imuse.h"
+#include "player_towns.h"
#include "scumm/he/intern_he.h"
#include "scumm/object.h"
#include "scumm/resource.h"
@@ -447,6 +448,9 @@ bool ScummEngine::loadState(int slot, bool compat) {
// Update volume settings
syncSoundSettings();
+ if (_townsPlayer && (hdr.ver >= VER(81)))
+ _townsPlayer->restoreAfterLoad();
+
// Init NES costume data
if (_game.platform == Common::kPlatformNES) {
if (hdr.ver < VER(47))
@@ -1394,6 +1398,11 @@ void ScummEngine::saveOrLoad(Serializer *s) {
_imuse->save_or_load(s, this);
}
+
+ // Save/load FM-Towns audio status
+ if (_townsPlayer)
+ _townsPlayer->saveLoadWithSerializer(s);
+
//
// Save/load the charset renderer state
//