diff options
author | Max Horn | 2004-06-25 22:39:21 +0000 |
---|---|---|
committer | Max Horn | 2004-06-25 22:39:21 +0000 |
commit | 6b722ff11bcaa4622cf662245819993316eb8c5d (patch) | |
tree | 32c18fbb30a80698904e50377b5ce2b83739246d /scumm | |
parent | 7a8d469c666f162570f633ec465798e1e5720eef (diff) | |
download | scummvm-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.cpp | 8 | ||||
-rw-r--r-- | scumm/saveload.cpp | 18 | ||||
-rw-r--r-- | scumm/script_v5.cpp | 15 | ||||
-rw-r--r-- | scumm/script_v8.cpp | 7 | ||||
-rw-r--r-- | scumm/scumm.h | 4 |
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); |