[Runtime] Do not abort boot when a preloaded module fails to start

A preloaded module is not necessarily required. Titles ship middleware
they only use on some paths, and its DT_INIT can reach an import we have
no HLE for. Returning that failure from RunPreloadedModuleInitializers
aborted the entire run, so one optional module prevented a title that
renders perfectly well from booting at all.

Log the failure and continue. The module stays registered but unstarted,
and its exports resolve exactly as they did before it was attempted.

DOOM + DOOM II (PPSA21444) hit this via party.prx, whose initialiser
needs clock_getres.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
shadowbeat070
2026-07-19 14:00:57 +02:00
parent cb9fc5139b
commit 3e39fb4c6e
+1 -2
View File
@@ -541,8 +541,7 @@ public sealed class SharpEmuRuntime : ISharpEmuRuntime
if (result != OrbisGen2Result.ORBIS_GEN2_OK)
{
Console.Error.WriteLine(
$"[RUNTIME] Module start failed: {moduleName} -> {result}");
return result;
$"[RUNTIME] Module start failed (continuing): {moduleName} -> {result}");
}
}