mirror of
https://github.com/libretro/scummvm.git
synced 2025-02-24 05:01:43 +00:00
ENGINES: Cleanup of get savegame file & patterns
This commit is contained in:
parent
4539159dbe
commit
bf754b76aa
@ -111,7 +111,7 @@ public:
|
||||
SaveStateList listSaves(const char *target) const override;
|
||||
int getMaximumSaveSlot() const override;
|
||||
void removeSaveState(const char *target, int slot) const override;
|
||||
const char *getSavegameFile(int saveGameIdx, const char *target = nullptr) const override;
|
||||
Common::String getSavegameFile(int saveGameIdx, const char *target = nullptr) const override;
|
||||
SaveStateDescriptor querySaveMetaInfos(const char *target, int slot) const override;
|
||||
};
|
||||
|
||||
@ -220,12 +220,8 @@ SaveStateList CineMetaEngine::listSaves(const char *target) const {
|
||||
|
||||
int CineMetaEngine::getMaximumSaveSlot() const { return MAX_SAVEGAMES - 1; }
|
||||
|
||||
const char *CineMetaEngine::getSavegameFile(int saveGameIdx, const char *target) const {
|
||||
static char buffer[200];
|
||||
|
||||
snprintf(buffer, sizeof(buffer), "%s.%d", target == nullptr ? getEngineId() : target, saveGameIdx);
|
||||
|
||||
return buffer;
|
||||
Common::String CineMetaEngine::getSavegameFile(int saveGameIdx, const char *target) const {
|
||||
return Common::String::format("%s.%d", target == nullptr ? getEngineId() : target, saveGameIdx);
|
||||
}
|
||||
|
||||
SaveStateDescriptor CineMetaEngine::querySaveMetaInfos(const char *target, int slot) const {
|
||||
@ -331,7 +327,7 @@ void CineMetaEngine::removeSaveState(const char *target, int slot) const {
|
||||
delete out;
|
||||
|
||||
// Delete save file
|
||||
const char *saveFileName = getSavegameFile(slot, target);
|
||||
Common::String saveFileName = getSavegameFile(slot, target);
|
||||
|
||||
g_system->getSavefileManager()->removeSavefile(saveFileName);
|
||||
}
|
||||
|
@ -78,25 +78,19 @@ public:
|
||||
virtual int getAutosaveSlot() const override {
|
||||
return 4;
|
||||
}
|
||||
const char *getSavegameFile(int saveGameIdx, const char *target = nullptr) const override;
|
||||
const char *getSavegamePattern(const char *target = nullptr) const override;
|
||||
Common::String getSavegameFile(int saveGameIdx, const char *target = nullptr) const override;
|
||||
|
||||
Common::KeymapArray initKeymaps(const char *target) const override;
|
||||
};
|
||||
|
||||
|
||||
const char *GriffonMetaEngine::getSavegameFile(int saveGameIdx, const char *target) const {
|
||||
static char buffer[200];
|
||||
snprintf(buffer, sizeof(buffer), "%s.s%02d", target == nullptr ? getEngineId() : target, saveGameIdx);
|
||||
|
||||
return buffer;
|
||||
}
|
||||
|
||||
const char *GriffonMetaEngine::getSavegamePattern(const char *target) const {
|
||||
static char buffer[200];
|
||||
snprintf(buffer, sizeof(buffer), "%s.s##", target == nullptr ? getEngineId() : target);
|
||||
|
||||
return buffer;
|
||||
Common::String GriffonMetaEngine::getSavegameFile(int saveGameIdx, const char *target) const {
|
||||
if (saveGameIdx == kSavegameFilePattern) {
|
||||
// Pattern requested
|
||||
return Common::String::format("%s.s##", target == nullptr ? getEngineId() : target);
|
||||
} else {
|
||||
// Specific filename requested
|
||||
return Common::String::format("%s.s%02d", target == nullptr ? getEngineId() : target, saveGameIdx);
|
||||
}
|
||||
}
|
||||
|
||||
bool Griffon::GriffonEngine::hasFeature(EngineFeature f) const {
|
||||
|
@ -37,22 +37,16 @@
|
||||
#include "graphics/managed_surface.h"
|
||||
#include "graphics/thumbnail.h"
|
||||
|
||||
const char *MetaEngine::getSavegameFile(int saveGameIdx, const char *target) const {
|
||||
static char buffer[200];
|
||||
const char *pattern = hasFeature(kSavesUseExtendedFormat) ? "%s.%03d" : "%s.s%02d";
|
||||
|
||||
snprintf(buffer, sizeof(buffer), pattern, target == nullptr ? getEngineId() : target, saveGameIdx);
|
||||
|
||||
return buffer;
|
||||
}
|
||||
|
||||
const char *MetaEngine::getSavegamePattern(const char *target) const {
|
||||
static char buffer[200];
|
||||
const char *pattern = hasFeature(kSavesUseExtendedFormat) ? "%s.###" : "%s.s##";
|
||||
|
||||
snprintf(buffer, sizeof(buffer), pattern, target == nullptr ? getEngineId() : target);
|
||||
|
||||
return buffer;
|
||||
Common::String MetaEngine::getSavegameFile(int saveGameIdx, const char *target) const {
|
||||
if (saveGameIdx == kSavegameFilePattern) {
|
||||
// Pattern requested
|
||||
const char *pattern = hasFeature(kSavesUseExtendedFormat) ? "%s.###" : "%s.s##";
|
||||
return Common::String::format(pattern, target == nullptr ? getEngineId() : target);
|
||||
} else {
|
||||
// Specific filename requested
|
||||
const char *pattern = hasFeature(kSavesUseExtendedFormat) ? "%s.%03d" : "%s.s%02d";
|
||||
return Common::String::format(pattern, target == nullptr ? getEngineId() : target, saveGameIdx);
|
||||
}
|
||||
}
|
||||
|
||||
Common::KeymapArray MetaEngine::initKeymaps(const char *target) const {
|
||||
@ -276,7 +270,7 @@ SaveStateList MetaEngine::listSaves(const char *target) const {
|
||||
|
||||
Common::SaveFileManager *saveFileMan = g_system->getSavefileManager();
|
||||
Common::StringArray filenames;
|
||||
Common::String pattern(getSavegamePattern(target));
|
||||
Common::String pattern(getSavegameFilePattern(target));
|
||||
|
||||
filenames = saveFileMan->listSavefiles(pattern);
|
||||
|
||||
|
@ -67,6 +67,8 @@ struct ExtraGuiOption {
|
||||
|
||||
typedef Common::Array<ExtraGuiOption> ExtraGuiOptions;
|
||||
|
||||
enum { kSavegameFilePattern = -99 };
|
||||
|
||||
#define EXTENDED_SAVE_VERSION 4
|
||||
|
||||
struct ExtendedSavegameHeader {
|
||||
@ -274,19 +276,23 @@ public:
|
||||
virtual SaveStateDescriptor querySaveMetaInfos(const char *target, int slot) const;
|
||||
|
||||
/**
|
||||
* Returns name of the save file for given slot and optional target.
|
||||
* Returns name of the save file for given slot and optional target,
|
||||
* or a pattern for matching filenames against
|
||||
*
|
||||
* @param saveGameIdx index of the save
|
||||
* @param saveGameIdx index of the save, or kSavegameFilePattern
|
||||
* for returning a filename pattern
|
||||
* @param target game target. If omitted, then the engine id is used
|
||||
*/
|
||||
virtual const char *getSavegameFile(int saveGameIdx, const char *target = nullptr) const;
|
||||
virtual Common::String getSavegameFile(int saveGameIdx, const char *target = nullptr) const;
|
||||
|
||||
/**
|
||||
* Returns pattern for save files.
|
||||
*
|
||||
* @param target game target. If omitted, then the engine id is used
|
||||
*/
|
||||
virtual const char *getSavegamePattern(const char *target = nullptr) const;
|
||||
Common::String getSavegameFilePattern(const char *target = nullptr) const {
|
||||
return getSavegameFile(kSavegameFilePattern, target);
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the keymap used by the target.
|
||||
|
Loading…
x
Reference in New Issue
Block a user