[Scummvm-git-logs] scummvm master -> e67b33d242d230eb8ca432a98977fa01addefbb5
a-yyg
76591232+a-yyg at users.noreply.github.com
Thu Jul 15 21:11:22 UTC 2021
This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
17b2c657ae ENGINES: METAENGINE: Add method to append extended save header to stream
e67b33d242 SAGA2: Fix Extended Save compatibility with original
Commit: 17b2c657ae1d22432c476d2e3061d16bbc2a4b4c
https://github.com/scummvm/scummvm/commit/17b2c657ae1d22432c476d2e3061d16bbc2a4b4c
Author: a/ (yuri.kgpps at gmail.com)
Date: 2021-07-16T05:43:27+09:00
Commit Message:
ENGINES: METAENGINE: Add method to append extended save header to stream
Changed paths:
engines/metaengine.cpp
engines/metaengine.h
diff --git a/engines/metaengine.cpp b/engines/metaengine.cpp
index bb30860b94..d9cf5898bb 100644
--- a/engines/metaengine.cpp
+++ b/engines/metaengine.cpp
@@ -170,6 +170,13 @@ bool MetaEngine::hasFeature(MetaEngineFeature f) const {
void MetaEngine::appendExtendedSave(Common::OutSaveFile *saveFile, uint32 playtime,
Common::String desc, bool isAutosave) {
+ appendExtendedSaveToStream(saveFile, playtime, desc, isAutosave);
+
+ saveFile->finalize();
+}
+
+void MetaEngine::appendExtendedSaveToStream(Common::WriteStream *saveFile, uint32 playtime,
+ Common::String desc, bool isAutosave) {
ExtendedSavegameHeader header;
uint headerPos = saveFile->pos();
@@ -200,8 +207,6 @@ void MetaEngine::appendExtendedSave(Common::OutSaveFile *saveFile, uint32 playti
thumb.free();
saveFile->writeUint32LE(headerPos); // Store where the header starts
-
- saveFile->finalize();
}
void MetaEngine::getSavegameThumbnail(Graphics::Surface &thumb) {
diff --git a/engines/metaengine.h b/engines/metaengine.h
index 21040f4093..b79ddf3eec 100644
--- a/engines/metaengine.h
+++ b/engines/metaengine.h
@@ -524,6 +524,11 @@ public:
*/
void appendExtendedSave(Common::OutSaveFile *saveFile, uint32 playtime, Common::String desc, bool isAutosave);
+ /**
+ * Write the extended savegame header to the given WriteStream.
+ */
+ void appendExtendedSaveToStream(Common::WriteStream *saveFile, uint32 playtime, Common::String desc, bool isAutosave);
+
/**
* Parse the extended savegame header to retrieve the SaveStateDescriptor information.
*/
Commit: e67b33d242d230eb8ca432a98977fa01addefbb5
https://github.com/scummvm/scummvm/commit/e67b33d242d230eb8ca432a98977fa01addefbb5
Author: a/ (yuri.kgpps at gmail.com)
Date: 2021-07-16T05:43:27+09:00
Commit Message:
SAGA2: Fix Extended Save compatibility with original
Changed paths:
engines/saga2/saga2.cpp
diff --git a/engines/saga2/saga2.cpp b/engines/saga2/saga2.cpp
index 3bbacde2cf..78d6ff6633 100644
--- a/engines/saga2/saga2.cpp
+++ b/engines/saga2/saga2.cpp
@@ -132,17 +132,20 @@ Common::Error Saga2Engine::saveGameStream(Common::WriteStream *stream, bool isAu
Common::Error Saga2Engine::saveGameState(int slot, const Common::String &desc, bool isAutosave) {
pauseTimer();
- Common::OutSaveFile *out = getSaveFileManager()->openForSaving(getSaveFileName(slot), false);
- if (!out)
+ Common::OutSaveFile *outS = getSaveFileManager()->openForSaving(getSaveFileName(slot), false);
+ if (!outS)
return Common::kCreatingFileFailed;
- saveGame(out, desc);
+ saveGame(outS, desc);
- getMetaEngine()->appendExtendedSave(out, g_vm->getTotalPlayTime() / 1000, desc, false);
+ outS->write("SCVM", 4);
+ CHUNK_BEGIN;
+ getMetaEngine()->appendExtendedSaveToStream(out, g_vm->getTotalPlayTime() / 1000, desc, false);
+ CHUNK_END;
- out->finalize();
+ outS->finalize();
- delete out;
+ delete outS;
resumeTimer();
More information about the Scummvm-git-logs
mailing list