GPD: Difference between revisions
imported>Stoker25 mNo edit summary |
imported>Godzcheater (Avatar Award + fixed some setting info) |
||
Line 107: | Line 107: | ||
|- | |- | ||
| 4 | | 4 | ||
| | | 20 | ||
| Unknown | | Unknown | ||
| Unknown | | Unknown | ||
|- | |- | ||
| | | 24 | ||
| Till end of entry. | | Till end of entry. | ||
| Dependent on setting | | Dependent on setting | ||
| Actual setting data | | Actual setting data. | ||
|} | |} | ||
Line 174: | Line 174: | ||
| unicode string | | unicode string | ||
| Title Name | | Title Name | ||
|} | |||
== Avatar Award Entries == | |||
The entries are only supported within the [[PEC]] version of the GPD. | |||
{| border=1 | |||
|- | |||
! Offset | |||
! Length | |||
! Type | |||
! Information | |||
|- | |||
| 0 | |||
| 4 | |||
| u/Int32 | |||
| Magic? (44) | |||
|- | |||
| 4 | |||
| 4 | |||
| u/Int32 | |||
| Award ID | |||
|- | |||
| 8 | |||
| 8 | |||
| u/Int64? | |||
| Unknown | |||
|- | |||
| 16 | |||
| 4 | |||
| u/Int32 | |||
| GameID | |||
|- | |||
| 20 | |||
| 4 | |||
| u/Int32 | |||
| Unknown | |||
|- | |||
| 24 | |||
| 4 | |||
| u/Int32 | |||
| Unknown | |||
|- | |||
| 28 | |||
| 8 | |||
| Int64 | |||
| Unlock Time | |||
|- | |||
| 36 | |||
| 4 | |||
| u/Int32 | |||
| Unknown | |||
|- | |||
| 40 | |||
| 4 | |||
| u/Int32 | |||
| Flags? Gender? | |||
|- | |||
| 44 | |||
| Till Null | |||
| UniCode | |||
| Name | |||
|- | |||
| 44 + '''Name''' length | |||
| Till Null | |||
| UniCode | |||
| Locked Description | |||
|- | |||
| 44 + '''Name''' length + '''Locked Description''' length | |||
| Till Null | |||
| UniCode | |||
| Unlocked Description | |||
|} | |} | ||
Revision as of 14:31, 17 August 2011
GPD (Gamer Profile Data) files are used by the Xbox 360 to store information inside a profile. They are based on the XDBF format. Profiles are composed of many of these files, each named under their respective executable's title id (e.g. 4D5307E6.gpd for Halo 3). The dashboard GPD (FFFE07D1.gpd) contains information and sync information about the titles.
Entry Table
An ID of 0x100000000 indicates that the entry is a Sync List, an ID of 0x200000000 means its a Sync Data entry.
The Settings, Achievement and Title namespaces each have their own Sync List and Sync Data entries.
An ID of 0x8000 usually indicates that entry is information to do with the title (image/name).
Entry Namespaces
Value | Description |
---|---|
1 | Achievement |
2 | Image |
3 | Setting |
4 | Title |
5 | String |
6 | Achievement Security (created by GFWL for offline unlocked achievements?) |
6 | Avatar Award (360 only, this is only stored with in the PEC version of the GPD) |
Entry Structures
Achievement Entries
Offset | Length | Type | Information |
---|---|---|---|
0x0 | 0x4 | unsigned int | Magic (0x1C) |
0x4 | 0x4 | unsigned int | Achievement ID |
0x8 | 0x4 | unsigned int | Image ID |
0xC | 0x4 | signed int | Gamerscore |
0x10 | 0x4 | unsigned int | Flags (see below) |
0x14 | 0x8 | signed long | Unlock Time |
0x18 | null terminated | unicode string | Name |
0x18 + Name length | null terminated | unicode string | Locked Description |
0x18 + Name length + Locked Description length | null terminated | unicode string | Unlocked Description |
Setting Entries
Offset | Length | Type | Information |
---|---|---|---|
0 | 4 | Int32 | SettingID |
4 | 20 | Unknown | Unknown |
24 | Till end of entry. | Dependent on setting | Actual setting data. |
Image Entries
Image entries are composed of a PNG image.
Title Entries
These entries are located in the FFFE07D1.gpd. To get to them, the id for the XDBF entry is the title ID of the game, and the XDBF entry type is String. For more information about XDBF go to http://www.free60.org/XDBF
Offset | Length | Type | Information |
---|---|---|---|
0x0 | 0x4 | unsigned int | Title ID |
0x4 | 0x4 | signed int | Achievement Count |
0x8 | 0x4 | signed int | Achievement Unlocked Count |
0xC | 0x4 | signed int | Gamerscore Total |
0x10 | 0x4 | signed int | Gamerscore Unlocked |
0x14 | 0x8 | signed long | Unknown |
0x1C | 0x4 | signed int | Unknown |
0x20 | 0x8 | signed long | Last Played Time |
0x28 | null terminated | unicode string | Title Name |
Avatar Award Entries
The entries are only supported within the PEC version of the GPD.
Offset | Length | Type | Information |
---|---|---|---|
0 | 4 | u/Int32 | Magic? (44) |
4 | 4 | u/Int32 | Award ID |
8 | 8 | u/Int64? | Unknown |
16 | 4 | u/Int32 | GameID |
20 | 4 | u/Int32 | Unknown |
24 | 4 | u/Int32 | Unknown |
28 | 8 | Int64 | Unlock Time |
36 | 4 | u/Int32 | Unknown |
40 | 4 | u/Int32 | Flags? Gender? |
44 | Till Null | UniCode | Name |
44 + Name length | Till Null | UniCode | Locked Description |
44 + Name length + Locked Description length | Till Null | UniCode | Unlocked Description |
String Entries
String entries are simply a unicode string, to the length specified by the entry.
Sync Lists
This is a list of "Sync Items".
You can find the total sync items by,
((SyncList.Length / 16) - 1)
Sync Item
Offset | Length | Type | Information |
---|---|---|---|
0x0 | 0x8 | Long(Int64) | EntryID |
0x8 | 0x8 | Long(Int64) | ID(Sync?) |
I don't know much about the second id, however I believe it to have something to do with the SyncData's "Next Sync ID". I wouldn't recommend playing with it on a live profile as it is the only thing left in the gpd that is unknown and ms ban people some way.
Sync Data
Offset | Length | Type | Information |
---|---|---|---|
0x0 | 0x8 | unsigned long | Next Sync ID |
0x8 | 0x8 | unsigned long | Last Synced ID |
0x10 | 0x8 | signed long | Last Synced Time |