Shared Database services: Difference between revisions
No edit summary |
No edit summary |
||
Line 332: | Line 332: | ||
| 16 || [10.0.0+] [[#QueryApplicationPlayStatisticsByUserAccountIdForSystemV0]] ([6.0.0-9.2.0] QueryApplicationPlayStatisticsByUserAccountIdForSystem) | | 16 || [10.0.0+] [[#QueryApplicationPlayStatisticsByUserAccountIdForSystemV0]] ([6.0.0-9.2.0] QueryApplicationPlayStatisticsByUserAccountIdForSystem) | ||
|- | |- | ||
| 17 || [10.0.0+] QueryLastPlayTime | | 17 || [10.0.0+] [[#QueryLastPlayTime]] | ||
|- | |- | ||
| 18 || [10.0.0+] QueryApplicationPlayStatisticsForSystem | | 18 || [10.0.0+] [[#QueryApplicationPlayStatisticsForSystem]] | ||
|- | |- | ||
| 19 || [10.0.0+] QueryApplicationPlayStatisticsByUserAccountIdForSystem | | 19 || [10.0.0+] QueryApplicationPlayStatisticsByUserAccountIdForSystem | ||
Line 374: | Line 374: | ||
== QueryLastPlayTimeV0 == | == QueryLastPlayTimeV0 == | ||
Takes a type-0x6 output buffer containing an array of [[#LastPlayTime]], and a type-0x5 input buffer containing an array of u64 '''ApplicationId'''. Returns an output s32 for actual total output entries. | Takes a type-0x6 output buffer containing an array of [[#LastPlayTime]], and a type-0x5 input buffer containing an array of u64 '''ApplicationId'''. Returns an output s32 for actual total output entries. | ||
[10.0.0+] This now calls the impl func for [[#QueryLastPlayTime]] with flag=0. | |||
== QueryPlayEvent == | == QueryPlayEvent == | ||
Line 394: | Line 396: | ||
The number of entries in each array is the same. | The number of entries in each array is the same. | ||
[10.0.0+] This now calls the impl func for [[#QueryApplicationPlayStatisticsForSystem]] with flag=0. | |||
== QueryRecentlyPlayedApplication == | == QueryRecentlyPlayedApplication == | ||
Line 411: | Line 415: | ||
Same as [[#QueryApplicationPlayStatisticsForSystem]] except this gets playstats specific to '''Uid'''. | Same as [[#QueryApplicationPlayStatisticsForSystem]] except this gets playstats specific to '''Uid'''. | ||
== QueryLastPlayTime == | |||
Takes an input u8 bool, a type-0x6 output buffer containing an array of [[#LastPlayTime]], and a type-0x5 input buffer containing an array of u64 '''ApplicationId'''. Returns an output s32 for actual total output entries. | |||
== QueryApplicationPlayStatisticsForSystem == | |||
Takes an input u8 bool, a type-0x6 output buffer containing an array of [[#ApplicationPlayStatistics]] and a type-0x5 input buffer containing an array of u64 '''ApplicationId'''. Returns an output s32 for actual total output entries. | |||
The number of entries in each array is the same. | |||
= avm = | = avm = | ||
Line 619: | Line 631: | ||
Filtering: | Filtering: | ||
* [[#QueryAppletEvent]], [[#QueryLastPlayTime]], and [[#QueryApplicationPlayStatisticsForSystem]]: PlayEvent +0x1C must be 0 | * [[#QueryAppletEvent]], [[#QueryLastPlayTime]], and [[#QueryApplicationPlayStatisticsForSystem]]: PlayEvent +0x1C must be 0, and [[#PlayLogPolicy]] must be 0. [10.0.0+] These will also allow [[#PlayLogPolicy]] value 3, if the input flag is set. | ||
** With [[#QueryLastPlayTime]]/[[#QueryApplicationPlayStatisticsForSystem]] the [[Applet_Manager_services#AppletId|AppletId]] must be 1. [10.0.0+] These now also allow [[Applet_Manager_services#AppletId|AppletId]] 0x1F/0x20. | |||
* [[#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. | * [[#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. |