* Prefer default initializer over std::memset 0 when possible and more readable.
* Use std::format in trophy files name obtaining.
* Use vm::ptr<>::operator bool() instead of comparing vm::ptr to vm::null or using addr().
* Add a few std::memset calls in hle where it matters (or in some places just to document an actual firmware memcpy call).
Returning CELL_OK in sceNpManagerRequestTicket2 makes NPEB01268 loop indefinitely trying to check the downloaded content.
Telling that the system is offline escapes the loop and make the game go further.
Moves NPEB01268/BLES01794 from Intro to Ingame.
Implemented _sys_process_exit2 syscall
Rewritten sys_game_process_exitspawn
Rewritten sys_game_process_exitspawn2
Implemented _sys_process_atexitspawn
Implemented _sys_process_at_Exitspawn
And some other changes
* Fixed sys_get_random_number generating less bytes than needed, and ceiling the buffer size in 0x1000 instead of failing
* Corrected alignment check in libgcm
* Now calling callback of sceNpManagerRegisterCallback
* Fixed trophies
* Fix always-true conditions in sceNp module
* gl_render_targets: useless check on unsigned variable, possible bug
* fixed UB in crypto utility functions
* copy-paste error in vk::init_default_resources
* pass strings by const ref
* Dont copy vectors. Make sure copies are not needed because functions are used in a multi-threaded context.
* Add sceNpScoreGetFriendsRanking and sceNpScoreGetFriendsRankingAsync functions
* Add sceNpSnsFbGetLongAccessToken function
* Add new functions for the sceNpTus module
* Add new functions for the cellSailRec module
* Stub cellCrossControllerInitialize
* Add sceNpAuth* functions for the sceNp2 module
* Remove unnecessary call to c_str()
* Add missing module id "CELL_SYSMODULE_ADEC_AT3MULTI"
* Add Turkish keyboard mapping constant
* Add cellOskDialogExtRegisterKeyboardEventHookCallbackEx function
* Update cellSubDisplay
* Update cotire version to 1.7.10
* Replace cellSubdisplay by cellSubDisplay
* Update cellSysutil.cpp with new functions stubbed
* sceNp: Fix ExitSpawn and ExitSpawn2
Fixes sceNpDrmProcessExitSpawn and sceNpDrmProcessExitSpawn2
functions
The problem was that first argument klicensee was missing, therefore
shifting every other argument out of place and throwing an access
violation at the end.
* Use npDrmIsAvailable on sceNpDrmProcessExitSpawn
Tries to decrypt DRM file with provided klicensee
* Implement sceNpDrmVerifyUpgradeLicense
Implements sceNpDrmVerifyUpgradeLicense / sceNpDrmVerifyUpgradeLicense2