From 7a1d63b9644d6408448a71caf7cb8fcedd87bf65 Mon Sep 17 00:00:00 2001 From: krispy <125815038+kr1spy2115@users.noreply.github.com> Date: Mon, 25 Dec 2023 17:25:38 +0100 Subject: [PATCH] SceNpGetAccountLanguageA (#152) * Update ps4_libscenpmanager.pas (sceNpGetAccountLanguageA) implement function * Update ps4_libscenpmanager.pas * Update ps4_libscenpmanager.pas (SceNpGetAccountLanguageA) SceNpGetAccountLanguageA --- src/np/ps4_libscenpmanager.pas | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/np/ps4_libscenpmanager.pas b/src/np/ps4_libscenpmanager.pas index 62f75934..cd2b4025 100644 --- a/src/np/ps4_libscenpmanager.pas +++ b/src/np/ps4_libscenpmanager.pas @@ -12,6 +12,8 @@ interface Const SCE_NP_COUNTRY_CODE_LENGTH=2; + + SCE_NP_LANGUAGE_CODE_MAX_LEN=5; SCE_NP_TITLE_ID_LEN=12; @@ -40,6 +42,12 @@ interface padding:array[0..1] of AnsiChar; end; + pSceNpLanguageCode=^SceNpLanguageCode; + SceNpLanguageCode=packed record + code:array[0..SCE_NP_LANGUAGE_CODE_MAX_LEN] of AnsiChar; + padding:array[0..9] of Byte; + end; + SceNpAgeRestriction=packed record countryCode:SceNpCountryCode; age:Shortint; @@ -161,6 +169,13 @@ function ps4_sceNpGetAccountIdA(userId:Integer;pAccountId:PQWORD):Integer; SysV_ Result:=0; end; +function ps4_sceNpGetAccountLanguageA(reqId,userId:Integer;pLangCode:pSceNpLanguageCode):Integer; SysV_ABI_CDecl; +begin + if (pLangCode=nil) then Exit(SCE_NP_ERROR_INVALID_ARGUMENT); + pLangCode^.code:='en'; + Result:=0; +end; + const GEOCLASS_NATION = 16; @@ -533,6 +548,8 @@ function Load_libSceNpManager(Const name:RawByteString):TElf_node; lib^.set_proc($BAA70F24B58BD3C3,@ps4_sceNpPollAsync); lib^.set_proc($337C055DB610B400,@ps4_sceNpUnregisterStateCallbackA); lib^.set_proc($F150537917F56702,@ps4_sceNpGetAccountDateOfBirth); + lib^.set_proc($4CF31B808C6FA20D,@ps4_sceNpGetAccountLanguageA); + lib:=Result._add_lib('libSceNpManagerForToolkit'); lib^.set_proc($D1CEC76D744A52DE,@ps4_sceNpRegisterStateCallbackForToolkit);