From d9eafdbca659469a69975e5be95407ec8ef87fc3 Mon Sep 17 00:00:00 2001 From: ParantezTech <12572227+par274@users.noreply.github.com> Date: Tue, 29 Sep 2026 15:00:41 +0300 Subject: [PATCH] [NpManager] added offline signup status --- src/SharpEmu.Libs/Np/NpManagerExports.cs | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/SharpEmu.Libs/Np/NpManagerExports.cs b/src/SharpEmu.Libs/Np/NpManagerExports.cs index 4f69258..08c237f 100644 --- a/src/SharpEmu.Libs/Np/NpManagerExports.cs +++ b/src/SharpEmu.Libs/Np/NpManagerExports.cs @@ -261,6 +261,26 @@ public static class NpManagerExports : SetReturn(ctx, (int)OrbisGen2Result.ORBIS_GEN2_ERROR_MEMORY_FAULT); } + [SysAbiExport( + Nid = "Oad3rvY-NJQ", + ExportName = "sceNpHasSignedUp", + Target = Generation.Gen4 | Generation.Gen5, + LibraryName = "libSceNpManager")] + public static int NpHasSignedUp(CpuContext ctx) + { + var resultAddress = ctx[CpuRegister.Rsi]; + if (resultAddress == 0 || unchecked((int)ctx[CpuRegister.Rdi]) == -1) + { + return SetReturn(ctx, NpErrorInvalidArgument); + } + + Span signedUp = stackalloc byte[1]; + signedUp[0] = 0; // No online account is configured in the offline profile. + return ctx.Memory.TryWrite(resultAddress, signedUp) + ? SetReturn(ctx, 0) + : SetReturn(ctx, (int)OrbisGen2Result.ORBIS_GEN2_ERROR_MEMORY_FAULT); + } + [SysAbiExport( Nid = "Ec63y59l9tw", ExportName = "sceNpSetNpTitleId",