GPD: Difference between revisions

From Xenon Wiki
Jump to navigation Jump to search
imported>Oscar193
imported>Oscar193
Line 180: Line 180:
| Title Name
| Title Name
|}
|}
'''Data types:'''
Context = 0x00
Int32 = 0x01
Int64 = 0x02
Double = 0x03
Unicode = 0x04
Float = 0x05
Binary = 0x06
DateTime = 0x07
Null = 0xFF


== String Entries ==
== String Entries ==

Revision as of 09:54, 22 January 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)

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

Image Entries

Image entries are composed of a PNG image.

Setting Entries

Offset Length Type Information
0x0 0x4 unsigned int Setting ID
0x4 0x4 unsigned int Unused/unknown
0x8 0x1 byte Data type
0x9 0x7 N/A Padding
0x10 Depends on data type N/A Setting data

Title Entries

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

Data types: Context = 0x00 Int32 = 0x01 Int64 = 0x02 Double = 0x03 Unicode = 0x04 Float = 0x05 Binary = 0x06 DateTime = 0x07 Null = 0xFF

String Entries

String entries are simply a unicode string, to the length specified by the entry.

Sync Lists

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