SceNpMatching2 Implementations (#153)

* sceNpMatching2CreateContextA

* sceNpMatching2ContextStart

* sceNpMatching2RegisterSignalingCallback

* sceNpMatching2RegisterRoomEventCallback

* sceNpMatching2RegisterLobbyEventCallback

* fix params

---------

Co-authored-by: red-prig <vdpasha@mail.ru>
This commit is contained in:
Ordinary205 2023-12-25 23:16:48 +04:00 committed by GitHub
parent 7a1d63b964
commit c46781caaf
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -37,12 +37,41 @@ type
size :size_t;
end;
pSceNpMatching2CreateContextParamA=^SceNpMatching2CreateContextParamA;
SceNpMatching2CreateContextParamA=packed record
user :Integer;
serviceLabel:SceNpServiceLabel;
size :size_t;
end;
SceNpMatching2ContextCallback=procedure(
ctxId,event:Word;
eventCause:Byte;
errorCode:Integer;
arg:Pointer); SysV_ABI_CDecl;
SceNpMatching2LobbyEventCallback=procedure(
ctxId:Word;
lobbyId:QWORD;
event:Word;
data:Pointer;
arg:Pointer); SysV_ABI_CDecl;
SceNpMatching2RoomEventCallback=procedure(
ctxId:Word;
roomId:QWORD;
event:Word;
data:Pointer;
arg:Pointer); SysV_ABI_CDecl;
SceNpMatching2SignalingCallback=procedure(
ctxId:Word;
roomId:QWORD;
peerMemberId:Word;
event:Word;
errorCode:Integer;
arg:Pointer); SysV_ABI_CDecl;
function ps4_sceNpMatching2Initialize(param:pSceNpMatching2InitializeParameter):Integer; SysV_ABI_CDecl;
begin
Result:=0;
@ -53,11 +82,41 @@ begin
Result:=0;
end;
function ps4_sceNpMatching2RegisterLobbyEventCallback(ctxId:SceNpMatching2ContextId;
cbFunc:SceNpMatching2LobbyEventCallback;cbFuncArg:Pointer):Integer; SysV_ABI_CDecl;
begin
Result:=0;
end;
function ps4_sceNpMatching2RegisterRoomEventCallback(ctxId:SceNpMatching2ContextId;
cbFunc:SceNpMatching2RoomEventCallback;cbFuncArg:Pointer):Integer; SysV_ABI_CDecl;
begin
Result:=0;
end;
function ps4_sceNpMatching2RegisterSignalingCallback(ctxId:SceNpMatching2ContextId;
cbFunc:SceNpMatching2SignalingCallback;cbFuncArg:Pointer):Integer; SysV_ABI_CDecl;
begin
Result:=0;
end;
function ps4_sceNpMatching2ContextStart(ctxId:SceNpMatching2ContextId;timeout:QWORD):Integer; SysV_ABI_CDecl;
begin
Result:=0;
end;
function ps4_sceNpMatching2CreateContext(param:pSceNpMatching2CreateContextParam;
ctxId:PWord):Integer; SysV_ABI_CDecl;
begin
Writeln('sceNpMatching2CreateContext,serviceLabel=',param^.serviceLabel,',size=',param^.size);
Result:=SCE_NP_MATCHING2_ERROR_NOT_INITIALIZED;
Result:=0;
end;
function ps4_sceNpMatching2CreateContextA(param:pSceNpMatching2CreateContextParamA;
ctxId:PWord):Integer; SysV_ABI_CDecl;
begin
Writeln('sceNpMatching2CreateContextA,serviceLabel=',param^.serviceLabel,',size=',param^.size);
Result:=0;
end;
function ps4_sceNpMatching2Terminate():Integer; SysV_ABI_CDecl;
@ -75,7 +134,12 @@ begin
lib:=Result._add_lib('libSceNpMatching2');
lib^.set_proc($D74B777B9F893E75,@ps4_sceNpMatching2Initialize);
lib^.set_proc($7D041F3FCEC8EE1B,@ps4_sceNpMatching2RegisterContextCallback);
lib^.set_proc($E0D8FBBB9079C820,@ps4_sceNpMatching2RegisterLobbyEventCallback);
lib^.set_proc($A7ED849F199A00C3,@ps4_sceNpMatching2RegisterRoomEventCallback);
lib^.set_proc($D1431E5911A764A0,@ps4_sceNpMatching2RegisterSignalingCallback);
lib^.set_proc($EEF8CD43A675A29D,@ps4_sceNpMatching2ContextStart);
lib^.set_proc($61F9A95BBD7DACCA,@ps4_sceNpMatching2CreateContext);
lib^.set_proc($6A3BF373C7B6BA9A,@ps4_sceNpMatching2CreateContextA);
lib^.set_proc($32AA77949FAC8F2E,@ps4_sceNpMatching2Terminate);
end;