[Scummvm-git-logs] scummvm master -> 51b34c33e4160e326252579c79e778caf2ae513e

AndywinXp noreply at scummvm.org
Sun Aug 11 18:05:04 UTC 2024


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:
51b34c33e4 SCUMM: Explicitly disable autosaving when original GUI is active


Commit: 51b34c33e4160e326252579c79e778caf2ae513e
    https://github.com/scummvm/scummvm/commit/51b34c33e4160e326252579c79e778caf2ae513e
Author: AndywinXp (andywinxp at gmail.com)
Date: 2024-08-11T20:04:59+02:00

Commit Message:
SCUMM: Explicitly disable autosaving when original GUI is active

This addresses #15063:
"SCUMM: Autosave warnings still pop up when classic menus are used"

The implemented solution was proposed by antoniou79.

Changed paths:
    engines/scumm/metaengine.cpp
    engines/scumm/saveload.cpp
    engines/scumm/scumm.h


diff --git a/engines/scumm/metaengine.cpp b/engines/scumm/metaengine.cpp
index 132373a19e4..f73c450ca89 100644
--- a/engines/scumm/metaengine.cpp
+++ b/engines/scumm/metaengine.cpp
@@ -715,7 +715,8 @@ static const ExtraGuiOption audioOverride {
 static const ExtraGuiOption enableOriginalGUI = {
 	_s("Enable the original GUI and Menu"),
 	_s("Allow the game to use the in-engine graphical interface and the original save/load menu. \
-		Use it together with the \"Ask for confirmation on exit\" for a more complete experience."),
+		Use it together with the \"Ask for confirmation on exit\" for a more complete experience. \
+		Autosaving is disabled when this mode is active."),
 	"original_gui",
 	true,
 	0,
diff --git a/engines/scumm/saveload.cpp b/engines/scumm/saveload.cpp
index 478f01720b7..61f4a1a93a1 100644
--- a/engines/scumm/saveload.cpp
+++ b/engines/scumm/saveload.cpp
@@ -219,6 +219,9 @@ bool ScummEngine::canSaveGameStateCurrently(Common::U32String *msg) {
 	return (VAR_MAINMENU_KEY == 0xFF || (VAR(VAR_MAINMENU_KEY) != 0 && _currentRoom != 0)) && !isOriginalMenuActive;
 }
 
+bool ScummEngine::canSaveAutosaveCurrently() {
+	return !isUsingOriginalGUI();
+}
 
 void ScummEngine::requestSave(int slot, const Common::String &name) {
 	_saveLoadSlot = slot;
diff --git a/engines/scumm/scumm.h b/engines/scumm/scumm.h
index ceeac4b88f8..13b92cbb3db 100644
--- a/engines/scumm/scumm.h
+++ b/engines/scumm/scumm.h
@@ -592,6 +592,7 @@ public:
 	bool canLoadGameStateCurrently(Common::U32String *msg = nullptr) override;
 	Common::Error saveGameState(int slot, const Common::String &desc, bool isAutosave = false) override;
 	bool canSaveGameStateCurrently(Common::U32String *msg = nullptr) override;
+	bool canSaveAutosaveCurrently() override;
 
 	void pauseEngineIntern(bool pause) override;
 




More information about the Scummvm-git-logs mailing list