[Scummvm-git-logs] scummvm master -> 48a387832d948de58d908cfc58a2d517c171cdf9
fracturehill
noreply at scummvm.org
Sun Mar 26 10:25:14 UTC 2023
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
48a387832d ENGINES: Correctly store extended save playtime
Commit: 48a387832d948de58d908cfc58a2d517c171cdf9
https://github.com/scummvm/scummvm/commit/48a387832d948de58d908cfc58a2d517c171cdf9
Author: Kaloyan Chehlarski (strahy at outlook.com)
Date: 2023-03-26T13:24:31+03:00
Commit Message:
ENGINES: Correctly store extended save playtime
Changed the extended saves code so time is stored in milliseconds
instead of seconds. This fixes an issue where loading a save would
pass a playtime value of 1/1000 of the real playtime to the engine,
resulting in total playtime effectively being zeroed every time a
save is loaded.
Existing savefile compatibility is ignored since the value stored
inside old saves would be wrong for any savefile that has been
saved over more than once.
Changed paths:
engines/engine.cpp
engines/metaengine.cpp
diff --git a/engines/engine.cpp b/engines/engine.cpp
index 249e4665237..fb305159f39 100644
--- a/engines/engine.cpp
+++ b/engines/engine.cpp
@@ -875,7 +875,7 @@ Common::Error Engine::saveGameState(int slot, const Common::String &desc, bool i
Common::Error result = saveGameStream(saveFile, isAutosave);
if (result.getCode() == Common::kNoError) {
- getMetaEngine()->appendExtendedSave(saveFile, getTotalPlayTime() / 1000, desc, isAutosave);
+ getMetaEngine()->appendExtendedSave(saveFile, getTotalPlayTime(), desc, isAutosave);
saveFile->finalize();
}
diff --git a/engines/metaengine.cpp b/engines/metaengine.cpp
index 54e08832ce2..5333e1543e3 100644
--- a/engines/metaengine.cpp
+++ b/engines/metaengine.cpp
@@ -250,7 +250,7 @@ void MetaEngine::parseSavegameHeader(ExtendedSavegameHeader *header, SaveStateDe
int hour = (header->time >> 8) & 0xFF;
int minutes = header->time & 0xFF;
desc->setSaveTime(hour, minutes);
- desc->setPlayTime(header->playtime * 1000);
+ desc->setPlayTime(header->playtime);
desc->setDescription(header->description);
}
More information about the Scummvm-git-logs
mailing list