GRIFFON: Added support for extended saves

This commit is contained in:
Eugene Sandulenko 2019-11-13 00:38:48 +01:00
parent 4fbf91e829
commit 50f964770c
2 changed files with 19 additions and 2 deletions

View File

@ -59,6 +59,8 @@ public:
return "Griffon Engine";
}
virtual int getMaximumSaveSlot() const { return 3; }
virtual const char *getOriginalCopyright() const {
return "The Griffon Legend (c) 2005 Syn9 (Daniel Kennedy)";
}
@ -68,7 +70,15 @@ public:
};
bool GriffonMetaEngine::hasFeature(MetaEngineFeature f) const {
return false;
return
(f == kSupportsListSaves) ||
(f == kSupportsDeleteSave) ||
(f == kSavesSupportMetaInfo) ||
(f == kSavesSupportThumbnail) ||
(f == kSavesSupportCreationDate) ||
(f == kSavesSupportPlayTime) ||
(f == kSupportsLoadingDuringStartup) ||
(f == kSavesUseExtendedFormat);
}
bool GriffonMetaEngine::createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const {

View File

@ -37,6 +37,7 @@
#include "griffon/griffon.h"
#include "common/savefile.h"
#include "engines/metaengine.h"
namespace Griffon {
@ -55,7 +56,7 @@ namespace Griffon {
} while(0)
Common::String GriffonEngine::makeSaveGameName(int slot) {
return (_targetName + Common::String::format(".%02d", slot));
return (_targetName + Common::String::format(".s%02d", slot));
}
int GriffonEngine::loadState(int slotnum) {
@ -248,6 +249,12 @@ int GriffonEngine::saveState(int slotnum) {
PRINT("%f", _player.spellStrength);
}
drawView();
Common::String desc = Common::String::format("Level: %d Map: %d", _player.level, _curMap);
MetaEngine::appendExtendedSave(file, (_secStart + _secsInGame) * 1000, desc);
file->finalize();
return 1; // success