Applet Manager services: Difference between revisions

No edit summary
Line 556: Line 556:
| 13 || [4.0.0+] [[#CreateApplicationAndRequestToStartForQuest]] ||  
| 13 || [4.0.0+] [[#CreateApplicationAndRequestToStartForQuest]] ||  
|-
|-
| 14 || [7.0.0+] CreateApplicationWithAttributeAndPushAndRequestToStartForQuest || Takes a total of 8-bytes and a type-0x15 input buffer, return an output [[#IStorage]].
| 14 || [7.0.0+] [[#CreateApplicationWithAttributeAndPushAndRequestToStartForQuest]] ||
|-
|-
| 15 || [7.0.0+] CreateApplicationWithAttributeAndRequestToStartForQuest || Takes a total of 8-bytes and a type-0x15 input buffer, no output.
| 15 || [7.0.0+] [[#CreateApplicationWithAttributeAndRequestToStartForQuest]] ||  
|-
|-
| 20 || EnsureSaveData ||
| 20 || EnsureSaveData ||
Line 651: Line 651:


==== CreateApplicationAndPushAndRequestToStartForQuest ====
==== CreateApplicationAndPushAndRequestToStartForQuest ====
Takes 2 input u32s (loaded from struct ApplicationAttributeForQuest), an input u64 titleID, and an input [[#IStorage]], no output.
Takes 2 input u32s (loaded from struct [[#ApplicationAttributeForQuest]]), an input u64 titleID, and an input [[#IStorage]], no output.


==== CreateApplicationAndRequestToStart ====
==== CreateApplicationAndRequestToStart ====
Line 659: Line 659:


==== CreateApplicationAndRequestToStartForQuest ====
==== CreateApplicationAndRequestToStartForQuest ====
Takes 2 input u32s (loaded from struct ApplicationAttributeForQuest) and an input u64 titleID, no output.
Takes 2 input u32s (loaded from struct [[#ApplicationAttributeForQuest]]) and an input u64 titleID, no output.


Same as [[#CreateApplicationAndPushAndRequestToStartForQuest]] except without the input storage, official sw uses this when no input storage is specified.
Same as [[#CreateApplicationAndPushAndRequestToStartForQuest]] except without the input storage, official sw uses this when no input storage is specified.
==== CreateApplicationWithAttributeAndPushAndRequestToStartForQuest ====
Takes an input u64 titleID, a type-0x15 input buffer [[#ApplicationAttribute]], an input [[#IStorage]], no output.
Same as [[#CreateApplicationAndPushAndRequestToStartForQuest]] except the entire attributes structure is directly specified via the input buffer. This command replaces [[#CreateApplicationAndPushAndRequestToStartForQuest]], official user-processes no longer use [[#CreateApplicationAndPushAndRequestToStartForQuest]].
==== CreateApplicationWithAttributeAndRequestToStartForQuest ====
Takes an input u64 titleID and a type-0x15 input buffer containing a [[#ApplicationAttribute]], no output.
Same as [[#CreateApplicationAndRequestToStartForQuest]] except the entire attributes structure is directly specified via the input buffer. This command replaces [[#CreateApplicationAndRequestToStartForQuest]], official user-processes no longer use [[#CreateApplicationAndPushAndRequestToStartForQuest]].


==== GetDesiredLanguage ====
==== GetDesiredLanguage ====
Line 1,914: Line 1,924:
= AppletKind =
= AppletKind =
This is 8-bytes.
This is 8-bytes.
= ApplicationAttributeForQuest =
{| class="wikitable" border="1"
|-
! Offset || Size || Description
|-
| 0x0 || 0x4 || See [[#ApplicationAttribute]].
|-
| 0x4 || 0x4 || See [[#ApplicationAttribute]].
|-
| 0x8 || 0x4 || See [[#ApplicationAttribute]].
|}
This struct is "nn::applet::ApplicationAttributeForQuest".
User-processes copy the first 0x8-bytes (0xC-bytes with [[#CreateApplicationWithAttributeAndPushAndRequestToStartForQuest]]/[[#CreateApplicationWithAttributeAndRequestToStartForQuest]]) to a [[#ApplicationAttribute]] with the rest of the struct being cleared, which is then passed to the actual cmd.
= ApplicationAttribute =
{| class="wikitable" border="1"
|-
! Offset || Size || Description
|-
| 0x0 || 0x4 || ?
|-
| 0x4 || 0x4 || ?
|-
| 0x8 || 0x4 || float. Must be in the range of 0.0f-1.0f. The default is 1.0f.
|-
| 0xC || 0x14 || ?
|}
This struct is "nn::am::ApplicationAttribute".


= Notes =
= Notes =