[NP] Reset Universal Data System state with the runtime

Co-authored-by: Sekai <140012992+SekaixX@users.noreply.github.com>
This commit is contained in:
ParantezTech 2026-10-08 23:44:40 +03:00
parent ad0fd8be7b
commit c1a0da742f
3 changed files with 6 additions and 1 deletions

View File

@ -159,6 +159,7 @@ public sealed class SharpEmuRuntime : ISharpEmuRuntime
FiberExports.ResetRuntimeState();
Http2Exports.ResetRuntimeState();
NpAuthExports.ResetRuntimeState();
NpUniversalDataSystemExports.ResetRuntimeState();
KernelModuleRegistry.Reset();
var image = LoadImage(normalizedEbootPath);
VideoOutExports.ConfigureApplicationInfo(image.Title, image.TitleId, image.Version);

View File

@ -11,6 +11,8 @@ public static class NpUniversalDataSystemExports
private const int ErrorInvalidArgument = unchecked((int)0x80553102);
private const int MaximumGuestStringBytes = 64 * 1024;
public static void ResetRuntimeState() => NpUniversalDataSystemState.ResetRuntimeState();
[SysAbiExport(
Nid = "sjaobBgqeB4",
ExportName = "sceNpUniversalDataSystemInitialize",

View File

@ -484,7 +484,7 @@ internal static class NpUniversalDataSystemState
}
}
internal static void ResetForTests()
internal static void ResetRuntimeState()
{
lock (Gate)
{
@ -492,6 +492,8 @@ internal static class NpUniversalDataSystemState
}
}
internal static void ResetForTests() => ResetRuntimeState();
private static ulong CreateObjectLocked(UdsObjectNode node)
{
var handle = ObjectHandleBase | ++_nextObject;