diff --git a/fpPS4.lpr b/fpPS4.lpr index 101fa0b0..7b3252a4 100644 --- a/fpPS4.lpr +++ b/fpPS4.lpr @@ -27,6 +27,7 @@ ps4_libSceAjm, ps4_libSceMouse, ps4_libSceIme, + ps4_libSceLncUtil, ps4_libSceMove, ps4_libSceMoveTracker, ps4_libScePlayGo, diff --git a/src/ps4_libscedialogs.pas b/src/ps4_libscedialogs.pas index 5c8e7fb8..469f7d85 100644 --- a/src/ps4_libscedialogs.pas +++ b/src/ps4_libscedialogs.pas @@ -398,6 +398,11 @@ function ps4_sceNpCommerceDialogUpdateStatus():Integer; SysV_ABI_CDecl; Result:=status_commerce_dialog; end; +function ps4_sceNpCommerceDialogGetStatus():Integer; SysV_ABI_CDecl; +begin + Result:=status_commerce_dialog; +end; + type pSceNpCommerceDialogResult=^SceNpCommerceDialogResult; SceNpCommerceDialogResult=packed record @@ -654,6 +659,7 @@ function Load_libSceNpCommerce(Const name:RawByteString):TElf_node; lib^.set_proc($D1A4766969906A5E,@ps4_sceNpCommerceDialogInitialize); lib^.set_proc($0DF4820D10371236,@ps4_sceNpCommerceDialogOpen); lib^.set_proc($2D1E5CC0530C0951,@ps4_sceNpCommerceDialogUpdateStatus); + lib^.set_proc($0826C2FA5AAABC5D,@ps4_sceNpCommerceDialogGetStatus); lib^.set_proc($AF8D9B59C41BB596,@ps4_sceNpCommerceDialogGetResult); lib^.set_proc($9BF23DD806F9D16F,@ps4_sceNpCommerceDialogTerminate); lib^.set_proc($0C79B0B1AE92F137,@ps4_sceNpCommerceShowPsStoreIcon); diff --git a/src/ps4_libscelncutil.pas b/src/ps4_libscelncutil.pas new file mode 100644 index 00000000..98f05bd7 --- /dev/null +++ b/src/ps4_libscelncutil.pas @@ -0,0 +1,34 @@ +unit ps4_libSceLncUtil; + +{$mode ObjFPC}{$H+} + +interface + +uses + ps4_program, + Classes, + SysUtils; + +implementation + +function ps4_sceLncUtilInitialize():Integer; SysV_ABI_CDecl; +begin + Result:=0; +end; + +function Load_libSceLncUtil(Const name:RawByteString):TElf_node; +var + lib:PLIBRARY; +begin + Result:=TElf_node.Create; + Result.pFileName:=name; + + lib:=Result._add_lib('libSceLncUtil'); + lib^.set_proc($7FF43C35DDF71417,@ps4_sceLncUtilInitialize); +end; + +initialization + ps4_app.RegistredPreLoad('libSceLncUtil.prx',@Load_libSceLncUtil); + +end. + diff --git a/src/ps4_libscesystemservice.pas b/src/ps4_libscesystemservice.pas index ecc60c7a..ada118c6 100644 --- a/src/ps4_libscesystemservice.pas +++ b/src/ps4_libscesystemservice.pas @@ -198,15 +198,6 @@ implementation end; end; -// - -function ps4_sceLncUtilInitialize():Integer; SysV_ABI_CDecl; -begin - Result:=0; -end; - -// - function ps4_sceSystemServiceParamGetInt(paramId:Integer;value:Pinteger):Integer; SysV_ABI_CDecl; var info:DWORD; @@ -458,18 +449,6 @@ function ps4_sceSystemServiceDisableSuspendNotification:Integer; SysV_ABI_CDecl; // -function Load_libSceLncUtil(Const name:RawByteString):TElf_node; -var - lib:PLIBRARY; -begin - Result:=TElf_node.Create; - Result.pFileName:=name; - lib:=Result._add_lib('libSceLncUtil'); - lib^.set_proc($7FF43C35DDF71417,@ps4_sceLncUtilInitialize); -end; - -// - function Load_libSceSystemService(Const name:RawByteString):TElf_node; var lib:PLIBRARY;