Changes

1,883 bytes added ,  03:55, 12 November 2019
no edit summary
Line 1: Line 1:  
This is the MyPage applet launched by Home Menu. Official sw uses this under <code>nn::friends</code>.
 
This is the MyPage applet launched by Home Menu. Official sw uses this under <code>nn::friends</code>.
 
See [[AM_services#Library_Applets]].
 
See [[AM_services#Library_Applets]].
 +
 +
== Library Applet Versions ==
 +
{| class="wikitable" border="1"
 +
|-
 +
! System Version || Value
 +
|-
 +
| [1.0.0+] || 0x1
 +
|-
 +
| [9.0.0+] || 0x10000
 +
|}
    
== Arg ==
 
== Arg ==
Line 20: Line 30:  
|-
 
|-
 
| 0x68 || 0x48 || [[Friend_services|InAppScreenName]]
 
| 0x68 || 0x48 || [[Friend_services|InAppScreenName]]
 +
|-
 +
| 0xB0 || 0xFF8 || See below.
 +
|}
 +
 +
The is the 0xB0-byte (0x10A8-byte with version 0x10000) struct pushed for the input storage.
 +
 +
The fields following the userID are only set for [[#Type]] ShowUserDetailInfo, StartSendingFriendRequest, StartFriendInvitation, StartSendingFriendInvitation, and ShowReceivedInvitationDetail, for everything else these are cleared.
 +
 +
The layout of the data following the userID with the [9.0.0+] types depends on what type is being used:
 +
 +
StartFriendInvitation:
 +
 +
{| class="wikitable" border="1"
 +
|-
 +
!  Offset
 +
!  Size
 +
!  Description
 +
|-
 +
| 0x18 || 0x4 || s32 NetworkServiceAccountId_count. Must be 1-15. Number of friends to invite.
 +
|-
 +
| 0x1C || 0x4 || Padding.
 +
|-
 +
| 0x20 || 0x8 || User-data size, must be <=0x400.
 +
|-
 +
| 0x28 || 0x400 || Arbitrary user-data, see above size.
 +
|-
 +
| 0x428 || 0xC00 || [[Friend_services|FriendInvitationGameModeDescription]]
 +
|}
 +
 +
StartSendingFriendInvitation:
 +
 +
{| class="wikitable" border="1"
 +
|-
 +
!  Offset
 +
!  Size
 +
!  Description
 +
|-
 +
| 0x18 || 0x4 || s32 NetworkServiceAccountId_count. Must be 1-15. Number of friends to invite.
 +
|-
 +
| 0x1C || 0x4 || Padding.
 +
|-
 +
| 0x20 || 0x8*NetworkServiceAccountId_count || [[Account_services|NetworkServiceAccountId]] list.
 +
|-
 +
| 0xA0 || 0x8 || User-data size, must be <=0x400.
 +
|-
 +
| 0xA8 || 0x400 || Arbitrary user-data, see above size.
 +
|-
 +
| 0x4A8 || 0xC00 || [[Friend_services|FriendInvitationGameModeDescription]]
 
|}
 
|}
   −
The is the 0xB0-byte struct pushed for the input storage.
+
ShowReceivedInvitationDetail:
   −
The fields following the userID are only set for [[#Type]] ShowUserDetailInfo/StartSendingFriendRequest, for everything else these are cleared.
+
{| class="wikitable" border="1"
 +
|-
 +
!  Offset
 +
!  Size
 +
!  Description
 +
|-
 +
| 0x18 || 0x8 || [[Friend_services|FriendInvitationId]]
 +
|-
 +
| 0x20 || 0x8 || [[Friend_services|FriendInvitationGroupId]]
 +
|}
    
== Type ==
 
== Type ==
Line 48: Line 115:  
|-
 
|-
 
| ShowMyProfileForHomeMenu || 7 || true || Identical to ShowMyProfile except for PlayStartupSound.
 
| ShowMyProfileForHomeMenu || 7 || true || Identical to ShowMyProfile except for PlayStartupSound.
 +
|-
 +
| [9.0.0+] StartFriendInvitation || 8 || false || Launches the applet for sending online-play invites to friends, where the friends are selected via the UI.
 +
|-
 +
| [9.0.0+] StartSendingFriendInvitation || 9 || false ||
 +
|-
 +
| [9.0.0+] ShowReceivedInvitationDetail || 10 || false ||
 
|}
 
|}
    
== Usage ==
 
== Usage ==
User-processes should push a common arguments struct (version=0x1) as well as an [[#Arg]] struct. See [[#Type]] for the commonargs PlayStartupSound flag value. After starting the applet, official sw immediately closes it (no output storage is handled) - except for StartSendingFriendRequest, which returns an output storage containing the Result.
+
User-processes should push a common arguments struct as well as an [[#Arg]] struct. See [[#Type]] for the commonargs PlayStartupSound flag value. After starting the applet, official sw immediately closes it (no output storage is handled) - except for StartSendingFriendRequest/StartFriendInvitation/StartSendingFriendInvitation which returns an output storage containing the Result.
    
[[Category:Library Applets]]
 
[[Category:Library Applets]]