diff options
author | Johannes Schickel | 2008-09-11 19:47:45 +0000 |
---|---|---|
committer | Johannes Schickel | 2008-09-11 19:47:45 +0000 |
commit | 0a35842954b9f1e79a84316deb496a4f4ecacf55 (patch) | |
tree | 43c3ef778cf7b0c0cde00714308afd85a65478df /engines | |
parent | 6fd2cb99db561bf90e785eadf45bf41ace7bf5d8 (diff) | |
download | scummvm-rg350-0a35842954b9f1e79a84316deb496a4f4ecacf55.tar.gz scummvm-rg350-0a35842954b9f1e79a84316deb496a4f4ecacf55.tar.bz2 scummvm-rg350-0a35842954b9f1e79a84316deb496a4f4ecacf55.zip |
Committed my patch #2105593 "Launcher/MetaEngine: Finnished removeSaveState".
svn-id: r34495
Diffstat (limited to 'engines')
-rw-r--r-- | engines/agi/detection.cpp | 11 | ||||
-rw-r--r-- | engines/kyra/detection.cpp | 11 | ||||
-rw-r--r-- | engines/lure/detection.cpp | 11 | ||||
-rw-r--r-- | engines/metaengine.h | 6 | ||||
-rw-r--r-- | engines/parallaction/detection.cpp | 11 | ||||
-rw-r--r-- | engines/queen/queen.cpp | 11 | ||||
-rw-r--r-- | engines/saga/detection.cpp | 11 | ||||
-rw-r--r-- | engines/scumm/detection.cpp | 11 | ||||
-rw-r--r-- | engines/sword2/sword2.cpp | 11 | ||||
-rw-r--r-- | engines/touche/detection.cpp | 11 |
10 files changed, 101 insertions, 4 deletions
diff --git a/engines/agi/detection.cpp b/engines/agi/detection.cpp index 9caf09fd28..2b2d7e080b 100644 --- a/engines/agi/detection.cpp +++ b/engines/agi/detection.cpp @@ -2125,6 +2125,7 @@ public: virtual bool hasFeature(MetaEngineFeature f) const; virtual bool createInstance(OSystem *syst, Engine **engine, const Common::ADGameDescription *desc) const; virtual SaveStateList listSaves(const char *target) const; + virtual void removeSaveState(const char *target, int slot) const; const Common::ADGameDescription *fallbackDetect(const Common::FSList *fslist) const; }; @@ -2189,6 +2190,16 @@ SaveStateList AgiMetaEngine::listSaves(const char *target) const { return saveList; } +void AgiMetaEngine::removeSaveState(const char *target, int slot) const { + char extension[6]; + snprintf(extension, sizeof(extension), ".%03d", slot); + + Common::String filename = target; + filename += extension; + + g_system->getSavefileManager()->removeSavefile(filename.c_str()); +} + const Common::ADGameDescription *AgiMetaEngine::fallbackDetect(const Common::FSList *fslist) const { typedef Common::HashMap<Common::String, int32> IntMap; IntMap allFiles; diff --git a/engines/kyra/detection.cpp b/engines/kyra/detection.cpp index c19db16d36..ccddbeb64c 100644 --- a/engines/kyra/detection.cpp +++ b/engines/kyra/detection.cpp @@ -1067,6 +1067,7 @@ public: bool hasFeature(MetaEngineFeature f) const; bool createInstance(OSystem *syst, Engine **engine, const Common::ADGameDescription *desc) const; SaveStateList listSaves(const char *target) const; + void removeSaveState(const char *target, int slot) const; }; bool KyraMetaEngine::hasFeature(MetaEngineFeature f) const { @@ -1147,6 +1148,16 @@ SaveStateList KyraMetaEngine::listSaves(const char *target) const { return saveList; } +void KyraMetaEngine::removeSaveState(const char *target, int slot) const { + char extension[6]; + snprintf(extension, sizeof(extension), ".%03d", slot); + + Common::String filename = target; + filename += extension; + + g_system->getSavefileManager()->removeSavefile(filename.c_str()); +} + #if PLUGIN_ENABLED_DYNAMIC(KYRA) REGISTER_PLUGIN_DYNAMIC(KYRA, PLUGIN_TYPE_ENGINE, KyraMetaEngine); #else diff --git a/engines/lure/detection.cpp b/engines/lure/detection.cpp index ccfa26fadc..163d095243 100644 --- a/engines/lure/detection.cpp +++ b/engines/lure/detection.cpp @@ -188,6 +188,7 @@ public: virtual bool hasFeature(MetaEngineFeature f) const; virtual bool createInstance(OSystem *syst, Engine **engine, const Common::ADGameDescription *desc) const; virtual SaveStateList listSaves(const char *target) const; + virtual void removeSaveState(const char *target, int slot) const; }; bool LureMetaEngine::hasFeature(MetaEngineFeature f) const { @@ -234,6 +235,16 @@ SaveStateList LureMetaEngine::listSaves(const char *target) const { return saveList; } +void LureMetaEngine::removeSaveState(const char *target, int slot) const { + char extension[6]; + snprintf(extension, sizeof(extension), ".%03d", slot); + + Common::String filename = target; + filename += extension; + + g_system->getSavefileManager()->removeSavefile(filename.c_str()); +} + #if PLUGIN_ENABLED_DYNAMIC(LURE) REGISTER_PLUGIN_DYNAMIC(LURE, PLUGIN_TYPE_ENGINE, LureMetaEngine); #else diff --git a/engines/metaengine.h b/engines/metaengine.h index bf640815a6..b6fa21fd5f 100644 --- a/engines/metaengine.h +++ b/engines/metaengine.h @@ -101,12 +101,10 @@ public: * For most engines this just amounts to calling _saveFileMan->removeSaveFile(). * Engines which keep an index file will also update it accordingly. * + * @param target name of a config manager target * @param slot slot number of the save state to be removed - * - * @todo This method is currently never called. Rather, LauncherDialog::loadGame - * directly calls _saveFileMan->removeSaveFile() if kSupportsDeleteSave is set. */ - virtual void removeSaveState(int slot) const {}; + virtual void removeSaveState(const char *target, int slot) const {}; /** @name MetaEngineFeature flags */ diff --git a/engines/parallaction/detection.cpp b/engines/parallaction/detection.cpp index aae17d32e1..d2444c642e 100644 --- a/engines/parallaction/detection.cpp +++ b/engines/parallaction/detection.cpp @@ -246,6 +246,7 @@ public: virtual bool hasFeature(MetaEngineFeature f) const; virtual bool createInstance(OSystem *syst, Engine **engine, const Common::ADGameDescription *desc) const; virtual SaveStateList listSaves(const char *target) const; + virtual void removeSaveState(const char *target, int slot) const; }; bool ParallactionMetaEngine::hasFeature(MetaEngineFeature f) const { @@ -302,6 +303,16 @@ SaveStateList ParallactionMetaEngine::listSaves(const char *target) const { return saveList; } +void ParallactionMetaEngine::removeSaveState(const char *target, int slot) const { + char extension[6]; + snprintf(extension, sizeof(extension), ".0%02d", slot); + + Common::String filename = target; + filename += extension; + + g_system->getSavefileManager()->removeSavefile(filename.c_str()); +} + #if PLUGIN_ENABLED_DYNAMIC(PARALLACTION) REGISTER_PLUGIN_DYNAMIC(PARALLACTION, PLUGIN_TYPE_ENGINE, ParallactionMetaEngine); #else diff --git a/engines/queen/queen.cpp b/engines/queen/queen.cpp index a73eedaf4f..6cdd020b8f 100644 --- a/engines/queen/queen.cpp +++ b/engines/queen/queen.cpp @@ -65,6 +65,7 @@ public: virtual GameDescriptor findGame(const char *gameid) const; virtual GameList detectGames(const Common::FSList &fslist) const; virtual SaveStateList listSaves(const char *target) const; + virtual void removeSaveState(const char *target, int slot) const; virtual PluginError createInstance(OSystem *syst, Engine **engine) const; }; @@ -161,6 +162,16 @@ SaveStateList QueenMetaEngine::listSaves(const char *target) const { return saveList; } +void QueenMetaEngine::removeSaveState(const char *target, int slot) const { + char extension[6]; + snprintf(extension, sizeof(extension), ".s%02d", slot); + + Common::String filename = target; + filename += extension; + + g_system->getSavefileManager()->removeSavefile(filename.c_str()); +} + PluginError QueenMetaEngine::createInstance(OSystem *syst, Engine **engine) const { assert(engine); *engine = new Queen::QueenEngine(syst); diff --git a/engines/saga/detection.cpp b/engines/saga/detection.cpp index cc9ba34cdc..a31e9b755a 100644 --- a/engines/saga/detection.cpp +++ b/engines/saga/detection.cpp @@ -150,6 +150,7 @@ public: virtual bool hasFeature(MetaEngineFeature f) const; virtual bool createInstance(OSystem *syst, Engine **engine, const Common::ADGameDescription *desc) const; virtual SaveStateList listSaves(const char *target) const; + virtual void removeSaveState(const char *target, int slot) const; }; bool SagaMetaEngine::hasFeature(MetaEngineFeature f) const { @@ -198,6 +199,16 @@ SaveStateList SagaMetaEngine::listSaves(const char *target) const { return saveList; } +void SagaMetaEngine::removeSaveState(const char *target, int slot) const { + char extension[6]; + snprintf(extension, sizeof(extension), ".s%02d", slot); + + Common::String filename = target; + filename += extension; + + g_system->getSavefileManager()->removeSavefile(filename.c_str()); +} + #if PLUGIN_ENABLED_DYNAMIC(SAGA) REGISTER_PLUGIN_DYNAMIC(SAGA, PLUGIN_TYPE_ENGINE, SagaMetaEngine); #else diff --git a/engines/scumm/detection.cpp b/engines/scumm/detection.cpp index 2a6e0c0b10..1062e77114 100644 --- a/engines/scumm/detection.cpp +++ b/engines/scumm/detection.cpp @@ -682,6 +682,7 @@ public: virtual PluginError createInstance(OSystem *syst, Engine **engine) const; virtual SaveStateList listSaves(const char *target) const; + virtual void removeSaveState(const char *target, int slot) const; }; bool ScummMetaEngine::hasFeature(MetaEngineFeature f) const { @@ -975,6 +976,16 @@ SaveStateList ScummMetaEngine::listSaves(const char *target) const { return saveList; } +void ScummMetaEngine::removeSaveState(const char *target, int slot) const { + char extension[6]; + snprintf(extension, sizeof(extension), ".s%02d", slot); + + Common::String filename = target; + filename += extension; + + g_system->getSavefileManager()->removeSavefile(filename.c_str()); +} + #if PLUGIN_ENABLED_DYNAMIC(SCUMM) REGISTER_PLUGIN_DYNAMIC(SCUMM, PLUGIN_TYPE_ENGINE, ScummMetaEngine); #else diff --git a/engines/sword2/sword2.cpp b/engines/sword2/sword2.cpp index 390db0d275..dc884eaacb 100644 --- a/engines/sword2/sword2.cpp +++ b/engines/sword2/sword2.cpp @@ -85,6 +85,7 @@ public: virtual GameDescriptor findGame(const char *gameid) const; virtual GameList detectGames(const Common::FSList &fslist) const; virtual SaveStateList listSaves(const char *target) const; + virtual void removeSaveState(const char *target, int slot) const; virtual PluginError createInstance(OSystem *syst, Engine **engine) const; }; @@ -196,6 +197,16 @@ SaveStateList Sword2MetaEngine::listSaves(const char *target) const { return saveList; } +void Sword2MetaEngine::removeSaveState(const char *target, int slot) const { + char extension[6]; + snprintf(extension, sizeof(extension), ".%03d", slot); + + Common::String filename = target; + filename += extension; + + g_system->getSavefileManager()->removeSavefile(filename.c_str()); +} + PluginError Sword2MetaEngine::createInstance(OSystem *syst, Engine **engine) const { assert(syst); assert(engine); diff --git a/engines/touche/detection.cpp b/engines/touche/detection.cpp index 89655ac9ab..bbc605ba46 100644 --- a/engines/touche/detection.cpp +++ b/engines/touche/detection.cpp @@ -139,6 +139,7 @@ public: virtual bool hasFeature(MetaEngineFeature f) const; virtual bool createInstance(OSystem *syst, Engine **engine, const Common::ADGameDescription *desc) const; virtual SaveStateList listSaves(const char *target) const; + virtual void removeSaveState(const char *target, int slot) const; }; bool ToucheMetaEngine::hasFeature(MetaEngineFeature f) const { @@ -208,6 +209,16 @@ SaveStateList ToucheMetaEngine::listSaves(const char *target) const { return saveList; } +void ToucheMetaEngine::removeSaveState(const char *target, int slot) const { + char extension[5]; + snprintf(extension, sizeof(extension), ".%d", slot); + + Common::String filename = target; + filename += extension; + + g_system->getSavefileManager()->removeSavefile(filename.c_str()); +} + #if PLUGIN_ENABLED_DYNAMIC(TOUCHE) REGISTER_PLUGIN_DYNAMIC(TOUCHE, PLUGIN_TYPE_ENGINE, ToucheMetaEngine); #else |