Shared Database services: Difference between revisions

No edit summary
No edit summary
Line 360: Line 360:


== QueryPlayStatisticsByApplicationId ==
== QueryPlayStatisticsByApplicationId ==
Takes an input u64 '''ApplicationId''' and returns an output [[#PlayStatistics]].
Takes ([10.0.0+] an input u8 bool), an input u64 '''ApplicationId''' and returns an output [[#PlayStatistics]].


[10.0.0+] This now takes an additional 8-bytes of input.
See [[#PlayEvent]] for the [10.0.0+] bool flag.


== QueryPlayStatisticsByApplicationIdAndUserAccountId ==
== QueryPlayStatisticsByApplicationIdAndUserAccountId ==
Takes an input u64 '''ApplicationId''', an input u128 '''Uid''' and returns an output [[#PlayStatistics]].
Takes ([10.0.0+] an input u8 bool), an input u64 '''ApplicationId''', an input u128 '''Uid''' and returns an output [[#PlayStatistics]].
 
[10.0.0+] This now takes an additional 8-bytes of input.


== QueryPlayStatisticsByApplicationIdAndNetworkServiceAccountId ==
== QueryPlayStatisticsByApplicationIdAndNetworkServiceAccountId ==
Line 622: Line 620:
Filtering:
Filtering:
* [[#QueryAppletEvent]], [[#QueryLastPlayTime]], and [[#QueryApplicationPlayStatisticsForSystem]]: PlayEvent +0x1C must be 0, +0xC must be 1, and [[#PlayLogPolicy]] must be 0. [10.0.0+] [[#QueryAppletEvent]] will also allow [[#PlayLogPolicy]] value 3, if the input flag is set.
* [[#QueryAppletEvent]], [[#QueryLastPlayTime]], and [[#QueryApplicationPlayStatisticsForSystem]]: PlayEvent +0x1C must be 0, +0xC must be 1, and [[#PlayLogPolicy]] must be 0. [10.0.0+] [[#QueryAppletEvent]] will also allow [[#PlayLogPolicy]] value 3, if the input flag is set.
* [[#QueryPlayStatisticsByApplicationId]]: PlayEvent +0x1C must be 0, +0xC must be 1, and the titleID must match.
* [[#QueryPlayStatisticsByApplicationId]]: PlayEvent +0x1C must be 0, +0xC must be 1 ([10.0.0+] or 0x1F/0x20), and the titleID must match. [10.0.0+] [[#PlayLogPolicy]] must be 0. Value 3 is allowed if the input flag is set.
* [[#QueryAccountEvent]]: PlayEvent +0x1C must be 1 and PlayEvent +0x18 must be <=1.
* [[#QueryAccountEvent]]: PlayEvent +0x1C must be 1 and PlayEvent +0x18 must be <=1.
* [[#QueryApplicationPlayStatisticsForSystem]]: In addition to the above, this also handles [[#PlayEventType]] PowerStateChange, where PlayEvent +0x0 is value 0 or 1.
* [[#QueryApplicationPlayStatisticsForSystem]]: In addition to the above, this also handles [[#PlayEventType]] PowerStateChange, where PlayEvent +0x0 is value 0 or 1.