aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--scumm/saveload.cpp9
-rw-r--r--scumm/scumm.h16
2 files changed, 9 insertions, 16 deletions
diff --git a/scumm/saveload.cpp b/scumm/saveload.cpp
index 198cd6a614..59567c1eac 100644
--- a/scumm/saveload.cpp
+++ b/scumm/saveload.cpp
@@ -38,6 +38,7 @@
#include "sound/audiocd.h"
#include "sound/mixer.h"
+#include <memory>
namespace Scumm {
@@ -63,7 +64,9 @@ void ScummEngine::requestLoad(int slot) {
_saveLoadFlag = 2; // 2 for load
}
-bool ScummEngine::saveState(int slot, bool compat, SaveFileManager *mgr) {
+bool ScummEngine::saveState(int slot, bool compat) {
+ const std::auto_ptr<SaveFileManager> mgr(_system->get_savefile_manager());
+
char filename[256];
SaveFile *out;
SaveGameHeader hdr;
@@ -88,7 +91,9 @@ bool ScummEngine::saveState(int slot, bool compat, SaveFileManager *mgr) {
return true;
}
-bool ScummEngine::loadState(int slot, bool compat, SaveFileManager *mgr) {
+bool ScummEngine::loadState(int slot, bool compat) {
+ const std::auto_ptr<SaveFileManager> mgr(_system->get_savefile_manager());
+
char filename[256];
SaveFile *in;
int i, j;
diff --git a/scumm/scumm.h b/scumm/scumm.h
index 79ba0ba4c4..a2fb75e561 100644
--- a/scumm/scumm.h
+++ b/scumm/scumm.h
@@ -507,20 +507,8 @@ protected:
bool _saveTemporaryState;
char _saveLoadName[32];
- bool saveState(int slot, bool compat, SaveFileManager *mgr);
- bool loadState(int slot, bool compat, SaveFileManager *mgr);
- bool saveState(int slot, bool compat) {
- SaveFileManager *mgr = _system->get_savefile_manager();
- bool result = saveState(slot, compat, mgr);
- delete mgr;
- return result;
- }
- bool loadState(int slot, bool compat) {
- SaveFileManager *mgr = _system->get_savefile_manager();
- bool result = loadState(slot, compat, mgr);
- delete mgr;
- return result;
- }
+ bool saveState(int slot, bool compat);
+ bool loadState(int slot, bool compat);
void saveOrLoad(Serializer *s, uint32 savegameVersion);
void saveLoadResource(Serializer *ser, int type, int index); // "Obsolete"
void saveResource(Serializer *ser, int type, int index);