[Scummvm-git-logs] scummvm master -> d5702c810ad71c37781a9717dcde2e8f1ec4797d
sev-
noreply at scummvm.org
Sat May 16 21:31:59 UTC 2026
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://api.github.com/repos/scummvm/scummvm .
Summary:
d5702c810a ENGINES: Clarify ADGF_TESTING flag behavior
Commit: d5702c810ad71c37781a9717dcde2e8f1ec4797d
https://github.com/scummvm/scummvm/commit/d5702c810ad71c37781a9717dcde2e8f1ec4797d
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2026-05-16T23:31:46+02:00
Commit Message:
ENGINES: Clarify ADGF_TESTING flag behavior
It appears that we never showed it, because it was shown only
in the release builds, and in the release builds we were removing
this flag.
This change introduces new message inviting users to report bugs,
it is shown always and could be disabled by the same
"enable_unsupported_game_warning" scummvm.ini key
Changed paths:
engines/advancedDetector.cpp
engines/engine.cpp
engines/engine.h
diff --git a/engines/advancedDetector.cpp b/engines/advancedDetector.cpp
index b2fb99fdd3d..4ec7282a6bc 100644
--- a/engines/advancedDetector.cpp
+++ b/engines/advancedDetector.cpp
@@ -1196,18 +1196,13 @@ Common::Error AdvancedMetaEngineBase::createInstance(OSystem *syst, Engine **eng
// file transparently.
ConfMan.setAndFlush("guioptions", gameDescriptor.getGUIOptions());
- bool showTestingWarning = false;
-
-#ifdef RELEASE_BUILD
- showTestingWarning = true;
-#endif
-
- if (((gameDescriptor.gameSupportLevel == kUnstableGame
- || (gameDescriptor.gameSupportLevel == kTestingGame
- && showTestingWarning)))
+ if (gameDescriptor.gameSupportLevel == kUnstableGame
&& !Engine::warnUserAboutUnsupportedGame())
return Common::kUserCanceled;
+ if (gameDescriptor.gameSupportLevel == kTestingGame)
+ Engine::warnUserAboutTestingMode();
+
if (gameDescriptor.gameSupportLevel == kWarningGame
&& !Engine::warnUserAboutUnsupportedGame(gameDescriptor.extra))
return Common::kUserCanceled;
diff --git a/engines/engine.cpp b/engines/engine.cpp
index 9931471bdd9..79cb8db7098 100644
--- a/engines/engine.cpp
+++ b/engines/engine.cpp
@@ -809,7 +809,7 @@ bool Engine::warnUserAboutUnsupportedGame(Common::String msg) {
}
bool Engine::warnUserAboutUnsupportedAddOn(Common::String addOnName) {
- if (ConfMan.getBool("enable_unsupported_addon_warning")) {
+ if (ConfMan.getBool("enable_unsupported_game_warning")) {
Common::TextToSpeechManager *ttsMan = g_system->getTextToSpeechManager();
if (ttsMan != nullptr) {
ttsMan->pushState();
@@ -834,6 +834,23 @@ bool Engine::warnUserAboutUnsupportedAddOn(Common::String addOnName) {
return true;
}
+void Engine::warnUserAboutTestingMode() {
+ if (ConfMan.getBool("enable_unsupported_game_warning")) {
+ Common::TextToSpeechManager *ttsMan = g_system->getTextToSpeechManager();
+ if (ttsMan != nullptr) {
+ ttsMan->pushState();
+ g_gui.initTextToSpeech();
+ }
+
+ GUI::MessageDialog alert(_("WARNING: The game you are about to start is newly supported and is in testing mode.\n"
+ "If you encounter any bugs or oddities, please report them to our bugtracker."), _("OK"));
+ alert.runModal();
+
+ if (ttsMan != nullptr)
+ ttsMan->popState();
+ }
+}
+
void Engine::errorAddingAddOnWithoutBaseGame(Common::String addOnName, Common::String gameId) {
Common::TextToSpeechManager *ttsMan = g_system->getTextToSpeechManager();
if (ttsMan != nullptr) {
diff --git a/engines/engine.h b/engines/engine.h
index cfabbf37377..fccc2efff5d 100644
--- a/engines/engine.h
+++ b/engines/engine.h
@@ -601,6 +601,11 @@ public:
*/
static bool warnUserAboutUnsupportedAddOn(Common::String addOnName);
+ /**
+ * Display a warning to the user that the game is in testing mode.
+ */
+ static void warnUserAboutTestingMode();
+
/**
* Display an error message to the user that the game is an add-on than cannot be
* run independently.
More information about the Scummvm-git-logs
mailing list