aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorJohannes Schickel2008-09-11 19:47:45 +0000
committerJohannes Schickel2008-09-11 19:47:45 +0000
commit0a35842954b9f1e79a84316deb496a4f4ecacf55 (patch)
tree43c3ef778cf7b0c0cde00714308afd85a65478df /engines
parent6fd2cb99db561bf90e785eadf45bf41ace7bf5d8 (diff)
downloadscummvm-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.cpp11
-rw-r--r--engines/kyra/detection.cpp11
-rw-r--r--engines/lure/detection.cpp11
-rw-r--r--engines/metaengine.h6
-rw-r--r--engines/parallaction/detection.cpp11
-rw-r--r--engines/queen/queen.cpp11
-rw-r--r--engines/saga/detection.cpp11
-rw-r--r--engines/scumm/detection.cpp11
-rw-r--r--engines/sword2/sword2.cpp11
-rw-r--r--engines/touche/detection.cpp11
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