Home Menu: Difference between revisions

No edit summary
Steveice10 (talk | contribs)
Badge info dump.
Line 998: Line 998:
!  Extdata image ID
!  Extdata image ID
!  FW Introduced
!  FW Introduced
!  Plaintext
|-
|-
| BadgeData.dat
| BadgeData.dat
| ?
| [[Home_Menu#BadgeData.dat|See below.]]
| ?
| 0xF4DF80
|  
|  
| [[9.0.0-20]]
| [[9.0.0-20]]
|-
|-
| BadgeMngFile.dat
| BadgeMngFile.dat
| See below.
| [[Home_Menu#BadgeMngFile.dat|See below.]]
| 0xD4A8
| 0xD4A8
|  
|  
| [[9.0.0-20]]
| [[9.0.0-20]]
|}
=== BadgeData.dat ===
{| class="wikitable" border="1"
|-
!  Offset
!  Size
!  Description
|-
| 0x0
| 100 * 16 * 0x8A
| UTF-16 Badge Set Titles (16 per set for different languages)
|-
| 0x35E80
| 1000 * 16 * 0x8A
| UTF-16 Badge Titles (16 per set for different languages)
|-
| 0x250F80
| 100 * 0x2000
| RGB565 64x64 Badge Set Icons
|-
| 0x318F80
| 1000 * 0x2800
| RGB565 64x64 + A4 64x64 Badge Icons
|-
| 0xCDCF80
| 1000 * 0xA00
| RGB565 32x32 + A4 32x32 Badge Icons
|}
|}


Line 1,022: Line 1,049:
| 0x0
| 0x0
| 0x4
| 0x4
| u32, must be zero?
| u32, Must Be Zero
|-
| 0x4
| 0x4
| u32, Number of Badge Sets
|-
| 0x8
| 0x4
| u32, Number of Unique Badges
|-
| 0xC
| 0x4
| u32, Number of Placed Badges
|-
| 0x10
| 0x4
| u32, Unknown
|-
| 0x14
| 0x4
| u32, Unknown
|-
| 0x18
| 0x4
| u32, Number of Total Badges
|-
| 0x1C
| 0x4
| u32, Unknown
|-
| 0x20
| 0x338
| Unknown (always zeros? unused?)
|-
| 0x358
| 0x80
| Used Badge Slots (each bit = 1 slot)
|-
| 0x3D8
| 0x10
| Used Badge Set Slots (each bit = 1 slot)
|-
| 0x3E8
| 1000 * 0x28
| [[Home_Menu#BadgeInfo|BadgeInfo]] Entries
|-
| 0xA028
| 100 * 0x30
| [[Home_Menu#BadgeSetInfo|BadgeSetInfo]] Entries
|-
| 0xB2E8
| 360 * 0x18
| [[Home_Menu#BadgeLayoutSlot|BadgeLayoutSlot]] Entries
|}
 
==== BadgeIdentifier ====
{| class="wikitable" border="1"
|-
!  Offset
!  Size
!  Description
|-
| 0x0
| 0x4
| u32, Unknown
|-
| 0x4
| 0x4
| u32, Badge ID
|-
| 0x8
| 0x4
| u32, Badge Set ID
|-
| 0xC
| 0x2
| u16, Badge Index
|-
| 0xE
| 0x2
| u16, Badge Sub ID (used for multi-part badges)
|}
 
==== BadgeSetIdentifier ====
{| class="wikitable" border="1"
|-
!  Offset
!  Size
!  Description
|-
| 0x0
| 0x4
| u32, Unknown
|-
| 0x4
| 0x4
| u32, Unknown
|-
|-
| 0x8
| 0x8
| 0x4
| 0x4
| u32 total stored badges
| u32, Unknown
|-
|-
| 0xC
| 0xC
| 0x4
| 0x4
| u32 total number of badge icons used in Home Menu
| u32, Unknown
|-
| 0x10
| 0x4
| u32, Badge Set ID
|-
| 0x14
| 0x2
| u32, Badge Set Index
|}
 
==== BadgeInfo ====
{| class="wikitable" border="1"
|-
!  Offset
!  Size
!  Description
|-
| 0x0
| 0x10
| [[Home_Menu#BadgeIdentifier|BadgeIdentifier]]
|-
| 0x10
| 0x2
| u16, Number Placed
|-
| 0x12
| 0x2
| u16, Quantity
|-
| 0x14
| 0x4
| u32, Unknown
|-
|-
| 0x3F4
| 0x18
| ?
| 0x10
| Start of s16 array, each entry here is an index for other arrays stored in memory.
| u64[2], Shortcut Title ID (twice, once per u64)
|}
 
==== BadgeSetInfo ====
{| class="wikitable" border="1"
|-
!  Offset
!  Size
!  Description
|-
| 0x0
| 0x18
| [[Home_Menu#BadgeSetIdentifier|BadgeSetIdentifier]]
|-
| 0x18
| 0x4
| u32, Unknown
|-
| 0x1C
| 0x4
| u32, Number of Unique Badges
|-
| 0x20
| 0x4
| u32, Number of Total Badges
|-
| 0x24
| 0x4
| u32, Start Badge Index
|-
| 0x28
| 0x4
| u32, Unknown
|-
| 0x2C
| 0x4
| u32, Unknown
|}
 
==== BadgeLayoutSlot ====
{| class="wikitable" border="1"
|-
!  Offset
!  Size
!  Description
|-
| 0x0
| 0x10
| [[Home_Menu#BadgeIdentifier|BadgeIdentifier]]
|-
| 0x10
| 0x4
| u32, Position
|-
| 0x14
| 0x4
| u32, Folder (0xF0FF = Icon of a folder, 0xFFFFFFFF = No folder)
|}
|}


The filesize must match 0xD4A8, otherwise the Home Menu code returns an error.
The file size must match 0xD4A8, otherwise the Home Menu code returns an error.


== Home Menu theme layout SD [[Extdata|ExtData]] ==
== Home Menu theme layout SD [[Extdata|ExtData]] ==