[Scummvm-git-logs] scummvm master -> 79699d0519c9ee05112a637d03c123e2f481507f

spleen1981 noreply at scummvm.org
Tue Sep 15 22:21:24 UTC 2026


This automated email contains information about 3 new commits which have been
pushed to the 'scummvm' repo located at https://api.github.com/repos/scummvm/scummvm .

Summary:
b2e1b630e9 LIBRETRO: Keep warning() in release builds
7dc603e65b LIBRETRO: Log the unknown-game report when autodetection finds nothing
79699d0519 LIBRETRO: Implement kFeatureOpenUrl on Emscripten


Commit: b2e1b630e977cda21b99c47752b247796701adbe
    https://github.com/scummvm/scummvm/commit/b2e1b630e977cda21b99c47752b247796701adbe
Author: Tristyn Russelo (tristynrusselo at gmail.com)
Date: 2026-09-16T00:19:55+02:00

Commit Message:
LIBRETRO: Keep warning() in release builds

Drop -DDISABLE_TEXT_CONSOLE from the non-DEBUG defines. It compiled every
warning() call out of the binary, so release builds gave no diagnostics for
failures that only warn (missing codecs, failed media loads). RELEASE_BUILD
stays.

Assisted-by: Claude:claude-opus-5

Changed paths:
    backends/platform/libretro/Makefile.common


diff --git a/backends/platform/libretro/Makefile.common b/backends/platform/libretro/Makefile.common
index 8370b1e38d7..b112a3ae38a 100644
--- a/backends/platform/libretro/Makefile.common
+++ b/backends/platform/libretro/Makefile.common
@@ -254,7 +254,7 @@ endif
 ifeq ($(DEBUG), 1)
    DEFINES += -O0 -g -DLIBRETRO_DEBUG -DDEBUG_BUILD
 else
-   DEFINES += -DDISABLE_TEXT_CONSOLE -DRELEASE_BUILD
+   DEFINES += -DRELEASE_BUILD
 endif
 
 ifeq ($(HAVE_NEON), 1)


Commit: 7dc603e65bb280f52861a4e25be1c4fcd90ea939
    https://github.com/scummvm/scummvm/commit/7dc603e65bb280f52861a4e25be1c4fcd90ea939
Author: Tristyn Russelo (tristynrusselo at gmail.com)
Date: 2026-09-16T00:20:11+02:00

Commit Message:
LIBRETRO: Log the unknown-game report when autodetection finds nothing

Changed paths:
    backends/platform/libretro/src/libretro-os-utils.cpp


