FRD Savegame: Difference between revisions

From 3dbrew
Jump to navigation Jump to search
Slattz (talk | contribs)
Fix NEX Password length in account structure
DaniElectra (talk | contribs)
Expand information on FRD sysdata
Line 1: Line 1:
This page describes the contents of the [[Friend_Services|friend]] sysmodule savegame.
This page describes the contents of the [[Friend_Services|friend]] sysmodule savegame. Except for the config file, all of the data is stored inside a folder that represents the local account ID of the account. For example: /1/account stores the data of the main account.


== config ==
{| class="wikitable"
|-
! Offset
! Size
! Description
|-
| 0x00
| 4
| File magic "FPCF" (Friends Preference Config)
|-
| 0x04
| 4
| File magic number (0x20101021)
|-
| 0x08
| 8
| Padding
|-
| 0x10
| 4
| Current Local Account ID
|}


== account ==
== account ==
Line 24: Line 48:
| 0x10
| 0x10
| 4
| 4
| Unknown
| Local Account ID
|-
|-
| 0x14
| 0x14
Line 44: Line 68:
| 0x54
| 0x54
| 1
| 1
| Unknown
| NASC Environment (0: Prod, 1: Test, 2: Dev)
|-
|-
| 0x55
| 0x55
| 1
| 1
| Unknown
| server_type_1
|-
|-
| 0x56
| 0x56
| 1
| 1
| Unknown
| server_type_2
|-
|-
| 0x57
| 0x57
Line 80: Line 104:
|-
|-
| 0x10
| 0x10
| 4
| My NC Principal ID
|-
| 0x14
| 4
| Unknown
|-
| 0x18
| 4
| [https://github.com/kinnay/NintendoClients/wiki/Friends-Protocol-(3DS)#nintendopresence-structure Changed bit flags]
|-
| 0x1C
| 1
| Is public mode
|-
| 0x1D
| 1
| Is show game mode
|-
| 0x1E
| 1
| Is show played game
|-
| 0x1F
| 1
| Padding
|-
| 0x20
| 0x20
| Unknown
| 0x10
| GameKey of my favorite game:
  u64 title_id
  u32 title_version
  u32 unknown
|-
|-
| 0x30
| 0x30
Line 111: Line 166:
| 0x68
| 0x68
| (12 + 1) * 2
| (12 + 1) * 2
| UTF16 string of unknown hexadecimal identifier
| UTF16 string of MAC address of the console (only the digits)
|-
|-
| 0x82
| 0x82
Line 166: Line 221:
|-
|-
| 0x00
| 0x00
| 0x15
| 0x10
| FriendKey:
  u32 principal_id
  u32 padding
  u64 friend_code
|-
| 0x10
| 0x4
| Unknown
| Unknown
|-
| 0x14
| 1
| Friend relationship
|-
|-
| 0x15
| 0x15
Line 179: Line 245:
   u8 padding[3]
   u8 padding[3]
|-
|-
| 0x1C
| 0x1D
| 0x14
| 3
| Unknown
| Padding
|-
 
| 0x20
| 0x10
| GameKey of friend favorite game:
  u64 title_id
  u32 title_version
  u32 unknown
|-
|-
| 0x30
| 0x30
Line 188: Line 262:
|-
|-
| 0x50
| 0x50
| 0x20
| 0x8
| Unknown
| Unknown
|-
| 0x58
| 8
| Message update [https://github.com/kinnay/NintendoClients/wiki/NEX-Common-Types#datetime timestamp]
|-
| 0x60
| 8
| Mii update [https://github.com/kinnay/NintendoClients/wiki/NEX-Common-Types#datetime timestamp]
|-
| 0x68
| 8
| Last online [https://github.com/kinnay/NintendoClients/wiki/NEX-Common-Types#datetime timestamp]
|-
|-
| 0x70
| 0x70
Line 200: Line 286:
|-
|-
| 0xE8
| 0xE8
| 0x18
| 8
| Unknown
| Friendship? [https://github.com/kinnay/NintendoClients/wiki/NEX-Common-Types#datetime timestamp]
|-
| 0xF0
| 8
| Same as 0x58?
|-
| 0xF8
| 8
| Same as 0x60?
|}
|}

Revision as of 21:32, 23 September 2023

This page describes the contents of the friend sysmodule savegame. Except for the config file, all of the data is stored inside a folder that represents the local account ID of the account. For example: /1/account stores the data of the main account.

config

Offset Size Description
0x00 4 File magic "FPCF" (Friends Preference Config)
0x04 4 File magic number (0x20101021)
0x08 8 Padding
0x10 4 Current Local Account ID

account

Offset Size Description
0x00 4 File magic "FPAC" (Friends Preference Account Config)
0x04 4 File magic number (0x20101021)
0x08 8 Padding
0x10 4 Local Account ID
0x14 4 PrincipalID
0x18 8 LocalFriendCode
0x20 (16 + 1) * 2 NEX Password
0x42 (8 + 1) * 2 PrincipalID HMAC (Used for logging into NASC server)
0x54 1 NASC Environment (0: Prod, 1: Test, 2: Dev)
0x55 1 server_type_1
0x56 1 server_type_2
0x57 1 Padding

mydata

Offset Size Description
0x00 4 File magic "FPMD" (Friends Preference My Data/Device)
0x04 4 File magic number (0x20101021)
0x08 8 Padding
0x10 4 My NC Principal ID
0x14 4 Unknown
0x18 4 Changed bit flags
0x1C 1 Is public mode
0x1D 1 Is show game mode
0x1E 1 Is show played game
0x1F 1 Padding
0x20 0x10 GameKey of my favorite game:
 u64 title_id
 u32 title_version
 u32 unknown
0x30 16 * 2 UTF16 string of personal message
0x50 8 Unknown
0x58 8
 u8 region
 u8 country
 u8 area
 u8 language
 u8 platform = 2
 u8 padding[3]
0x5C 4 Unknown padding
0x60 8 LocalFriendCodeSeed u64
0x68 (12 + 1) * 2 UTF16 string of MAC address of the console (only the digits)
0x82 (15 + 1) * 2 UTF16 string of console serial number without the checksum digit
0xA2 (10 + 1) * 2 UTF16 string of Display name
0xBB 0x60 Unaligned Mii data
0x11B 5 Padding (0x120)

friendlist

Header

Offset Size Description
0x00 4 File magic "FPFL" (Friends Preference Friend List)
0x04 4 File magic number (0x20101021)
0x08 8 Padding
0x10 ? * 0x100 Friend entries...

Friend entry

Offset Size Description
0x00 0x10 FriendKey:
 u32 principal_id
 u32 padding
 u64 friend_code
0x10 0x4 Unknown
0x14 1 Friend relationship
0x15 8
 u8 region
 u8 country
 u8 area
 u8 language
 u8 platform = 2
 u8 padding[3]
0x1D 3 Padding
0x20 0x10 GameKey of friend favorite game:
 u64 title_id
 u32 title_version
 u32 unknown
0x30 16 * 2 UTF16 string of personal message
0x50 0x8 Unknown
0x58 8 Message update timestamp
0x60 8 Mii update timestamp
0x68 8 Last online timestamp
0x70 0x60 Mii data
0xD0 (10 + 1) * 2 UTF16 string of display name
0xE8 8 Friendship? timestamp
0xF0 8 Same as 0x58?
0xF8 8 Same as 0x60?