From dfeb31e187118978a665482fb1b147a62f65c35f Mon Sep 17 00:00:00 2001 From: Max Horn Date: Fri, 9 Dec 2011 15:38:49 +0100 Subject: DREAMWEB: Add DreamWebEngine::getSavegameFilename --- engines/dreamweb/dreamweb.cpp | 9 +++++++++ engines/dreamweb/dreamweb.h | 2 ++ engines/dreamweb/saveload.cpp | 12 ++++++++++++ engines/dreamweb/stubs.cpp | 14 -------------- 4 files changed, 23 insertions(+), 14 deletions(-) diff --git a/engines/dreamweb/dreamweb.cpp b/engines/dreamweb/dreamweb.cpp index f455643eb0..2e2d993d0a 100644 --- a/engines/dreamweb/dreamweb.cpp +++ b/engines/dreamweb/dreamweb.cpp @@ -264,6 +264,15 @@ void DreamWebEngine::closeFile() { _outSaveFile = 0; } +Common::String DreamWebEngine::getSavegameFilename(int slot) const { + // TODO: Are saves from all versions of Dreamweb compatible with each other? + // Then we can can consider keeping the filenames as DREAMWEB.Dnn. + // Otherwise, this must be changed to be target dependent. + //Common::String filename = _targetName + Common::String::format(".d%02d", savegameId); + Common::String filename = Common::String::format("DREAMWEB.D%02d", slot); + return filename; +} + void DreamWebEngine::openSaveFileForWriting(const Common::String &name) { processEvents(); delete _outSaveFile; diff --git a/engines/dreamweb/dreamweb.h b/engines/dreamweb/dreamweb.h index 1d16a188d2..28ca021896 100644 --- a/engines/dreamweb/dreamweb.h +++ b/engines/dreamweb/dreamweb.h @@ -104,6 +104,8 @@ public: void getPalette(uint8 *data, uint start, uint count); void setPalette(const uint8 *data, uint start, uint count); + Common::String getSavegameFilename(int slot) const; + void openSaveFileForWriting(const Common::String &name); uint writeToSaveFile(const uint8 *data, uint size); diff --git a/engines/dreamweb/saveload.cpp b/engines/dreamweb/saveload.cpp index 1ddf54ef44..ad95f318c1 100644 --- a/engines/dreamweb/saveload.cpp +++ b/engines/dreamweb/saveload.cpp @@ -31,6 +31,18 @@ namespace DreamGen { // Temporary storage for loading the room from a savegame Room g_madeUpRoomDat; +void DreamGenContext::openForSave(unsigned int slot) { + Common::String filename = engine->getSavegameFilename(slot); + debug(1, "openForSave(%s)", filename.c_str()); + engine->openSaveFileForWriting(filename); +} + +bool DreamGenContext::openForLoad(unsigned int slot) { + Common::String filename = engine->getSavegameFilename(slot); + debug(1, "openForLoad(%s)", filename.c_str()); + return engine->openSaveFileForReading(filename); +} + void DreamGenContext::loadGame() { if (data.byte(kCommandtype) != 246) { diff --git a/engines/dreamweb/stubs.cpp b/engines/dreamweb/stubs.cpp index 1d4a5a0ec5..388118a2ff 100644 --- a/engines/dreamweb/stubs.cpp +++ b/engines/dreamweb/stubs.cpp @@ -819,20 +819,6 @@ void DreamGenContext::quickQuit2() { engine->quit(); } -void DreamGenContext::openForSave(unsigned int slot) { - //Common::String filename = ConfMan.getActiveDomainName() + Common::String::format(".d%02d", savegameId); - Common::String filename = Common::String::format("DREAMWEB.D%02d", slot); - debug(1, "openForSave(%s)", filename.c_str()); - engine->openSaveFileForWriting(filename); -} - -bool DreamGenContext::openForLoad(unsigned int slot) { - //Common::String filename = ConfMan.getActiveDomainName() + Common::String::format(".d%02d", savegameId); - Common::String filename = Common::String::format("DREAMWEB.D%02d", slot); - debug(1, "openForLoad(%s)", filename.c_str()); - return engine->openSaveFileForReading(filename); -} - void DreamBase::readMouse() { data.word(kOldbutton) = data.word(kMousebutton); uint16 state = readMouseState(); -- cgit v1.2.3