diff --git a/backends/platform/libretro/src/libretro-os-utils.cpp b/backends/platform/libretro/src/libretro-os-utils.cpp
index c81781dafcb..9980ef8ee11 100644
--- a/backends/platform/libretro/src/libretro-os-utils.cpp
+++ b/backends/platform/libretro/src/libretro-os-utils.cpp
@@ -136,6 +136,8 @@ int OSystem_libretro::testGame(const char *filedata, bool autodetect) {
 		if (!detectionResults.listRecognizedGames().empty()) {
 			res = TEST_GAME_OK_ID_AUTODETECTED;
 		}
+		if (detectionResults.foundUnknownGames())
+			logMessage(LogMessageType::kWarning, detectionResults.generateUnknownGameReport(false, 80).encode().c_str());
 
 	} else {
 


Commit: 79699d0519c9ee05112a637d03c123e2f481507f
    https://github.com/scummvm/scummvm/commit/79699d0519c9ee05112a637d03c123e2f481507f
Author: Tristyn Russelo (tristynrusselo at gmail.com)
Date: 2026-09-16T00:20:29+02:00

Commit Message:
LIBRETRO: Implement kFeatureOpenUrl on Emscripten

Dialogs with a URL button (unknown game, missing companion file) showed the
button and did nothing on click. Open the link in a new tab from the main
thread.

Assisted-by: Claude:claude-fable-5-1

Changed paths:
    backends/platform/libretro/include/libretro-os.h
    backends/platform/libretro/src/libretro-os-base.cpp
    backends/platform/libretro/src/libretro-os-utils.cpp


diff --git a/backends/platform/libretro/include/libretro-os.h b/backends/platform/libretro/include/libretro-os.h
index c83c460e965..2f42edb370f 100644
--- a/backends/platform/libretro/include/libretro-os.h
+++ b/backends/platform/libretro/include/libretro-os.h
@@ -114,6 +114,8 @@ public:
 	Audio::Mixer *getMixer(void) override;
 	Common::Path getDefaultConfigFileName(void) override;
 	void logMessage(LogMessageType::Type type, const char *message) override;
+	bool hasFeature(Feature f) override;
+	bool openUrl(const Common::String &url) override;
 	int testGame(const char *filedata, bool autodetect);
 	void addSysArchivesToSearchSet(Common::SearchSet &s, int priority = 0) override;
 	const char *const *buildHelpDialogData() override;
diff --git a/backends/platform/libretro/src/libretro-os-base.cpp b/backends/platform/libretro/src/libretro-os-base.cpp
index 87ef2f01e9d..7d86fa93338 100644
--- a/backends/platform/libretro/src/libretro-os-base.cpp
+++ b/backends/platform/libretro/src/libretro-os-base.cpp
@@ -114,6 +114,14 @@ Audio::Mixer *OSystem_libretro::getMixer() {
 	return _mixer;
 }
 
+bool OSystem_libretro::hasFeature(Feature f) {
+#ifdef EMSCRIPTEN
+	if (f == kFeatureOpenUrl)
+		return true;
+#endif
+	return ModularGraphicsBackend::hasFeature(f);
+}
+
 void OSystem_libretro::refreshRetroSettings() {
 	_adjusted_cursor_speed = (float)BASE_CURSOR_SPEED * retro_setting_get_gamepad_cursor_speed() * (float)getScreenWidth() / 320.0f; // Dpad cursor speed should always be based off a 320 wide screen, to keep speeds consistent;
 	_inverse_acceleration_time = (retro_setting_get_gamepad_acceleration_time() > 0.0) ? (1.0f / (float)retro_setting_get_frame_rate()) * (1.0f / retro_setting_get_gamepad_acceleration_time()) : 1.0f;
diff --git a/backends/platform/libretro/src/libretro-os-utils.cpp b/backends/platform/libretro/src/libretro-os-utils.cpp
index 9980ef8ee11..f0a9eb9cbe6 100644
--- a/backends/platform/libretro/src/libretro-os-utils.cpp
+++ b/backends/platform/libretro/src/libretro-os-utils.cpp
@@ -32,6 +32,10 @@
 #include "backends/platform/libretro/include/libretro-options-widget.h"
 #include "backends/platform/libretro/include/libretro-fs.h"
 
+#ifdef EMSCRIPTEN
+#include <emscripten.h>
+#endif
+
 void OSystem_libretro::getTimeAndDate(TimeDate &t, bool skipRecord) const {
 	uint32 curTime = (uint32)(cpu_features_get_time_usec() / 1000000);
 
@@ -117,6 +121,18 @@ bool OSystem_libretro::parseGameName(const Common::String &gameName, Common::Str
 	return false;
 }
 
+bool OSystem_libretro::openUrl(const Common::String &url) {
+#ifdef EMSCRIPTEN
+	// Called on the emu thread; window.open() only exists on the main thread.
+	static char s_url[2048];
+	Common::strlcpy(s_url, url.c_str(), sizeof(s_url));
+	MAIN_THREAD_ASYNC_EM_ASM({ window.open(UTF8ToString($0), "_blank"); }, s_url);
+	return true;
+#else
+	return false;
+#endif
+}
+
 int OSystem_libretro::testGame(const char *filedata, bool autodetect) {
 	Common::String game_id;
 	Common::String engine_id;




More information about the Scummvm-git-logs mailing list