[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