mirror of
https://github.com/boykopovar/AnyPS5.git
synced 2026-10-22 00:22:57 -05:00
Events and property objects keep their typed properties instead of dropping them. PostEvent records an _UnlockTrophy event with an int32 _trophy_id for the user and service label of its context, logs why a trophy event is ignored, and prints every posted event with APS5_TRACE_UDS.
1.8 KiB
1.8 KiB
libSceNpUniversalDataSystem technical debt
Unknown function info
- Events:
sceNpUniversalDataSystemCreateEventcopiespropand returns the event's own property object throughprop_ptr, as KytyPS5 does;sceNpUniversalDataSystemEventPropertyObjectSetObject,SetArrayand the array setters for objects and arrays store a copy ofvalueand return the stored copy throughvalue_ptr. Destroying a property object or array that its Create function did not return (an event's property object or a stored copy) does nothing, as its owner frees it. These ownership rules are not verified on a console, nor are the output ofsceNpUniversalDataSystemEventToString(still{}) andsceNpUniversalDataSystemEventEstimateSize(still 3).
Functional
- Trophy events:
sceNpUniversalDataSystemPostEventstores an_UnlockTrophyevent with an int32_trophy_idof 0 or more as an unlock for the user and service label of its context, as KytyPS5 does. Unlocks that a title drives through statistics (statsExtractionRuleArrayinsce_sys/uds/udsNN.ucpandunlockConditioninsce_sys/trophy2/trophyNN.ucp) are not evaluated, and_UpdateTrophyProgress, named only by a third-party unlocker, is logged once per trophy and not interpreted. A context need not be registered, and every post of an event thatsceNpUniversalDataSystemCreateEventreturned and that is not yet destroyed returns success (a null or any other event pointer stops the game): KytyPS5's errors for an unknown or unregistered context and for a malformed unlock are not verified. The storage statistics stay zero.