[Scummvm-git-logs] scummvm master -> f1faece1601966a0022a96fc32aa8a1e3c32e5b7
sev-
noreply at scummvm.org
Sun Apr 19 23:50:58 UTC 2026
This automated email contains information about 4 new commits which have been
pushed to the 'scummvm' repo located at https://api.github.com/repos/scummvm/scummvm .
Summary:
f678f8debc ACCESS: enable save/load timestamp and playtime
536d3cb9fc ACCESS: enable save/load timestamp and playtime using metaengine features
f4f3706992 ACCESS: enable save/load timestamp and playtime using metaengine features
f1faece160 ACCESS: Remove obsolete methods
Commit: f678f8debc2bb1c0528c633ae4539312b52c1eab
https://github.com/scummvm/scummvm/commit/f678f8debc2bb1c0528c633ae4539312b52c1eab
Author: vorph999 (vorph at gmx.net)
Date: 2026-04-20T01:50:54+02:00
Commit Message:
ACCESS: enable save/load timestamp and playtime
- add savestate metadata (timestamp & playtime) support to ACCESS engine.
- set savegame version to 2 to distinguish from old saves
Changed paths:
engines/access/access.cpp
engines/access/access.h
engines/access/metaengine.cpp
diff --git a/engines/access/access.cpp b/engines/access/access.cpp
index 7f38e465ec8..5c4234c3582 100644
--- a/engines/access/access.cpp
+++ b/engines/access/access.cpp
@@ -192,6 +192,7 @@ void AccessEngine::initialize() {
_video = new VideoPlayer(this);
syncSoundSettings();
+ setTotalPlayTime(0);
setDebugger(Debugger::init(this));
_buffer1.create(g_system->getWidth() + TILE_WIDTH, g_system->getHeight());
@@ -506,6 +507,9 @@ Common::Error AccessEngine::loadGameState(int slot) {
synchronize(s);
delete saveFile;
+ // Set total playTime (ms) from header
+ setTotalPlayTime(header._totalPlayTime * 1000);
+
// Set extra post-load state
_room->_function = FN_CLEAR1;
_timers._timersSavedFlag = false;
@@ -568,8 +572,14 @@ WARN_UNUSED_RESULT bool AccessEngine::readSavegameHeader(Common::InSaveFile *in,
header._day = in->readSint16LE();
header._hour = in->readSint16LE();
header._minute = in->readSint16LE();
+
+ // Read Totalframes
header._totalFrames = in->readUint32LE();
+ // Read the Total PlayTime (if available)
+ if (header._version > 1)
+ header._totalPlayTime = in->readUint32LE();
+
return true;
}
@@ -601,6 +611,9 @@ void AccessEngine::writeSavegameHeader(Common::OutSaveFile *out, AccessSavegameH
out->writeSint16LE(td.tm_hour);
out->writeSint16LE(td.tm_min);
out->writeUint32LE(_events->getFrameCounter());
+
+ // Write the total PlayTime (ms)
+ out->writeUint32LE(g_engine->getTotalPlayTime() / 1000);
}
bool AccessEngine::shouldQuitOrRestart() {
diff --git a/engines/access/access.h b/engines/access/access.h
index b0ed6fb8a03..4e9e6900eac 100644
--- a/engines/access/access.h
+++ b/engines/access/access.h
@@ -126,7 +126,7 @@ static const AccessActionCode MARTIAN_ACTION_CODES[] = {
{ kActionNone, -1 },
};
-#define ACCESS_SAVEGAME_VERSION 1
+#define ACCESS_SAVEGAME_VERSION 2
struct AccessSavegameHeader {
uint8 _version;
@@ -135,6 +135,7 @@ struct AccessSavegameHeader {
int _year, _month, _day;
int _hour, _minute;
int _totalFrames;
+ int _totalPlayTime;
};
class AccessEngine : public Engine {
diff --git a/engines/access/metaengine.cpp b/engines/access/metaengine.cpp
index 0f8da2988f2..566640b77af 100644
--- a/engines/access/metaengine.cpp
+++ b/engines/access/metaengine.cpp
@@ -97,6 +97,8 @@ bool AccessMetaEngine::hasFeature(MetaEngineFeature f) const {
(f == kSupportsDeleteSave) ||
(f == kSavesSupportMetaInfo) ||
(f == kSavesSupportThumbnail) ||
+ (f == kSavesSupportCreationDate) ||
+ (f == kSavesSupportPlayTime) ||
(f == kSimpleSavesNames);
}
@@ -177,8 +179,12 @@ SaveStateDescriptor AccessMetaEngine::querySaveMetaInfos(const char *target, int
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);
+ if (header._version >= 2)
+ desc.setPlayTime(header._totalPlayTime * 1000);
+ else
+ desc.setPlayTime(0);
+
return desc;
}
Commit: 536d3cb9fc7c211791903d224cc563cf14e530d7
https://github.com/scummvm/scummvm/commit/536d3cb9fc7c211791903d224cc563cf14e530d7
Author: vorph999 (vorph at gmx.net)
Date: 2026-04-20T01:50:54+02:00
Commit Message:
ACCESS: enable save/load timestamp and playtime using metaengine features
- update AmazonEngine:synchronize
- update MartinanEngine:synchronize
- update AccessEngine:loadGameStream / saveGameStream
- disable now obsolete methods
Changed paths:
engines/access/access.cpp
engines/access/access.h
engines/access/amazon/amazon_game.cpp
engines/access/amazon/amazon_game.h
engines/access/martian/martian_game.cpp
engines/access/martian/martian_game.h
engines/access/metaengine.cpp
diff --git a/engines/access/access.cpp b/engines/access/access.cpp
index 5c4234c3582..5847585ece9 100644
--- a/engines/access/access.cpp
+++ b/engines/access/access.cpp
@@ -471,6 +471,33 @@ void AccessEngine::syncSoundSettings() {
_sound->syncVolume();
}
+Common::Error AccessEngine::saveGameStream(Common::WriteStream *stream, bool isAutosave) {
+ stream->writeByte(ACCESS_SAVEGAME_VERSION);
+ Common::Serializer s(nullptr, stream);
+ s.setVersion(ACCESS_SAVEGAME_VERSION);
+
+ return synchronize(s);
+}
+
+Common::Error AccessEngine::loadGameStream(Common::SeekableReadStream *stream) {
+ byte version = stream->readByte();
+ if (version != ACCESS_SAVEGAME_VERSION)
+ error("Invalid savegame version");
+
+ Common::Serializer s(stream, nullptr);
+ s.setVersion(version);
+
+ Common::Error result = synchronize(s);
+
+ // Set extra post-load state
+ _room->_function = FN_CLEAR1;
+ _timers._timersSavedFlag = false;
+ _events->clearEvents();
+
+ return result;
+}
+
+/*
Common::Error AccessEngine::saveGameState(int slot, const Common::String &desc, bool isAutosave) {
Common::OutSaveFile *out = g_system->getSavefileManager()->openForSaving(
getSaveStateName(slot));
@@ -517,6 +544,7 @@ Common::Error AccessEngine::loadGameState(int slot) {
return Common::kNoError;
}
+*/
bool AccessEngine::canLoadGameStateCurrently(Common::U32String *msg) {
return _canSaveLoad;
@@ -526,7 +554,7 @@ bool AccessEngine::canSaveGameStateCurrently(Common::U32String *msg) {
return _canSaveLoad;
}
-void AccessEngine::synchronize(Common::Serializer &s) {
+Common::Error AccessEngine::synchronize(Common::Serializer &s) {
s.syncAsUint16LE(_conversation);
s.syncAsUint16LE(_currentMan);
s.syncAsUint32LE(_newTime);
@@ -541,11 +569,14 @@ void AccessEngine::synchronize(Common::Serializer &s) {
_timers.synchronize(s);
_inventory->synchronize(s);
_player->synchronize(s);
+
+ return Common::kNoError;
}
const char *const SAVEGAME_STR = "ACCESS";
#define SAVEGAME_STR_SIZE 6
+/*
WARN_UNUSED_RESULT bool AccessEngine::readSavegameHeader(Common::InSaveFile *in, AccessSavegameHeader &header, bool skipThumbnail) {
char saveIdentBuffer[SAVEGAME_STR_SIZE + 1];
@@ -615,6 +646,7 @@ void AccessEngine::writeSavegameHeader(Common::OutSaveFile *out, AccessSavegameH
// Write the total PlayTime (ms)
out->writeUint32LE(g_engine->getTotalPlayTime() / 1000);
}
+*/
bool AccessEngine::shouldQuitOrRestart() {
return shouldQuit() || _restartFl;
diff --git a/engines/access/access.h b/engines/access/access.h
index 4e9e6900eac..c7e3b191c9e 100644
--- a/engines/access/access.h
+++ b/engines/access/access.h
@@ -184,7 +184,9 @@ protected:
/**
* Synchronize savegame data
*/
- virtual void synchronize(Common::Serializer &s);
+ //virtual void synchronize(Common::Serializer &s);
+ virtual Common::Error synchronize(Common::Serializer &s);
+
public:
AnimationManager *_animation;
BubbleBox *_bubbleBox;
@@ -335,13 +337,15 @@ public:
/**
* Load a savegame
*/
- Common::Error loadGameState(int slot) override;
+ //Common::Error loadGameState(int slot) override;
+ Common::Error loadGameStream(Common::SeekableReadStream *stream) override;
/**
* Save the game
*/
- Common::Error saveGameState(int slot, const Common::String &desc, bool isAutosave = false) override;
-
+ //Common::Error saveGameState(int slot, const Common::String &desc, bool isAutosave = false) override;
+ Common::Error saveGameStream(Common::WriteStream *stream, bool isAutosave = false) override;
+
/**
* Returns true if a savegame can currently be loaded
*/
diff --git a/engines/access/amazon/amazon_game.cpp b/engines/access/amazon/amazon_game.cpp
index 956b7374183..22f955cd9b3 100644
--- a/engines/access/amazon/amazon_game.cpp
+++ b/engines/access/amazon/amazon_game.cpp
@@ -769,7 +769,7 @@ void AmazonEngine::dead(int deathId) {
}
}
-void AmazonEngine::synchronize(Common::Serializer &s) {
+Common::Error AmazonEngine::synchronize(Common::Serializer &s) {
AccessEngine::synchronize(s);
s.syncAsSint16LE(_chapter);
@@ -785,6 +785,8 @@ void AmazonEngine::synchronize(Common::Serializer &s) {
_river->synchronize(s);
_ant->synchronize(s);
+
+ return Common::kNoError;
}
} // End of namespace Amazon
diff --git a/engines/access/amazon/amazon_game.h b/engines/access/amazon/amazon_game.h
index 1ffb0e58feb..a10064317a6 100644
--- a/engines/access/amazon/amazon_game.h
+++ b/engines/access/amazon/amazon_game.h
@@ -63,7 +63,9 @@ protected:
/**
* Synchronize savegame data
*/
- void synchronize(Common::Serializer &s) override;
+ //void synchronize(Common::Serializer &s) override;
+ Common::Error synchronize(Common::Serializer &s) override;
+
public:
InactivePlayer _inactive;
bool _charSegSwitch;
diff --git a/engines/access/martian/martian_game.cpp b/engines/access/martian/martian_game.cpp
index 682321d9670..c35eedbdd92 100644
--- a/engines/access/martian/martian_game.cpp
+++ b/engines/access/martian/martian_game.cpp
@@ -393,7 +393,7 @@ void MartianEngine::establish(int estabIndex, int sub) {
_events->showCursor();
}
-void MartianEngine::synchronize(Common::Serializer &s) {
+Common::Error MartianEngine::synchronize(Common::Serializer &s) {
AccessEngine::synchronize(s);
for (int i = 0; i < ARRAYSIZE(_travel); i++) {
@@ -419,6 +419,8 @@ void MartianEngine::synchronize(Common::Serializer &s) {
_boxSelectYOld
_numLines
*/
+
+ return Common::kNoError;
}
diff --git a/engines/access/martian/martian_game.h b/engines/access/martian/martian_game.h
index d93ca463499..3211648fb86 100644
--- a/engines/access/martian/martian_game.h
+++ b/engines/access/martian/martian_game.h
@@ -70,7 +70,8 @@ public:
/**
* Synchronize savegame data
*/
- void synchronize(Common::Serializer &s) override;
+ //void synchronize(Common::Serializer &s) override;
+ Common::Error synchronize(Common::Serializer &s) override;
};
} // End of namespace Martian
diff --git a/engines/access/metaengine.cpp b/engines/access/metaengine.cpp
index 566640b77af..9c12b3a5700 100644
--- a/engines/access/metaengine.cpp
+++ b/engines/access/metaengine.cpp
@@ -83,14 +83,15 @@ public:
Common::Error createInstance(OSystem *syst, Engine **engine, const Access::AccessGameDescription *desc) const override;
- SaveStateList listSaves(const char *target) const override;
- int getMaximumSaveSlot() const override;
- bool removeSaveState(const char *target, int slot) const override;
- SaveStateDescriptor querySaveMetaInfos(const char *target, int slot) const override;
+ //SaveStateList listSaves(const char *target) const override;
+ //int getMaximumSaveSlot() const override;
+ //bool removeSaveState(const char *target, int slot) const override;
+ //SaveStateDescriptor querySaveMetaInfos(const char *target, int slot) const override;
Common::KeymapArray initKeymaps(const char *target) const override;
};
bool AccessMetaEngine::hasFeature(MetaEngineFeature f) const {
+<<<<<<< Updated upstream
return
(f == kSupportsListSaves) ||
(f == kSupportsLoadingDuringStartup) ||
@@ -100,6 +101,10 @@ bool AccessMetaEngine::hasFeature(MetaEngineFeature f) const {
(f == kSavesSupportCreationDate) ||
(f == kSavesSupportPlayTime) ||
(f == kSimpleSavesNames);
+=======
+ return checkExtendedSaves(f) ||
+ (f == kSupportsLoadingDuringStartup);
+>>>>>>> Stashed changes
}
bool Access::AccessEngine::hasFeature(EngineFeature f) const {
@@ -123,6 +128,7 @@ Common::Error AccessMetaEngine::createInstance(OSystem *syst, Engine **engine, c
return Common::kNoError;
}
+/*
SaveStateList AccessMetaEngine::listSaves(const char *target) const {
Common::SaveFileManager *saveFileMan = g_system->getSavefileManager();
Common::String saveDesc;
@@ -190,6 +196,7 @@ SaveStateDescriptor AccessMetaEngine::querySaveMetaInfos(const char *target, int
return SaveStateDescriptor();
}
+*/
Common::KeymapArray AccessMetaEngine::initKeymaps(const char *target) const {
using namespace Common;
Commit: f4f3706992e94732f75d414cc707d8c1c17b9c9e
https://github.com/scummvm/scummvm/commit/f4f3706992e94732f75d414cc707d8c1c17b9c9e
Author: vorph999 (vorph at gmx.net)
Date: 2026-04-20T01:50:54+02:00
Commit Message:
ACCESS: enable save/load timestamp and playtime using metaengine features
- clean up, remove obsolete methods
- add fallback detection and handling of legacy savegames
Changed paths:
engines/access/access.cpp
engines/access/access.h
engines/access/metaengine.cpp
diff --git a/engines/access/access.cpp b/engines/access/access.cpp
index 5847585ece9..133596aff45 100644
--- a/engines/access/access.cpp
+++ b/engines/access/access.cpp
@@ -472,21 +472,12 @@ void AccessEngine::syncSoundSettings() {
}
Common::Error AccessEngine::saveGameStream(Common::WriteStream *stream, bool isAutosave) {
- stream->writeByte(ACCESS_SAVEGAME_VERSION);
Common::Serializer s(nullptr, stream);
- s.setVersion(ACCESS_SAVEGAME_VERSION);
-
return synchronize(s);
}
-Common::Error AccessEngine::loadGameStream(Common::SeekableReadStream *stream) {
- byte version = stream->readByte();
- if (version != ACCESS_SAVEGAME_VERSION)
- error("Invalid savegame version");
-
- Common::Serializer s(stream, nullptr);
- s.setVersion(version);
-
+Common::Error AccessEngine::loadGameStream(Common::SeekableReadStream *stream) {
+ Common::Serializer s(stream, nullptr);
Common::Error result = synchronize(s);
// Set extra post-load state
@@ -497,26 +488,6 @@ Common::Error AccessEngine::loadGameStream(Common::SeekableReadStream *stream) {
return result;
}
-/*
-Common::Error AccessEngine::saveGameState(int slot, const Common::String &desc, bool isAutosave) {
- Common::OutSaveFile *out = g_system->getSavefileManager()->openForSaving(
- getSaveStateName(slot));
- if (!out)
- return Common::kCreatingFileFailed;
-
- AccessSavegameHeader header;
- header._saveName = desc;
- writeSavegameHeader(out, header);
-
- Common::Serializer s(nullptr, out);
- synchronize(s);
-
- out->finalize();
- delete out;
-
- return Common::kNoError;
-}
-
Common::Error AccessEngine::loadGameState(int slot) {
Common::InSaveFile *saveFile = g_system->getSavefileManager()->openForLoading(
getSaveStateName(slot));
@@ -527,9 +498,11 @@ Common::Error AccessEngine::loadGameState(int slot) {
// Load the savaegame header
AccessSavegameHeader header;
- if (!readSavegameHeader(saveFile, header))
- error("Invalid savegame");
-
+ if (!readSavegameHeader(saveFile, header)) {
+ delete saveFile;
+ return Engine::loadGameState(slot);
+ }
+
// Load most of the savegame data
synchronize(s);
delete saveFile;
@@ -544,7 +517,7 @@ Common::Error AccessEngine::loadGameState(int slot) {
return Common::kNoError;
}
-*/
+
bool AccessEngine::canLoadGameStateCurrently(Common::U32String *msg) {
return _canSaveLoad;
@@ -576,8 +549,8 @@ Common::Error AccessEngine::synchronize(Common::Serializer &s) {
const char *const SAVEGAME_STR = "ACCESS";
#define SAVEGAME_STR_SIZE 6
-/*
-WARN_UNUSED_RESULT bool AccessEngine::readSavegameHeader(Common::InSaveFile *in, AccessSavegameHeader &header, bool skipThumbnail) {
+
+bool AccessEngine::readSavegameHeader(Common::InSaveFile *in, AccessSavegameHeader &header, bool skipThumbnail) {
char saveIdentBuffer[SAVEGAME_STR_SIZE + 1];
// Validate the header Id
@@ -614,40 +587,6 @@ WARN_UNUSED_RESULT bool AccessEngine::readSavegameHeader(Common::InSaveFile *in,
return true;
}
-void AccessEngine::writeSavegameHeader(Common::OutSaveFile *out, AccessSavegameHeader &header) {
- // Write out a savegame header
- out->write(SAVEGAME_STR, SAVEGAME_STR_SIZE + 1);
-
- out->writeByte(ACCESS_SAVEGAME_VERSION);
-
- // Write savegame name
- out->writeString(header._saveName);
- out->writeByte('\0');
-
- // Write a thumbnail of the screen
- uint8 thumbPalette[Graphics::PALETTE_SIZE];
- _screen->getPalette(thumbPalette);
- Graphics::Surface saveThumb;
- ::createThumbnail(&saveThumb, (const byte *)_screen->getPixels(),
- _screen->w, _screen->h, thumbPalette);
- Graphics::saveThumbnail(*out, saveThumb);
- saveThumb.free();
-
- // Write out the save date/time
- TimeDate td;
- g_system->getTimeAndDate(td);
- out->writeSint16LE(td.tm_year + 1900);
- out->writeSint16LE(td.tm_mon + 1);
- out->writeSint16LE(td.tm_mday);
- out->writeSint16LE(td.tm_hour);
- out->writeSint16LE(td.tm_min);
- out->writeUint32LE(_events->getFrameCounter());
-
- // Write the total PlayTime (ms)
- out->writeUint32LE(g_engine->getTotalPlayTime() / 1000);
-}
-*/
-
bool AccessEngine::shouldQuitOrRestart() {
return shouldQuit() || _restartFl;
}
diff --git a/engines/access/access.h b/engines/access/access.h
index c7e3b191c9e..89432582f18 100644
--- a/engines/access/access.h
+++ b/engines/access/access.h
@@ -126,7 +126,7 @@ static const AccessActionCode MARTIAN_ACTION_CODES[] = {
{ kActionNone, -1 },
};
-#define ACCESS_SAVEGAME_VERSION 2
+#define ACCESS_SAVEGAME_VERSION 1
struct AccessSavegameHeader {
uint8 _version;
@@ -337,13 +337,12 @@ public:
/**
* Load a savegame
*/
- //Common::Error loadGameState(int slot) override;
+ Common::Error loadGameState(int slot) override;
Common::Error loadGameStream(Common::SeekableReadStream *stream) override;
/**
* Save the game
*/
- //Common::Error saveGameState(int slot, const Common::String &desc, bool isAutosave = false) override;
Common::Error saveGameStream(Common::WriteStream *stream, bool isAutosave = false) override;
/**
@@ -359,12 +358,7 @@ public:
/**
* Read in a savegame header
*/
- WARN_UNUSED_RESULT static bool readSavegameHeader(Common::InSaveFile *in, AccessSavegameHeader &header, bool skipThumbnail = true);
-
- /**
- * Write out a savegame header
- */
- void writeSavegameHeader(Common::OutSaveFile *out, AccessSavegameHeader &header);
+ static bool readSavegameHeader(Common::InSaveFile *in, AccessSavegameHeader &header, bool skipThumbnail = true);
bool playMovie(const Common::Path &filename, const Common::Point &pos);
};
diff --git a/engines/access/metaengine.cpp b/engines/access/metaengine.cpp
index 9c12b3a5700..513441a3db9 100644
--- a/engines/access/metaengine.cpp
+++ b/engines/access/metaengine.cpp
@@ -83,28 +83,15 @@ public:
Common::Error createInstance(OSystem *syst, Engine **engine, const Access::AccessGameDescription *desc) const override;
- //SaveStateList listSaves(const char *target) const override;
- //int getMaximumSaveSlot() const override;
- //bool removeSaveState(const char *target, int slot) const override;
- //SaveStateDescriptor querySaveMetaInfos(const char *target, int slot) const override;
+ SaveStateList listSaves(const char *target) const override;
+ SaveStateDescriptor querySaveMetaInfos(const char *target, int slot) const override;
+
Common::KeymapArray initKeymaps(const char *target) const override;
};
bool AccessMetaEngine::hasFeature(MetaEngineFeature f) const {
-<<<<<<< Updated upstream
- return
- (f == kSupportsListSaves) ||
- (f == kSupportsLoadingDuringStartup) ||
- (f == kSupportsDeleteSave) ||
- (f == kSavesSupportMetaInfo) ||
- (f == kSavesSupportThumbnail) ||
- (f == kSavesSupportCreationDate) ||
- (f == kSavesSupportPlayTime) ||
- (f == kSimpleSavesNames);
-=======
return checkExtendedSaves(f) ||
(f == kSupportsLoadingDuringStartup);
->>>>>>> Stashed changes
}
bool Access::AccessEngine::hasFeature(EngineFeature f) const {
@@ -128,7 +115,6 @@ Common::Error AccessMetaEngine::createInstance(OSystem *syst, Engine **engine, c
return Common::kNoError;
}
-/*
SaveStateList AccessMetaEngine::listSaves(const char *target) const {
Common::SaveFileManager *saveFileMan = g_system->getSavefileManager();
Common::String saveDesc;
@@ -147,7 +133,11 @@ SaveStateList AccessMetaEngine::listSaves(const char *target) const {
if (in) {
if (Access::AccessEngine::readSavegameHeader(in, header))
saveList.push_back(SaveStateDescriptor(this, slot, header._saveName));
-
+ else {
+ ExtendedSavegameHeader eHeader;
+ if (MetaEngine::readSavegameHeader(in, &eHeader))
+ saveList.push_back(SaveStateDescriptor(this, slot, eHeader.description));
+ }
delete in;
}
}
@@ -158,45 +148,55 @@ SaveStateList AccessMetaEngine::listSaves(const char *target) const {
return saveList;
}
-int AccessMetaEngine::getMaximumSaveSlot() const {
- return MAX_SAVES;
-}
-
-bool AccessMetaEngine::removeSaveState(const char *target, int slot) const {
- Common::String filename = Common::String::format("%s.%03d", target, slot);
- return g_system->getSavefileManager()->removeSavefile(filename);
-}
-
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) {
+
+ ExtendedSavegameHeader eHeader;
+ if (MetaEngine::readSavegameHeader(f, &eHeader, false)) {
+ delete f;
+
+ SaveStateDescriptor desc(this, slot, eHeader.description);
+ desc.setThumbnail(eHeader.thumbnail);
+
+ uint16 year;
+ uint8 month;
+ uint8 day;
+
+ decodeSavegameDate(&eHeader, year, month, day);
+ desc.setSaveDate(year,month,day);
+
+ uint8 hour;
+ uint8 minute;
+
+ decodeSavegameTime(&eHeader, hour, minute);
+ desc.setSaveTime(hour, minute);
+
+ desc.setPlayTime(eHeader.playtime);
+ return desc;
+ }
+
Access::AccessSavegameHeader header;
- if (!Access::AccessEngine::readSavegameHeader(f, header, false)) {
+ if (Access::AccessEngine::readSavegameHeader(f, header, false)) {
delete f;
- return SaveStateDescriptor();
+ SaveStateDescriptor desc(this, slot, header._saveName);
+ desc.setThumbnail(header._thumbnail);
+ desc.setSaveDate(header._year, header._month, header._day);
+ desc.setSaveTime(header._hour, header._minute);
+
+ return desc;
}
delete f;
- // Create the return descriptor
- SaveStateDescriptor desc(this, slot, header._saveName);
- desc.setThumbnail(header._thumbnail);
- desc.setSaveDate(header._year, header._month, header._day);
- desc.setSaveTime(header._hour, header._minute);
-
- if (header._version >= 2)
- desc.setPlayTime(header._totalPlayTime * 1000);
- else
- desc.setPlayTime(0);
-
- return desc;
+ return SaveStateDescriptor();
}
return SaveStateDescriptor();
}
-*/
+
Common::KeymapArray AccessMetaEngine::initKeymaps(const char *target) const {
using namespace Common;
Commit: f1faece1601966a0022a96fc32aa8a1e3c32e5b7
https://github.com/scummvm/scummvm/commit/f1faece1601966a0022a96fc32aa8a1e3c32e5b7
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2026-04-20T01:50:54+02:00
Commit Message:
ACCESS: Remove obsolete methods
Co-authored-by: Filippos Karapetis <bluegr at gmail.com>
Changed paths:
engines/access/access.h
engines/access/amazon/amazon_game.h
engines/access/martian/martian_game.h
diff --git a/engines/access/access.h b/engines/access/access.h
index 89432582f18..1a4323f96a6 100644
--- a/engines/access/access.h
+++ b/engines/access/access.h
@@ -184,7 +184,6 @@ protected:
/**
* Synchronize savegame data
*/
- //virtual void synchronize(Common::Serializer &s);
virtual Common::Error synchronize(Common::Serializer &s);
public:
@@ -344,7 +343,6 @@ public:
* Save the game
*/
Common::Error saveGameStream(Common::WriteStream *stream, bool isAutosave = false) override;
-
/**
* Returns true if a savegame can currently be loaded
*/
diff --git a/engines/access/amazon/amazon_game.h b/engines/access/amazon/amazon_game.h
index a10064317a6..1ce27ae8e46 100644
--- a/engines/access/amazon/amazon_game.h
+++ b/engines/access/amazon/amazon_game.h
@@ -63,7 +63,6 @@ protected:
/**
* Synchronize savegame data
*/
- //void synchronize(Common::Serializer &s) override;
Common::Error synchronize(Common::Serializer &s) override;
public:
diff --git a/engines/access/martian/martian_game.h b/engines/access/martian/martian_game.h
index 3211648fb86..af1a8506bd4 100644
--- a/engines/access/martian/martian_game.h
+++ b/engines/access/martian/martian_game.h
@@ -70,7 +70,6 @@ public:
/**
* Synchronize savegame data
*/
- //void synchronize(Common::Serializer &s) override;
Common::Error synchronize(Common::Serializer &s) override;
};
More information about the Scummvm-git-logs
mailing list