[Scummvm-git-logs] scummvm master -> 9322c029de18c1cdd983cb175f0e7f8ce50f9d63

bluegr noreply at scummvm.org
Sat Dec 4 01:01:34 UTC 2021


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:
9322c029de GROOVIE: Add support for ScummVM load/save screens in 11H


Commit: 9322c029de18c1cdd983cb175f0e7f8ce50f9d63
    https://github.com/scummvm/scummvm/commit/9322c029de18c1cdd983cb175f0e7f8ce50f9d63
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2021-12-04T03:00:56+02:00

Commit Message:
GROOVIE: Add support for ScummVM load/save screens in 11H

Changed paths:
    engines/groovie/detection.cpp
    engines/groovie/script.cpp


diff --git a/engines/groovie/detection.cpp b/engines/groovie/detection.cpp
index 87c7efe667..b9fe840207 100644
--- a/engines/groovie/detection.cpp
+++ b/engines/groovie/detection.cpp
@@ -125,7 +125,7 @@ static const GroovieGameDescription gameDescriptions[] = {
 			AD_ENTRY2s("script.grv", "bdb9a783d4debe477ac3856adc454c17", 62447,
 						"introd1.gjd", nullptr, -1),
 			Common::EN_ANY, Common::kPlatformWindows, ADGF_UNSTABLE,
-			GUIO4(GUIO_MIDIADLIB, GUIO_MIDIMT32, GUIO_MIDIGM, GUIO_NOASPECT)
+			GUIO5(GUIO_MIDIADLIB, GUIO_MIDIMT32, GUIO_MIDIGM, GUIO_NOASPECT, GAMEOPTION_ORIGINAL_SAVELOAD)
 		},
 		kGroovieT11H
 	},
@@ -137,7 +137,7 @@ static const GroovieGameDescription gameDescriptions[] = {
 			AD_ENTRY2s("script.grv", "bdb9a783d4debe477ac3856adc454c17", 62447,
 					"The 11th Hour Installer", "bcdb4040b27f15b18f39fb9e496d384a", 1002987),
 			Common::EN_ANY, Common::kPlatformMacintosh, ADGF_UNSTABLE,
-			GUIO4(GUIO_MIDIADLIB, GUIO_MIDIMT32, GUIO_MIDIGM, GUIO_NOASPECT)
+			GUIO5(GUIO_MIDIADLIB, GUIO_MIDIMT32, GUIO_MIDIGM, GUIO_NOASPECT, GAMEOPTION_ORIGINAL_SAVELOAD)
 		},
 		kGroovieT11H
 	},
@@ -149,7 +149,7 @@ static const GroovieGameDescription gameDescriptions[] = {
 			AD_ENTRY2s("script.grv", "bdb9a783d4debe477ac3856adc454c17", 62447,
 					"el01.mov", "70f42dfc25b1488a08011dc45bb5145d", 6039),
 			Common::EN_ANY, Common::kPlatformMacintosh, ADGF_UNSTABLE,
-			GUIO4(GUIO_MIDIADLIB, GUIO_MIDIMT32, GUIO_MIDIGM, GUIO_NOASPECT)
+			GUIO5(GUIO_MIDIADLIB, GUIO_MIDIMT32, GUIO_MIDIGM, GUIO_NOASPECT, GAMEOPTION_ORIGINAL_SAVELOAD)
 		},
 		kGroovieT11H
 	},
diff --git a/engines/groovie/script.cpp b/engines/groovie/script.cpp
index 0f7a524841..af669f1fbf 100644
--- a/engines/groovie/script.cpp
+++ b/engines/groovie/script.cpp
@@ -2015,6 +2015,35 @@ void Script::o2_videofromref() {
 	if (_version == kGroovieT11H && fileref == 4926 && fileref != _videoRef)
 		_videoSkipAddress = 1417;
 
+	if (_version == kGroovieT11H && fileref == 4337 && !ConfMan.getBool("originalsaveload")) {
+		if (_currentInstruction == 0xE50A) {
+			// Load from the main menu
+			GUI::SaveLoadChooser *dialog = new GUI::SaveLoadChooser(_("Restore game:"), _("Restore"), false);
+			int slot = dialog->runModalWithCurrentTarget();
+			delete dialog;
+
+			if (slot >= 0) {
+				_currentInstruction = 0xE790;
+				loadgame(slot);
+				return;
+			} else {
+				_currentInstruction = 0xBF37; // main menu
+			}
+		} else if (_currentInstruction == 0xE955) {
+			// Save from the main menu
+			GUI::SaveLoadChooser *dialog = new GUI::SaveLoadChooser(_("Save game:"), _("Save"), true);
+			int slot = dialog->runModalWithCurrentTarget();
+			Common::String saveName = dialog->getResultString();
+			delete dialog;
+
+			if (slot >= 0) {
+				directGameSave(slot, saveName);
+			}
+
+			_currentInstruction = 0xBF37; // main menu
+		}
+	}
+
 	// Show the debug information just when starting the playback
 	if (fileref != _videoRef) {
 		debugC(1, kDebugScript, "Groovie::Script: VIDEOFROMREF(0x%08X) (Not fully imp): Play video file from ref", fileref);




More information about the Scummvm-git-logs mailing list