From f2a86f34d136952be35cdbde42335d27cb15e774 Mon Sep 17 00:00:00 2001 From: Joe Osborn Date: Sat, 1 Mar 2025 17:34:05 -0800 Subject: [PATCH] Remove unnecessary rigmarole around importing the script as a blob (#17642) --- Makefile.emscripten | 2 +- frontend/drivers/platform_emscripten.c | 5 +++++ pkg/emscripten/libretro-thread/libretro.js | 19 +++++-------------- 3 files changed, 11 insertions(+), 15 deletions(-) diff --git a/Makefile.emscripten b/Makefile.emscripten index 22118d8baf..b582d7e5d8 100644 --- a/Makefile.emscripten +++ b/Makefile.emscripten @@ -118,7 +118,7 @@ ifeq ($(HAVE_WASMFS), 1) endif ifeq ($(PROXY_TO_PTHREAD),1) - LIBS += -sUSE_ES6_IMPORT_META=0 -sENVIRONMENT=worker,web + LIBS += -sENVIRONMENT=worker,web LIBS += -sPROXY_TO_PTHREAD -sOFFSCREENCANVAS_SUPPORT DEFINES += -DUSE_OFFSCREENCANVAS=1 -DPROXY_TO_PTHREAD=1 else diff --git a/frontend/drivers/platform_emscripten.c b/frontend/drivers/platform_emscripten.c index e36fcd5d39..0fce6b7ad4 100644 --- a/frontend/drivers/platform_emscripten.c +++ b/frontend/drivers/platform_emscripten.c @@ -461,6 +461,11 @@ static uint64_t frontend_emscripten_get_free_mem(void) } void emscripten_bootup_mainloop(void *argptr) { + if(retro_started) { + /* A stale extra call to bootup_mainloop for some reason */ + RARCH_ERR("[Emscripten] unexpected second call to bootup_mainloop after rarch_main called\n"); + return; + } if(filesystem_ready) { args_t *args = (args_t*)argptr; emscripten_cancel_main_loop(); diff --git a/pkg/emscripten/libretro-thread/libretro.js b/pkg/emscripten/libretro-thread/libretro.js index e5cb6d0e17..4c42933f8e 100644 --- a/pkg/emscripten/libretro-thread/libretro.js +++ b/pkg/emscripten/libretro-thread/libretro.js @@ -216,24 +216,15 @@ $(function() { loadCore(core); }); -async function downloadScript(src) { - let resp = await fetch(src); - let blob = await resp.blob(); - return blob; -} - function loadCore(core) { // Make the core the selected core in the UI. var coreTitle = $('#core-selector a[data-core="' + core + '"]').addClass('active').text(); $('#dropdownMenu1').text(coreTitle); - downloadScript("./"+core+"_libretro.js").then(scriptBlob => { - Module.mainScriptUrlOrBlob = scriptBlob; - import(URL.createObjectURL(scriptBlob)).then(script => { - script.default(Module).then(mod => { - Module = mod; - }).catch(err => { console.error("Couldn't instantiate module",err); throw err; }); - }).catch(err => { console.error("Couldn't load script",err); throw err; }); - }); + import("./"+core+"_libretro.js").then(script => { + script.default(Module).then(mod => { + Module = mod; + }).catch(err => { console.error("Couldn't instantiate module",err); throw err; }); + }).catch(err => { console.error("Couldn't import module"); throw err; }); } const setupWorker = new Worker("libretro.worker.js");