From f12fa2de07694d93a7035875f56f36ed4849275d Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sat, 30 Aug 2014 09:57:51 -0400 Subject: ACCESS: Implement saving and loading savegames --- engines/access/detection.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'engines/access/detection.cpp') diff --git a/engines/access/detection.cpp b/engines/access/detection.cpp index 293cd3dccb..59c4bc4738 100644 --- a/engines/access/detection.cpp +++ b/engines/access/detection.cpp @@ -177,6 +177,24 @@ void AccessMetaEngine::removeSaveState(const char *target, int slot) const { } SaveStateDescriptor AccessMetaEngine::querySaveMetaInfos(const char *target, int slot) const { + Common::String filename = Common::String::format("%s.%03d", target, slot); + Common::InSaveFile *f = g_system->getSavefileManager()->openForLoading(filename); + + if (f) { + Access::AccessSavegameHeader header; + Access::AccessEngine::readSavegameHeader(f, header); + delete f; + + // Create the return descriptor + SaveStateDescriptor desc(slot, header._saveName); + desc.setThumbnail(header._thumbnail); + desc.setSaveDate(header._year, header._month, header._day); + desc.setSaveTime(header._hour, header._minute); + desc.setPlayTime(header._totalFrames * GAME_FRAME_TIME); + + return desc; + } + return SaveStateDescriptor(); } -- cgit v1.2.3