Changes

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.