This commit is contained in:
Pavel 2025-02-04 10:52:59 +03:00
parent 9661df2c72
commit c487f219f2
4 changed files with 77 additions and 70 deletions

View File

@ -1570,6 +1570,11 @@
<Filename Value="gui\ms_shell_hack.pas"/>
<IsPartOfProject Value="True"/>
</Unit>
<Unit>
<Filename Value="src\ps4_libsceremoteplay.pas"/>
<IsPartOfProject Value="True"/>
<UnitName Value="ps4_libSceRemoteplay"/>
</Unit>
</Units>
</ProjectOptions>
<CompilerOptions>

View File

@ -83,6 +83,7 @@ uses
ps4_libSceNpGameIntent,
ps4_libSceNpWebApi,
ps4_libSceNpWebApi2,
ps4_libSceRemoteplay,
ps4_libSceScreenShot,
ps4_libSceSaveData,
ps4_libSceAudioOut,

View File

@ -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.

View File

@ -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.