githubEdit

Character Creator Preset

The character creator saves it's presets in binairy files called FFXIV_CHARA_XX.dat where XX is the preset slot number. These files are located in the <..>\Documents\My Games\FINAL FANTASY XIV - A Realm Reborn\ folder.

Note: The investigation into this format has been made in a very cursory manner. There is no garantie of accuracy.

Binary format details

[Last updated: FFXIV 7.0 Benchmark]

The file is read in little endian format.

The file contains 4 sections:

  • A 16 bytes header

  • A 32 bytes data block

  • A 40 bytes/characters comment section

  • A 124 bytes of 0x00 at the end of the file

Here is a sample file, displayed in hexadecimal, from the 7.0 Benchmark Character Creator: alt text The colors represent the data sections related to this other view: alt text The mechanisms to understand this view are detailed in the next sections.

File header

The 16 bytes of file header are split into 4 sections:

  • A 32 bits file header @0x00, in orange. Always 0x2013FF14.

  • A 32 bits version ID @0x04. Only the LSB seems to be used. Here in green, 7(0x00000007).

  • A 32 bits assumed checksum value @0x08. Here in red, 0x77225B1E.

  • A 32 bits padding of 0x00000000 @0x0C, in purple.

Data

The actual preset data follows. Using ImHexarrow-up-right's pattern syntaxarrow-up-right, here is the actual character data, in order. The full pattern parser file for imHex is available herearrow-up-right and can be opened in any text editor or ImHex.

Knowing the following data sizes (See full pattern file for the full enum values):

Notes:

  • FaceFeature is a bitfield where each bit is considered a boolean for a specific feature. For exemple bits 6 (0x40) and 5 (0x20) represent left and right tattoos for Hyur and will be 1 when the tattos is visible.

  • EyeShape, LightDarkColor and FacePaint use the 7th bit (MSB, 0x08) of the u8 as a boolean to for exemple, switch between "light" or "dark" color, or "reversed" facepaint.

These are all of the data saved in the file:

Sections containing match (...){} are single bytes that take on different meanings depending on, usually, the character's Race.

Comment

From 0x3000 to 0x5008 included are the 40 characters (bytes) available as a comment when saving the preset.

Empty space

The rest of the file is empty space. No usage has been found yet for it.

Last updated

Was this helpful?