Difference between revisions of "FRDU:GetFriendScreenName"

From 3dbrew
Jump to navigation Jump to search
(Created page with "=Request= {{IPC/Request}} {{IPC/RequestHeader|0x0013|5|2}} {{IPC/RequestEntry|Output screen names buffer size (maximum 0x800)}} {{IPC/RequestEntry|Output [[Mii#Mii_format|Mii]...")
 
 
(2 intermediate revisions by the same user not shown)
Line 2: Line 2:
 
{{IPC/Request}}
 
{{IPC/Request}}
 
{{IPC/RequestHeader|0x0013|5|2}}
 
{{IPC/RequestHeader|0x0013|5|2}}
{{IPC/RequestEntry|Output screen names buffer size (maximum 0x800)}}
+
{{IPC/RequestEntry|<b>Number of UTF16 characters</b> the output screen names buffer can fit (maximum 0x800, corresponding to a total max buffer size of 0x1000) (Count * 11)}}
{{IPC/RequestEntry|Output [[Mii#Mii_format|Mii]] character sets buffer size (maximum 0x800)}}
+
{{IPC/RequestEntry|Output [[Mii#Mii_format|Mii]] character sets buffer size <b>(u8)</b> (total max buffer size 0x800)}}
 
{{IPC/RequestEntry|Count}}
 
{{IPC/RequestEntry|Count}}
 
{{IPC/RequestEntry|bool, Mask non-ASCII characters (see description)}}
 
{{IPC/RequestEntry|bool, Mask non-ASCII characters (see description)}}
Line 11: Line 11:
  
 
=Request Static Buffers=
 
=Request Static Buffers=
{{IPC/Request}}
+
{{IPC/RequestStaticBuffers}}
 
{{#vardefine:ipc_offset|0}}
 
{{#vardefine:ipc_offset|0}}
{{IPC/TranslateStaticBuffer|Pointer to output screen names (Count * 22)|0}}
+
{{IPC/TranslateStaticBuffer|Pointer to output UTF-16 screen names (10 characters + null termination <b>each</b>)|0}}
{{IPC/TranslateStaticBuffer|Pointer to output [[Mii#Mii_format|Mii]] character sets (Count * 1)|1}}
+
{{IPC/TranslateStaticBuffer|Pointer to output [[Mii#Mii_format|Mii]] character sets|1}}
 
{{IPC/RequestEnd}}
 
{{IPC/RequestEnd}}
  
Line 22: Line 22:
 
{{IPC/RequestHeader|0x0013|1|4}}
 
{{IPC/RequestHeader|0x0013|1|4}}
 
{{IPC/RequestEntry|Result code}}
 
{{IPC/RequestEntry|Result code}}
{{IPC/TranslateStaticBuffer|Pointer to output screen names|0}}
+
{{IPC/TranslateStaticBuffer|Pointer to output UTF-16 screen names|0}}
 
{{IPC/TranslateStaticBuffer|Pointer to output [[Mii#Mii_format|Mii]] character sets|1}}
 
{{IPC/TranslateStaticBuffer|Pointer to output [[Mii#Mii_format|Mii]] character sets|1}}
 
{{IPC/RequestEnd}}
 
{{IPC/RequestEnd}}

Latest revision as of 21:25, 15 December 2024

Request[edit]

Index Word Description
0
Header 0x00130142 Cmd 0x0013 Param 5 Xlat 2
1 Number of UTF16 characters the output screen names buffer can fit (maximum 0x800, corresponding to a total max buffer size of 0x1000) (Count * 11)
2 Output Mii character sets buffer size (u8) (total max buffer size 0x800)
3 Count
4 bool, Mask non-ASCII characters (see description)
5 bool, ProfanityFlag
6 Descriptor for static buffer (id 0)
7 Pointer to input FriendKey structures

Request Static Buffers[edit]

The handler for this IPC command expects the following 0x100-bytes after the beginning of the above command buffer:

Index Word Description


0 Descriptor for static buffer (id 0)
1 Pointer to output UTF-16 screen names (10 characters + null termination each)
2 Descriptor for static buffer (id 1)
3 Pointer to output Mii character sets

Response[edit]

Index Word Description
0
Header 0x00130044 Cmd 0x0013 Param 1 Xlat 4
1 Result code
2 Descriptor for static buffer (id 0)
3 Pointer to output UTF-16 screen names
4 Descriptor for static buffer (id 1)
5 Pointer to output Mii character sets

Description[edit]

Queries the Mii screen name for the provided friend keys.

Although optional, this command can also return the character set for the screen name of the Miis.

When ProfanityFlag is set, the entire screen name is set to question marks: ??????????.

When the system character set doesn't match that of the Mii and Mask non-ASCII characters is set to true, the friends module will replace every non-ASCII character with a question mark.

If an input friend key is not found in the friends list, an internal default placeholder friend entry is used to populate the data.