mirror of
https://github.com/par274/sharpemu.git
synced 2026-07-22 19:06:15 +08:00
[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:
@@ -541,8 +541,7 @@ public sealed class SharpEmuRuntime : ISharpEmuRuntime
|
|||||||
if (result != OrbisGen2Result.ORBIS_GEN2_OK)
|
if (result != OrbisGen2Result.ORBIS_GEN2_OK)
|
||||||
{
|
{
|
||||||
Console.Error.WriteLine(
|
Console.Error.WriteLine(
|
||||||
$"[RUNTIME] Module start failed: {moduleName} -> {result}");
|
$"[RUNTIME] Module start failed (continuing): {moduleName} -> {result}");
|
||||||
return result;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user