Tes4Mod:Save File Format/Player Data

Most of the player data in save files is contained in the ACHR change record for formid 0x00000014, and the majority of that data is in subrecords that only exist for the player's ACHR change record.  This page describes the player-specific subrecords in the ACHR change record, as well as providing some other notes of interest to programmers specifically looking for player data.

The Player ACHR Change Record
The player's ACHR change record is always a "High" record.  However, the subrecords detailed here are only present for the player -- they are not present for NPCs that have the "High" actor flag.

Structure of Subrecords
The following table summarizes which subrecords appear where (and when), specifically for the player.  This is the same table as shown for the standard ACHR record, except subrecords that never appear for the player have been removed, and the player-specific subrecords are included.



Notes:
The Cell Changed and Created flags are never set for the player; the Moved flag is always set.  Therefore, the ACHR record always starts with the Moved subrecord
Since the Moved flag is set, flags such as the Oblivion Flag and Havok Moved flag never add extra subrecords.
The first player-specific subrecord appears before'' the actor flag in the ACHR record.  In other words, the player record has to be identified before starting to process any of the change data -- which, luckily, is easy to do since the formid of the ACHR record (0x00000014) is fixed.
The Form Flags subrecord has never been observed for the player ACHR change record, and therefore has been left out of this table.

Temporary Attribute Changes
This subrecord always found in the player's ACHR change record, but is never found in any other ACHR records (even ones with Actor Flag=High).  Its length is a constant 876 bytes.  It contains the modifications to the player's attributes caused by any non-permanent effects.

These values are all modifications -- they must be added to the base attribute values to provide the player's current attributes.  Attributes for the purpose of this table is very broadly defined, covering 71 different values.  The effects covered by the table are everything other than racial effects (which are summarized in the Tes4Mod:Save_File_Format/NPC_#Base Modifiers|NPC Base Modifiers subrecord): enchantments, physical damage, potions, poisons, spells, 

(The name of this subrecord is not provided in the text dump, so a name has been invented instead.)



Player Statistics
This section is always found at the end of the player's ACHR change record.  It contains various statistics relevant specifically to the player's character, which therefore affects overall game play.

The original documentation never explained where in the ACHR record the Player Statistics subrecord appears.  One way to find this section is to scan, starting from the end of the Properties section, for the bytes 0xec,0x42 (marking the start of the unknown 21-byte section listed below), and then 19 bytes later 0x96,0x42 (marking the start of the unknown 30-byte section listed below). This allows the Player Statistics to be read without requiring the rest of the ACHR subrecords to be understood.