[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