diff options
Diffstat (limited to 'engines/metaengine.h')
-rw-r--r-- | engines/metaengine.h | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/engines/metaengine.h b/engines/metaengine.h index aef860e0f9..0d8a4a15c9 100644 --- a/engines/metaengine.h +++ b/engines/metaengine.h @@ -91,6 +91,44 @@ public: virtual SaveStateList listSaves(const char *target) const { return SaveStateList(); } + + /** + * Remove the specified save state. + * + * For most engines this just involves a call removeSaveFile(). + * Engines which keep an index file will also update it accordingly. + * + * @param slot slot number of the save state to be removed + * @param saveNames a list of all the save state description names + */ + virtual void removeSaveState(int slot, Common::StringList saveNames) const {}; + + + /** @name MetaEngineFeature flags */ + //@{ + + /** + * A feature in this context means an ability of the engine which can be + * either on or off. Examples include: + * - Listing Save States (--list-saves) + * - Loading from the Launcher (-x) + * - Deleting Saves from the Launcher + * + * These determine whether the features will be available to the engine + * in the launcher. + */ + enum MetaEngineFeature { + kSupportsListSaves, + kSupportsDirectLoad, + kSupportsDeleteSave + }; + + /** + * Determine whether the engine supports the specified feature + */ + virtual bool hasFeature(MetaEngineFeature f) { return false; }; + + //@} }; |