diff --git a/fpPS4.lpi b/fpPS4.lpi index 8d8e5630..df663402 100644 --- a/fpPS4.lpi +++ b/fpPS4.lpi @@ -1570,6 +1570,11 @@ + + + + + diff --git a/gui/game_run.pas b/gui/game_run.pas index ce925e70..f4c23993 100644 --- a/gui/game_run.pas +++ b/gui/game_run.pas @@ -83,6 +83,7 @@ uses ps4_libSceNpGameIntent, ps4_libSceNpWebApi, ps4_libSceNpWebApi2, + ps4_libSceRemoteplay, ps4_libSceScreenShot, ps4_libSceSaveData, ps4_libSceAudioOut, diff --git a/src/old/ps4_libsceremoteplay.pas b/src/old/ps4_libsceremoteplay.pas deleted file mode 100644 index 9eca88ee..00000000 --- a/src/old/ps4_libsceremoteplay.pas +++ /dev/null @@ -1,70 +0,0 @@ -unit ps4_libSceRemoteplay; - -{$mode ObjFPC}{$H+} - -interface - -uses - ps4_program, - Classes, - SysUtils; - -implementation - -const - SCE_REMOTEPLAY_HEAP_SIZE=6*1024; - -function ps4_sceRemoteplayInitialize(pHeap:Pointer;heapSize:QWORD):Integer; SysV_ABI_CDecl; -begin - Writeln('sceRemoteplayInitialize:',heapSize); - Result:=0; -end; - -function ps4_sceRemoteplayApprove:Integer; SysV_ABI_CDecl; -begin - Result:=0; -end; - -function ps4_sceRemoteplaySetProhibition:Integer; SysV_ABI_CDecl; -begin - Result:=0; -end; - -const - SCE_REMOTEPLAY_CONNECTION_STATUS_DISCONNECT=0; - SCE_REMOTEPLAY_CONNECTION_STATUS_CONNECT =1; - -function ps4_sceRemoteplayGetConnectionStatus(userId:Integer;pStatus:PInteger):Integer; SysV_ABI_CDecl; -begin - if (pStatus<>nil) then - begin - pStatus^:=SCE_REMOTEPLAY_CONNECTION_STATUS_DISCONNECT; - end; - Result:=0; -end; - -function ps4_sceRemoteplayProhibit:Integer; SysV_ABI_CDecl; -begin - Result:=0; -end; - -function Load_libSceRemoteplay(Const name:RawByteString):TElf_node; -var - lib:PLIBRARY; -begin - Result:=TElf_node.Create; - Result.pFileName:=name; - - lib:=Result._add_lib('libSceRemoteplay'); - lib^.set_proc($9354B082431238CF,@ps4_sceRemoteplayInitialize); - lib^.set_proc($C50788AF24D7EDD6,@ps4_sceRemoteplayApprove); - lib^.set_proc($8373CD8D8296AA74,@ps4_sceRemoteplayGetConnectionStatus); - lib^.set_proc($45FD1731547BC4FC,@ps4_sceRemoteplaySetProhibition); - lib^.set_proc($9AB361EFCB41A668,@ps4_sceRemoteplayProhibit); -end; - -initialization - ps4_app.RegistredPreLoad('libSceRemoteplay.prx',@Load_libSceRemoteplay); - -end. - diff --git a/src/ps4_libsceremoteplay.pas b/src/ps4_libsceremoteplay.pas new file mode 100644 index 00000000..40cfe1f4 --- /dev/null +++ b/src/ps4_libsceremoteplay.pas @@ -0,0 +1,71 @@ +unit ps4_libSceRemoteplay; + +{$mode ObjFPC}{$H+} +{$CALLING SysV_ABI_CDecl} + +interface + +uses + subr_dynlib; + +implementation + +const + SCE_REMOTEPLAY_HEAP_SIZE=6*1024; + +function ps4_sceRemoteplayInitialize(pHeap:Pointer;heapSize:QWORD):Integer; +begin + Writeln('sceRemoteplayInitialize:',heapSize); + Result:=0; +end; + +function ps4_sceRemoteplayApprove:Integer; +begin + Result:=0; +end; + +function ps4_sceRemoteplaySetProhibition:Integer; +begin + Result:=0; +end; + +const + SCE_REMOTEPLAY_CONNECTION_STATUS_DISCONNECT=0; + SCE_REMOTEPLAY_CONNECTION_STATUS_CONNECT =1; + +function ps4_sceRemoteplayGetConnectionStatus(userId:Integer;pStatus:PInteger):Integer; +begin + if (pStatus<>nil) then + begin + pStatus^:=SCE_REMOTEPLAY_CONNECTION_STATUS_DISCONNECT; + end; + Result:=0; +end; + +function ps4_sceRemoteplayProhibit:Integer; +begin + Result:=0; +end; + +function Load_libSceRemoteplay(name:pchar):p_lib_info; +var + lib:TLIBRARY; +begin + Result:=obj_new_int('libSceRemoteplay'); + + lib:=Result^.add_lib('libSceRemoteplay'); + lib.set_proc($9354B082431238CF,@ps4_sceRemoteplayInitialize); + lib.set_proc($C50788AF24D7EDD6,@ps4_sceRemoteplayApprove); + lib.set_proc($8373CD8D8296AA74,@ps4_sceRemoteplayGetConnectionStatus); + lib.set_proc($45FD1731547BC4FC,@ps4_sceRemoteplaySetProhibition); + lib.set_proc($9AB361EFCB41A668,@ps4_sceRemoteplayProhibit); +end; + +var + stub:t_int_file; + +initialization + RegisteredInternalFile(stub,'libSceRemoteplay.prx',@Load_libSceRemoteplay); + +end. +