[Scummvm-git-logs] scummvm master -> 8baac0f52cfce6eaf3cb7b3b29ea254f6e1c718c
bluegr
bluegr at gmail.com
Wed Sep 15 16:29:10 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:
8baac0f52c GROOVIE: Allow loading using the ScummVM load screen in T7G
Commit: 8baac0f52cfce6eaf3cb7b3b29ea254f6e1c718c
https://github.com/scummvm/scummvm/commit/8baac0f52cfce6eaf3cb7b3b29ea254f6e1c718c
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2021-09-15T19:28:59+03:00
Commit Message:
GROOVIE: Allow loading using the ScummVM load screen in T7G
Changed paths:
engines/groovie/detection.cpp
engines/groovie/script.cpp
diff --git a/engines/groovie/detection.cpp b/engines/groovie/detection.cpp
index ffd3f8bf86..f389ce6e4c 100644
--- a/engines/groovie/detection.cpp
+++ b/engines/groovie/detection.cpp
@@ -30,6 +30,7 @@
namespace Groovie {
#define GAMEOPTION_T7G_FAST_MOVIE_SPEED GUIO_GAMEOPTIONS1
+#define GAMEOPTION_ORIGINAL_SAVELOAD GUIO_GAMEOPTIONS2
static const DebugChannelDef debugFlagList[] = {
{Groovie::kDebugVideo, "Video", "Debug video and audio playback"},
@@ -66,7 +67,7 @@ static const GroovieGameDescription gameDescriptions[] = {
"t7g", "",
AD_ENTRY1s("script.grv", "d1b8033b40aa67c076039881eccce90d", 16659),
Common::EN_ANY, Common::kPlatformDOS, ADGF_NO_FLAGS,
- GUIO6(GUIO_MIDIADLIB, GUIO_MIDIMT32, GUIO_MIDIGM, GUIO_NOASPECT, GUIO_NOSFX, GAMEOPTION_T7G_FAST_MOVIE_SPEED)
+ GUIO7(GUIO_MIDIADLIB, GUIO_MIDIMT32, GUIO_MIDIGM, GUIO_NOASPECT, GUIO_NOSFX, GAMEOPTION_T7G_FAST_MOVIE_SPEED, GAMEOPTION_ORIGINAL_SAVELOAD)
},
kGroovieT7G
},
@@ -78,7 +79,7 @@ static const GroovieGameDescription gameDescriptions[] = {
AD_ENTRY2s("script.grv", NULL, -1,
"T7GMac", "acdc4a58dd3f007f65e99b99d78e0bce", 1814029),
Common::EN_ANY, Common::kPlatformMacintosh, ADGF_MACRESFORK,
- GUIO6(GUIO_MIDIADLIB, GUIO_MIDIMT32, GUIO_MIDIGM, GUIO_NOASPECT, GUIO_NOSFX, GAMEOPTION_T7G_FAST_MOVIE_SPEED)
+ GUIO7(GUIO_MIDIADLIB, GUIO_MIDIMT32, GUIO_MIDIGM, GUIO_NOASPECT, GUIO_NOSFX, GAMEOPTION_T7G_FAST_MOVIE_SPEED, GAMEOPTION_ORIGINAL_SAVELOAD)
},
kGroovieT7G
},
@@ -90,7 +91,7 @@ static const GroovieGameDescription gameDescriptions[] = {
AD_ENTRY2s("script.grv", "d1b8033b40aa67c076039881eccce90d", 16659,
"intro.gjd", NULL, 31711554),
Common::RU_RUS, Common::kPlatformDOS, ADGF_NO_FLAGS,
- GUIO6(GUIO_MIDIADLIB, GUIO_MIDIMT32, GUIO_MIDIGM, GUIO_NOASPECT, GUIO_NOSFX, GAMEOPTION_T7G_FAST_MOVIE_SPEED)
+ GUIO7(GUIO_MIDIADLIB, GUIO_MIDIMT32, GUIO_MIDIGM, GUIO_NOASPECT, GUIO_NOSFX, GAMEOPTION_T7G_FAST_MOVIE_SPEED, GAMEOPTION_ORIGINAL_SAVELOAD)
},
kGroovieT7G
},
@@ -102,7 +103,7 @@ static const GroovieGameDescription gameDescriptions[] = {
AD_ENTRY2s("script.grv", "d1b8033b40aa67c076039881eccce90d", 16659,
"SeventhGuest", NULL, -1),
Common::EN_ANY, Common::kPlatformIOS, ADGF_NO_FLAGS,
- GUIO4(GUIO_NOMIDI, GUIO_NOASPECT, GUIO_NOSFX, GAMEOPTION_T7G_FAST_MOVIE_SPEED)
+ GUIO5(GUIO_NOMIDI, GUIO_NOASPECT, GUIO_NOSFX, GAMEOPTION_T7G_FAST_MOVIE_SPEED, GAMEOPTION_ORIGINAL_SAVELOAD)
},
kGroovieT7G
},
@@ -356,6 +357,16 @@ static const ADExtraGuiOptionsMap optionsList[] = {
}
},
+ {
+ GAMEOPTION_ORIGINAL_SAVELOAD,
+ {
+ _s("Use original save/load screens"),
+ _s("Use the original save/load screens instead of the ScummVM ones"),
+ "originalsaveload",
+ false
+ }
+ },
+
AD_EXTRA_GUI_OPTIONS_TERMINATOR
};
diff --git a/engines/groovie/script.cpp b/engines/groovie/script.cpp
index d81863f074..70ba473e9e 100644
--- a/engines/groovie/script.cpp
+++ b/engines/groovie/script.cpp
@@ -35,6 +35,8 @@
#include "groovie/tlcgame.h"
#include "groovie/t11hgame.h"
+#include "gui/saveload.h"
+
#include "common/archive.h"
#include "common/config-manager.h"
#include "common/debug-channels.h"
@@ -651,6 +653,25 @@ void Script::o_videofromref() { // 0x09
debugCN(1, kDebugScript, "Groovie::Script: (This video is special somehow!)");
warning("Groovie::Script: (This video (0x%04X) is special somehow!)", fileref);
}
+ break;
+
+ case 0x2420: // load from main menu
+ if (_version == kGroovieT7G && !ConfMan.getBool("originalsaveload")) {
+ GUI::SaveLoadChooser *dialog = new GUI::SaveLoadChooser(_("Load game:"), _("Load"), false);
+ int slot = dialog->runModalWithCurrentTarget();
+ delete dialog;
+
+ if (slot >= 0) {
+ _currentInstruction = 0x287;
+ _bitflags = 0;
+ setVariable(0x19, slot);
+ } else {
+ _currentInstruction = 0x016; // back to main menu (load game / new game)
+ }
+
+ return;
+ }
+ break;
default:
break;
More information about the Scummvm-git-logs
mailing list