aboutsummaryrefslogtreecommitdiff
path: root/scumm
diff options
context:
space:
mode:
authorMax Horn2004-06-25 22:39:21 +0000
committerMax Horn2004-06-25 22:39:21 +0000
commit6b722ff11bcaa4622cf662245819993316eb8c5d (patch)
tree32c18fbb30a80698904e50377b5ce2b83739246d /scumm
parent7a8d469c666f162570f633ec465798e1e5720eef (diff)
downloadscummvm-rg350-6b722ff11bcaa4622cf662245819993316eb8c5d.tar.gz
scummvm-rg350-6b722ff11bcaa4622cf662245819993316eb8c5d.tar.bz2
scummvm-rg350-6b722ff11bcaa4622cf662245819993316eb8c5d.zip
Added Engine::_saveFileMan; thus was able to get rid of auto_ptr usage again
svn-id: r14058
Diffstat (limited to 'scumm')
-rw-r--r--scumm/dialogs.cpp8
-rw-r--r--scumm/saveload.cpp18
-rw-r--r--scumm/script_v5.cpp15
-rw-r--r--scumm/script_v8.cpp7
-rw-r--r--scumm/scumm.h4
5 files changed, 15 insertions, 37 deletions
diff --git a/scumm/dialogs.cpp b/scumm/dialogs.cpp
index b4cf20869f..d2534e6b7b 100644
--- a/scumm/dialogs.cpp
+++ b/scumm/dialogs.cpp
@@ -44,8 +44,6 @@
#include "backends/wince/CEKeysDialog.h"
#endif
-#include <memory>
-
using GUI::CommandSender;
using GUI::StaticTextWidget;
using GUI::kButtonWidth;
@@ -257,12 +255,10 @@ Common::StringList generateSavegameList(ScummEngine *scumm, bool saveMode) {
uint i = saveMode ? 1 : 0;
bool avail_saves[81];
- const std::auto_ptr<SaveFileManager> mgr(OSystem::instance()->get_savefile_manager());
-
- scumm->listSavegames(avail_saves, ARRAYSIZE(avail_saves), mgr.get());
+ scumm->listSavegames(avail_saves, ARRAYSIZE(avail_saves));
for (; i < ARRAYSIZE(avail_saves); i++) {
if (avail_saves[i])
- scumm->getSavegameName(i, name, mgr.get());
+ scumm->getSavegameName(i, name);
else
name[0] = 0;
l.push_back(name);
diff --git a/scumm/saveload.cpp b/scumm/saveload.cpp
index 59567c1eac..4d70cff543 100644
--- a/scumm/saveload.cpp
+++ b/scumm/saveload.cpp
@@ -38,8 +38,6 @@
#include "sound/audiocd.h"
#include "sound/mixer.h"
-#include <memory>
-
namespace Scumm {
struct SaveGameHeader {
@@ -65,15 +63,13 @@ void ScummEngine::requestLoad(int slot) {
}
bool ScummEngine::saveState(int slot, bool compat) {
- const std::auto_ptr<SaveFileManager> mgr(_system->get_savefile_manager());
-
char filename[256];
SaveFile *out;
SaveGameHeader hdr;
makeSavegameName(filename, slot, compat);
- if (!(out = mgr->open_savefile(filename, getSavePath(), true)))
+ if (!(out = _saveFileMan->open_savefile(filename, getSavePath(), true)))
return false;
memcpy(hdr.name, _saveLoadName, sizeof(hdr.name));
@@ -92,8 +88,6 @@ bool ScummEngine::saveState(int slot, bool compat) {
}
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;
@@ -101,7 +95,7 @@ bool ScummEngine::loadState(int slot, bool compat) {
byte *roomptr;
makeSavegameName(filename, slot, compat);
- if (!(in = mgr->open_savefile(filename, getSavePath(), false)))
+ if (!(in = _saveFileMan->open_savefile(filename, getSavePath(), false)))
return false;
in->read(&hdr, sizeof(hdr));
@@ -300,21 +294,21 @@ void ScummEngine::makeSavegameName(char *out, int slot, bool compatible) {
sprintf(out, "%s.%c%.2d", _targetName.c_str(), compatible ? 'c' : 's', slot);
}
-void ScummEngine::listSavegames(bool *marks, int num, SaveFileManager *mgr) {
+void ScummEngine::listSavegames(bool *marks, int num) {
char prefix[256];
makeSavegameName(prefix, 99, false);
prefix[strlen(prefix)-2] = 0;
- mgr->list_savefiles(prefix, getSavePath(), marks, num);
+ _saveFileMan->list_savefiles(prefix, getSavePath(), marks, num);
}
-bool ScummEngine::getSavegameName(int slot, char *desc, SaveFileManager *mgr) {
+bool ScummEngine::getSavegameName(int slot, char *desc) {
char filename[256];
SaveFile *out;
SaveGameHeader hdr;
int len;
makeSavegameName(filename, slot, false);
- if (!(out = mgr->open_savefile(filename, getSavePath(), false))) {
+ if (!(out = _saveFileMan->open_savefile(filename, getSavePath(), false))) {
strcpy(desc, "");
return false;
}
diff --git a/scumm/script_v5.cpp b/scumm/script_v5.cpp
index a5d465d48a..19438b80bf 100644
--- a/scumm/script_v5.cpp
+++ b/scumm/script_v5.cpp
@@ -29,8 +29,6 @@
#include "scumm/sound.h"
#include "scumm/verbs.h"
-#include <memory>
-
namespace Scumm {
#define OPCODE(x) { &ScummEngine_v5::x, #x }
@@ -1174,11 +1172,10 @@ void ScummEngine_v5::o5_saveLoadGame() {
case 0xC0: // test if save exists
bool avail_saves[100];
char filename[256];
- const std::auto_ptr<SaveFileManager> mgr(_system->get_savefile_manager());
- listSavegames(avail_saves, ARRAYSIZE(avail_saves), mgr.get());
+ listSavegames(avail_saves, ARRAYSIZE(avail_saves));
makeSavegameName(filename, slot, false);
- if (avail_saves[slot] && (mgr->open_savefile(filename, getSavePath(), false)))
+ if (avail_saves[slot] && (_saveFileMan->open_savefile(filename, getSavePath(), false)))
result = 6; // save file exists
else
result = 7; // save file does not exist
@@ -1941,9 +1938,7 @@ void ScummEngine_v5::o5_roomOps() {
s = filename;
while ((*s++ = fetchScriptByte()));
- const std::auto_ptr<SaveFileManager> mgr(_system->get_savefile_manager());
-
- file = mgr->open_savefile(filename, getSavePath(), true);
+ file = _saveFileMan->open_savefile(filename, getSavePath(), true);
if (file != NULL) {
byte *ptr;
ptr = getResourceAddress(rtString, a);
@@ -1961,9 +1956,7 @@ void ScummEngine_v5::o5_roomOps() {
s = filename;
while ((*s++ = fetchScriptByte()));
- const std::auto_ptr<SaveFileManager> mgr(_system->get_savefile_manager());
-
- file = mgr->open_savefile(filename, getSavePath(), false);
+ file = _saveFileMan->open_savefile(filename, getSavePath(), false);
if (file != NULL) {
byte *ptr;
int len = 256, cnt = 0;
diff --git a/scumm/script_v8.cpp b/scumm/script_v8.cpp
index 94c26b920f..df452ba62d 100644
--- a/scumm/script_v8.cpp
+++ b/scumm/script_v8.cpp
@@ -34,8 +34,6 @@
#include "scumm/smush/smush_player.h"
#include "sound/mixer.h"
-#include <memory>
-
namespace Scumm {
#define OPCODE(x) { &ScummEngine_v8::x, #x }
@@ -1323,7 +1321,6 @@ void ScummEngine_v8::o8_kernelSetFunctions() {
warning("o8_kernelSetFunctions: clearTextQueue()");
break;
case 25: { // saveGameReadName
- const std::auto_ptr<SaveFileManager> mgr(_system->get_savefile_manager());
char *address = (char*)getStringAddress(args[2]);
char name[30];
@@ -1331,14 +1328,12 @@ void ScummEngine_v8::o8_kernelSetFunctions() {
warning("o8_kernelSetFunctions: saveGameReadName failed finding slot string %d", args[2]);
break;
}
- getSavegameName(args[1] - 1, name, mgr.get());
+ getSavegameName(args[1] - 1, name);
if (strlen(name) > 0 && strlen(name) < 30)
strcpy(address, name);
break;
}
case 26: { // saveGame?
- //const std::auto_ptr<SaveFileManager> mgr(_system->get_savefile_manager());
-
//char *address = (char*)getStringAddress(args[2]);
char address[30];
warning("o8_kernelSetFunctions: saveGame?(%d, %s)", args[1], address);
diff --git a/scumm/scumm.h b/scumm/scumm.h
index a2fb75e561..64947b95cd 100644
--- a/scumm/scumm.h
+++ b/scumm/scumm.h
@@ -518,8 +518,8 @@ protected:
int getKeyState(int key);
public:
- bool getSavegameName(int slot, char *desc, SaveFileManager *mgr);
- void listSavegames(bool *marks, int num, SaveFileManager *mgr);
+ bool getSavegameName(int slot, char *desc);
+ void listSavegames(bool *marks, int num);
void requestSave(int slot, const char *name, bool compatible = false);
void requestLoad(int slot);