diff --git a/src/np/ps4_libscenpmanager.pas b/src/np/ps4_libscenpmanager.pas index 9a3ea1e..f7decd7 100644 --- a/src/np/ps4_libscenpmanager.pas +++ b/src/np/ps4_libscenpmanager.pas @@ -79,6 +79,10 @@ const SCE_NP_STATE_SIGNED_OUT =1; SCE_NP_STATE_SIGNED_IN =2; + //SceNpGamePresenceStatus + SCE_NP_GAME_PRESENCE_STATUS_OFFLINE=0; + SCE_NP_GAME_PRESENCE_STATUS_ONLINE =1; + type pSceNpCreateAsyncRequestParameter=^SceNpCreateAsyncRequestParameter; SceNpCreateAsyncRequestParameter=packed record @@ -225,6 +229,14 @@ begin Result:=0; end; +function ps4_sceNpGetGamePresenceStatusA(userId:Integer;pStatus:PInteger):Integer; SysV_ABI_CDecl; +begin + if (pStatus=nil) then Exit(SCE_NP_ERROR_INVALID_ARGUMENT); + + pStatus^:=SCE_NP_GAME_PRESENCE_STATUS_OFFLINE; + Result:=0; +end; + function ps4_sceNpHasSignedUp(userId:Integer;hasSignedUp:PBoolean):Integer; SysV_ABI_CDecl; begin if (hasSignedUp=nil) then Exit(SCE_NP_ERROR_INVALID_ARGUMENT); @@ -549,6 +561,7 @@ begin lib^.set_proc($A7FA3BE029E83736,@ps4_sceNpGetNpId); lib^.set_proc($5C39DC5D02095129,@ps4_sceNpGetOnlineId); lib^.set_proc($7901FB9D63DC0207,@ps4_sceNpGetState); + lib^.set_proc($A0F3BD538D98A602,@ps4_sceNpGetGamePresenceStatusA); lib^.set_proc($39A777AEF63F3494,@ps4_sceNpHasSignedUp); lib^.set_proc($11CEB7CB9F65F6DC,@ps4_sceNpSetNpTitleId); lib^.set_proc($DD997C05E3D387D6,@ps4_sceNpCheckCallback);