Random stubs for HMD & login functions (#111)

* Random stubs for HMD & login functions

* add params stub

---------

Co-authored-by: red-prig <vdpasha@mail.ru>
This commit is contained in:
kaitlyn~ 2023-04-01 09:37:23 -04:00 committed by GitHub
parent 5500113151
commit feacf7be06
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 298 additions and 0 deletions

View File

@ -65,6 +65,10 @@ uses
ps4_libSceAudiodecCpu,
ps4_libSceDepth,
ps4_libSceNpTus,
ps4_libSceLoginService,
ps4_libSceHmd,
ps4_libSceVrTracker,
ps4_libSceCamera,
ps4_elf,
ps4_pthread,
ps4_program,

View File

@ -1611,6 +1611,7 @@ begin
//queue
lib^.set_proc($0F439D14C8E9E3A2,@ps4_sceKernelCreateEqueue);
lib^.set_proc($8E91639A0002E401,@ps4_sceKernelDeleteEqueue);
lib^.set_proc($7F3C8C2ACF648A6D,@ps4_sceKernelWaitEqueue);
lib^.set_proc($E11EBF3AF2367040,@ps4_sceKernelAddUserEvent);

View File

@ -129,6 +129,7 @@ type
end;
function ps4_sceKernelCreateEqueue(outEq:PSceKernelEqueue;name:PChar):Integer; SysV_ABI_CDecl;
function ps4_sceKernelDeleteEqueue(eq:PSceKernelEqueue):Integer; SysV_ABI_CDecl;
function ps4_sceKernelWaitEqueue(
eq:SceKernelEqueue;
@ -315,6 +316,11 @@ begin
_sig_unlock;
end;
function ps4_sceKernelDeleteEqueue(eq:PSceKernelEqueue):Integer; SysV_ABI_CDecl;
begin
Result:=0;
end;
function _post_event(eq:SceKernelEqueue;node:PKEventNode;cb:TKFetchEvent):Boolean;
var
i,t,wait:DWORD;

35
src/ps4_libscecamera.pas Normal file
View File

@ -0,0 +1,35 @@
unit ps4_libSceCamera;
{$mode ObjFPC}{$H+}
interface
uses
ps4_program,
Classes,
SysUtils;
implementation
function ps4_sceCameraIsAttached(index:Integer):Integer; SysV_ABI_CDecl;
begin
Result:=0;
end;
function Load_libSceCamera(Const name:RawByteString):TElf_node;
var
lib:PLIBRARY;
begin
Result:=TElf_node.Create;
Result.pFileName:=name;
lib:=Result._add_lib('libSceCamera');
lib^.set_proc($A7A9F73698B7618E,@ps4_sceCameraIsAttached);
end;
initialization
ps4_app.RegistredPreLoad('libSceCamera.prx',@Load_libSceCamera);
end.

View File

@ -514,6 +514,40 @@ end;
//
function ps4_sceLoginDialogInitialize():Integer; SysV_ABI_CDecl;
begin
Result:=0;
end;
//
function ps4_sceHmdSetupDialogInitialize():Integer; SysV_ABI_CDecl;
begin
Result:=0;
end;
function ps4_sceHmdSetupDialogOpen(param:Pointer):Integer; SysV_ABI_CDecl;
begin
Result:=0;
end;
function ps4_sceHmdSetupDialogUpdateStatus():Integer; SysV_ABI_CDecl;
begin
Result:=SCE_COMMON_DIALOG_STATUS_FINISHED;
end;
function ps4_sceHmdSetupDialogGetResult(pResult:Pointer):Integer; SysV_ABI_CDecl;
begin
Result:=0;
end;
function ps4_sceHmdSetupDialogTerminate():Integer; SysV_ABI_CDecl;
begin
Result:=0;
end;
//
function Load_libSceCommonDialog(Const name:RawByteString):TElf_node;
var
lib:PLIBRARY;
@ -639,6 +673,30 @@ begin
lib^.set_proc($2000E60F8B527016,@ps4_sceImeDialogGetStatus);
end;
function Load_libSceLoginDialog(Const name:RawByteString):TElf_node;
var
lib:PLIBRARY;
begin
Result:=TElf_node.Create;
Result.pFileName:=name;
lib:=Result._add_lib('libSceLoginDialog');
lib^.set_proc($A8FFC4BD0465D877,@ps4_sceLoginDialogInitialize);
end;
function Load_libSceHmdSetupDialog(Const name:RawByteString):TElf_node;
var
lib:PLIBRARY;
begin
Result:=TElf_node.Create;
Result.pFileName:=name;
lib:=Result._add_lib('libSceHmdSetupDialog');
lib^.set_proc($341D58DA40368C26,@ps4_sceHmdSetupDialogInitialize);
lib^.set_proc($34D8225784FE6A45,@ps4_sceHmdSetupDialogOpen);
lib^.set_proc($51DEE3DFE4432018,@ps4_sceHmdSetupDialogUpdateStatus);
lib^.set_proc($EA55511CC5792D8D,@ps4_sceHmdSetupDialogGetResult);
lib^.set_proc($FB3E0E26616B7997,@ps4_sceHmdSetupDialogTerminate);
end;
initialization
ps4_app.RegistredPreLoad('libSceCommonDialog.prx' ,@Load_libSceCommonDialog);
ps4_app.RegistredPreLoad('libSceErrorDialog.prx' ,@Load_libSceErrorDialog);
@ -649,6 +707,8 @@ initialization
ps4_app.RegistredPreLoad('libSceSigninDialog.prx' ,@Load_libSceSigninDialog);
ps4_app.RegistredPreLoad('libScePlayerInvitationDialog.prx',@Load_libScePlayerInvitationDialog);
ps4_app.RegistredPreLoad('libSceImeDialog.prx' ,@Load_libSceImeDialog);
ps4_app.RegistredPreLoad('libSceLoginDialog.prx' ,@Load_libSceLoginDialog);
ps4_app.RegistredPreLoad('libSceHmdSetupDialog.prx' ,@Load_libSceHmdSetupDialog);
end.

112
src/ps4_libscehmd.pas Normal file
View File

@ -0,0 +1,112 @@
unit ps4_libSceHmd;
{$mode ObjFPC}{$H+}
interface
uses
ps4_program,
Classes,
SysUtils;
implementation
function ps4_sceHmdInitialize(param:Pointer):Integer; SysV_ABI_CDecl;
begin
Result:=0;
end;
function ps4_sceHmdInitialize315(param:Pointer):Integer; SysV_ABI_CDecl;
begin
Result:=0;
end;
function ps4_sceHmdReprojectionQueryOnionBuffSize():Integer; SysV_ABI_CDecl;
begin
Result:=$810;
end;
function ps4_sceHmdReprojectionQueryOnionBuffAlign():Integer; SysV_ABI_CDecl;
begin
Result:=$100;
end;
function ps4_sceHmdReprojectionQueryGarlicBuffSize():Integer; SysV_ABI_CDecl;
begin
Result:=$100000;
end;
function ps4_sceHmdReprojectionQueryGarlicBuffAlign():Integer; SysV_ABI_CDecl;
begin
Result:=$100;
end;
function ps4_sceHmdReprojectionSetUserEventStart(eq:Pointer;id:Integer):Integer; SysV_ABI_CDecl;
begin
Result:=0;
end;
function ps4_sceHmdReprojectionSetUserEventEnd(eq:Pointer;id:Integer):Integer; SysV_ABI_CDecl;
begin
Result:=0;
end;
function ps4_sceHmdGetDeviceInformation(info:Pointer):Integer; SysV_ABI_CDecl;
begin
Result:=0;
end;
function ps4_sceHmdReprojectionStop():Integer; SysV_ABI_CDecl;
begin
Result:=0;
end;
function ps4_sceHmdReprojectionUnsetDisplayBuffers():Integer; SysV_ABI_CDecl;
begin
Result:=0;
end;
procedure ps4_sceHmdReprojectionFinalize(); SysV_ABI_CDecl;
begin
//
end;
function ps4_sceHmdReprojectionClearUserEventStart():Integer; SysV_ABI_CDecl;
begin
Result:=0;
end;
function ps4_sceHmdTerminate():Integer; SysV_ABI_CDecl;
begin
Result:=0;
end;
function Load_libSceHmd(Const name:RawByteString):TElf_node;
var
lib:PLIBRARY;
begin
Result:=TElf_node.Create;
Result.pFileName:=name;
lib:=Result._add_lib('libSceHmd');
lib^.set_proc($2B82A71F44244F67,@ps4_sceHmdInitialize);
lib^.set_proc($B3F27AE9AAFD839D,@ps4_sceHmdInitialize315);
lib^.set_proc($90B50090DE9AD5EF,@ps4_sceHmdReprojectionQueryOnionBuffSize);
lib^.set_proc($216C9B59B47FC6F0,@ps4_sceHmdReprojectionQueryOnionBuffAlign);
lib^.set_proc($CF42AD375BEA1761,@ps4_sceHmdReprojectionQueryGarlicBuffSize);
lib^.set_proc($4E470035C18CD2CF,@ps4_sceHmdReprojectionQueryGarlicBuffAlign);
lib^.set_proc($EDAB340A35D6D41F,@ps4_sceHmdReprojectionSetUserEventStart);
lib^.set_proc($927C888659292E01,@ps4_sceHmdReprojectionSetUserEventEnd);
lib^.set_proc($B610EDF6EA59969F,@ps4_sceHmdGetDeviceInformation);
lib^.set_proc($BF33049300507223,@ps4_sceHmdReprojectionStop);
lib^.set_proc($88634DA430E3730A,@ps4_sceHmdReprojectionUnsetDisplayBuffers);
lib^.set_proc($66B579608A83D3D2,@ps4_sceHmdReprojectionFinalize);
lib^.set_proc($99DC856DA263EBA3,@ps4_sceHmdReprojectionClearUserEventStart);
lib^.set_proc($CFF44C20BA8FEAD1,@ps4_sceHmdTerminate);
end;
initialization
ps4_app.RegistredPreLoad('libSceHmd.prx',@Load_libSceHmd);
end.

View File

@ -0,0 +1,34 @@
unit ps4_libSceLoginService;
{$mode ObjFPC}{$H+}
interface
uses
ps4_program,
Classes,
SysUtils;
implementation
function ps4_sceLoginServiceInitialize():Integer; SysV_ABI_CDecl;
begin
Result:=0;
end;
function Load_libSceLoginService(Const name:RawByteString):TElf_node;
var
lib:PLIBRARY;
begin
Result:=TElf_node.Create;
Result.pFileName:=name;
lib:=Result._add_lib('libSceLoginService');
lib^.set_proc($4FDFCDB921C0BDC4,@ps4_sceLoginServiceInitialize);
end;
initialization
ps4_app.RegistredPreLoad('libSceLoginService.prx',@Load_libSceLoginService);
end.

View File

@ -0,0 +1,46 @@
unit ps4_libSceVrTracker;
{$mode ObjFPC}{$H+}
interface
uses
ps4_program,
Classes,
SysUtils;
implementation
function ps4_sceVrTrackerQueryMemory(param,pResult:Pointer):Integer; SysV_ABI_CDecl;
begin
Result:=0;
end;
function ps4_sceVrTrackerInit(param:Pointer):Integer; SysV_ABI_CDecl;
begin
Result:=0;
end;
function ps4_sceVrTrackerTerm():Integer; SysV_ABI_CDecl;
begin
Result:=0;
end;
function Load_libSceVrTracker(Const name:RawByteString):TElf_node;
var
lib:PLIBRARY;
begin
Result:=TElf_node.Create;
Result.pFileName:=name;
lib:=Result._add_lib('libSceVrTracker');
lib^.set_proc($2BBCA162BB0804F7,@ps4_sceVrTrackerQueryMemory);
lib^.set_proc($424465EE90114FD3,@ps4_sceVrTrackerInit);
lib^.set_proc($201BF83F7AB5A50D,@ps4_sceVrTrackerTerm);
end;
initialization
ps4_app.RegistredPreLoad('libSceVrTracker.prx',@Load_libSceVrTracker);
end.