Tes4Mod:Save File Format/ACHR

The UESPWiki – Your source for The Elder Scrolls since 1995

Jump to: navigation, search

Contents

[edit] Overview

Known record storing orders:

  1. Form Flags
  2. Moved
  3. Inventory
  4. Equipment
  5. Low


  1. Script
  2. Low

Warning: Everything else, except Moved record, is speculative at best. Other records are collected by using save game text dumps and automated parser from 15 save games that contained 23064 change records for this record type. Data is not verified from actual binary files.

Change records internal formats are still unknown. At best you can see here:

  1. Is change record's length constant or variable.
  2. Flags that are indicating change record's existence in the record.
    • It is assumed that "None", "Low", "High" and "Mid Low" change records doesn't have flags. Existence of these change records is depending to other - currently unknown - information.
    • If there is more than one flag, then it is possible that there multiple flags indicating change record - or there wasn't enough data to find single flag.
    • It is also possible that multiple change records are sharing same flags or change records are actually same record - they just have different name in dump file.
  3. Change record's minimal and maximal lengths.
  4. Possible substructures lengths inside change record. This length is largest common divider from all change records minimal and maximal lengths.

[edit] Mid Low (None)

This change record's length is between 112 and 158 bytes. Largest common divider in variable part is 1 byte(s). One possibility is that there is 112 byte(s) header and 1 byte(s) substructures in array which maximal size is 46 items.

This change record is used in ACHR, ACRE record types. There was 85 change records in save files.

This information is NOT verified from actual save files.

Name Type/Size Info
unknown ubyte[112] Minimal length of observed change records.
unknownArray struct[0-46] Possible substructure array
item
ubyte[1] Possible substructure item


[edit] None (None)

This change record's length is between 49 and 75 bytes. Largest common divider in variable part is 1 byte(s). One possibility is that there is 49 byte(s) header and 1 byte(s) substructures in array which maximal size is 26 items.

This change record is used in ACHR, ACRE record types. There was 584 change records in save files.

This information is NOT verified from actual save files.

Name Type/Size Info
unknown ubyte[49] Minimal length of observed change records.
unknownArray struct[0-26] Possible substructure array
item
ubyte[1] Possible substructure item


[edit] High (None)

This change record's length is between 397 and 864 bytes. Largest common divider in variable part is 1 byte(s). One possibility is that there is 397 byte(s) header and 1 byte(s) substructures in array which maximal size is 467 items.

This change record is used in ACHR, ACRE record types. There was 73 change records in save files.

This information is NOT verified from actual save files.

Name Type/Size Info
unknown ubyte[397] Minimal length of observed change records.
unknownArray struct[0-467] Possible substructure array
item
ubyte[1] Possible substructure item
...
Bunch of unknown stuff.
knownTopicsNum
ushort Number of topics known by PC.
knownTopics
iref[knownTopicsNum] Array of irefs for topics known by PC.
 ??
ubyte[?] Unknown data
fgGeoSym
ubyte[200] FaceGen Geometry Symmetric data.
fgGeoAsym
ubyte[120] FaceGen Geometry Asymmetric data
fgTexSym
ubyte[200] FaceGen Texture symmetric data
race
iref
hair
iref
eyes
iref
hairLength
float 1.0 seem to be maximal length.
hairColor
ubyte[3] rgb
unknown1
ubyte  ?Hair flag?
gender
ubyte 0: male; 1: female
pcName
bzstring PC's name.
pcClass
iref PC's class.
customClass
struct Custom class data, only present if the pcClass iref points to PlayerCustomClass (00022843).
favoredAttribute1
ulong See Attributes information for possible values.
favoredAttribute2
ulong See Attributes information for possible values.
specialization
ulong See Class Specialization information for possible values.
majorSkill1
ulong See Skills information for possible values.
majorSkill2
ulong See Skills information for possible values.
majorSkill3
ulong See Skills information for possible values.
majorSkill4
ulong See Skills information for possible values.
majorSkill5
ulong See Skills information for possible values.
majorSkill6
ulong See Skills information for possible values.
majorSkill7
ulong See Skills information for possible values.
unknown1
ulong
unknown2
ulong
unknown3
ulong
name
bstring
icon
bstring
unknown4
iref
 ??
More stuff?

[edit] Low (None)

This change record's length is between 103 and 158 bytes. Largest common divider in variable part is 1 byte(s). One possibility is that there is 103 byte(s) header and 1 byte(s) substructures in array which maximal size is 55 items.

This change record is used in ACHR, ACRE record types. There was 3565 change records in save files.

This information is NOT verified from actual save files.

Name Type/Size Info
unknown ubyte[103] Minimal length of observed change records.
unknownArray struct[0-55] Possible substructure array
item
ubyte[1] Possible substructure item


[edit] Form Flags (0)

Subrecords interpretation is still unknown.

This subrecord is used in BOOK, ACHR, ACRE, NPC_, REFR, KEYM record types.

Name Type/Size Info
flags ulong Flags related to record's form id ?Unknown interpretation?

[edit] Moved (2)

This change record's length is constant 28 byte(s).

This change record is used in ACHR, ACRE, REFR record types. There was 4546 change records in save files.

Name Type/Size Info
moveData struct Movement data.
cell
iref Iref of cell.
x
float X coordinate.
y
float Y coordinate.
z
float Z coordinate.
rotationX
float
rotationY
float
rotationZ
float

[edit] Havok Moved (3)

This change record's length is between 2 and 1097 bytes. Largest common divider in variable part is 1 byte(s). One possibility is that there is 2 byte(s) header and 1 byte(s) substructures in array which maximal size is 1095 items.

This change record is used in ACHR, ACRE, REFR record types. There was 893 change records in save files.

This information is NOT verified from actual save files.

Name Type/Size Info
unknown ubyte[2] Minimal length of observed change records.
unknownArray struct[0-1095] Possible substructure array
item
ubyte[1] Possible substructure item


[edit] Scale (4)

This change record's length is constant 4 byte(s).

This change record is used in ACHR, ACRE, REFR record types. There was 835 change records in save files.

Name Type/Size Info
scale float

[edit] Life State (6)

This change record is used in ACHR, ACRE record types.

Name Type/Size Info
state ubyte Enum:
  • 0 = Alive
  • 1 = Dying
  • 2 = Dead
  • 3 = Unconcious
  • 4 = ?
  • 5 = ?
  • 6 = ?

[edit] Crime Gold (7)

This change record's length is between 0 and 5 bytes. Largest common divider in variable part is 5 byte(s). One possibility is that there is 0 byte(s) header and 5 byte(s) substructures in array which maximal size is 1 items.

This change record is used in ACHR record types. There was 57 change records in save files.

This information is NOT verified from actual save files.

Name Type/Size Info
unknown ubyte[0] Minimal length of observed change records.
unknownArray struct[0-1] Possible substructure array
item
ubyte[5] Possible substructure item


[edit] Oblivion Entry (14)

This change record's length is constant 17 byte(s).

This change record is used in ACHR record types. There was 1 change records in save files.

This information is NOT verified from actual save files.

Name Type/Size Info
unknown ubyte[17] Constant length of observed change records.


[edit] Disposition Modifiers (15)

This change record is used in ACHR, ACRE record types.

Name Type/Size Info
count ushort Count of following records
modifiers struct[count]
object
formid
modifier
long

[edit] Movement Blocked (17)

This change record's length is constant 32 byte(s).

This change record is used in ACHR, ACRE record types. There was 14 change records in save files.

This information is NOT verified from actual save files.

Name Type/Size Info
unknown ubyte[32] Constant length of observed change records.


[edit] Trespass (18)

This change record's length is constant 64 byte(s).

This change record is used in ACHR record types. There was 9 change records in save files.

This information is NOT verified from actual save files.

Name Type/Size Info
unknown ubyte[64] Constant length of observed change records.


[edit] Run Once (19)

This change record's length is constant 22 byte(s).

This change record is used in ACHR, ACRE record types. There was 6 change records in save files.

This information is NOT verified from actual save files.

Name Type/Size Info
unknown ubyte[22] Constant length of observed change records.


[edit] Magic Modifiers (20)

This change record's length is between 0 and 22 bytes. Largest common divider in variable part is 1 byte(s). One possibility is that there is 0 byte(s) header and 1 byte(s) substructures in array which maximal size is 22 items.

This change record is used in ACHR, ACRE record types. There was 737 change records in save files.

This information is NOT verified from actual save files.

Name Type/Size Info
unknown ubyte[0] Minimal length of observed change records.
unknownArray struct[0-22] Possible substructure array
item
ubyte[1] Possible substructure item


[edit] Script Modifiers (21)

This change record's length is constant 17 byte(s).

This change record is used in ACHR, ACRE record types. There was 27 change records in save files.

This information is NOT verified from actual save files.

Name Type/Size Info
unknown ubyte[17] Constant length of observed change records.


[edit] Game Modifiers (22)

This change record's length is between 0 and 17 bytes. Largest common divider in variable part is 1 byte(s). One possibility is that there is 0 byte(s) header and 1 byte(s) substructures in array which maximal size is 17 items.

This change record is used in ACHR, ACRE record types. There was 1496 change records in save files.

This information is NOT verified from actual save files.

Name Type/Size Info
unknown ubyte[0] Minimal length of observed change records.
unknownArray struct[0-17] Possible substructure array
item
ubyte[1] Possible substructure item


[edit] Oblivion Flag (23)

This change record's length is constant 0 byte(s).

This change record is used in ACHR, ACRE, REFR record types. There was 18 change records in save files.

This information is NOT verified from actual save files.

Name Type/Size Info
unknown ubyte[0] Constant length of observed change records.


[edit] Movement Extra (24)

This change record's length is between 0 and 649 bytes. Largest common divider in variable part is 1 byte(s). One possibility is that there is 0 byte(s) header and 1 byte(s) substructures in array which maximal size is 649 items.

This change record is used in ACHR, ACRE, REFR record types. There was 914 change records in save files.

This information is NOT verified from actual save files.

Name Type/Size Info
unknown ubyte[0] Minimal length of observed change records.
unknownArray struct[0-649] Possible substructure array
item
ubyte[1] Possible substructure item


[edit] Animation (25)

This change record's length is between 0 and 145 bytes. Largest common divider in variable part is 1 byte(s). One possibility is that there is 0 byte(s) header and 1 byte(s) substructures in array which maximal size is 145 items.

This change record is used in ACHR, ACRE, REFR record types. There was 396 change records in save files.

This information is NOT verified from actual save files.

Name Type/Size Info
unknown ubyte[0] Minimal length of observed change records.
unknownArray struct[0-145] Possible substructure array
item
ubyte[1] Possible substructure item


[edit] Script (26)

This change record's length is between 8 and 108 bytes. Largest common divider in variable part is 4 byte(s). One possibility is that there is 8 byte(s) header and 4 byte(s) substructures in array which maximal size is 25 items.

This change record is used in ACHR, ACRE, REFR record types. There was 2171 change records in save files.

This information is NOT verified from actual save files.

Name Type/Size Info
unknown ubyte[8] Minimal length of observed change records.
unknownArray struct[0-25] Possible substructure array
item
ubyte[4] Possible substructure item


[edit] Inventory (27)

This change record's length is between 14 and 1346 bytes. Largest common divider in variable part is 1 byte(s). One possibility is that there is 14 byte(s) header and 1 byte(s) substructures in array which maximal size is 1332 items.

This change record is used in ACHR, ACRE, REFR record types. There was 3230 change records in save files.

This information is NOT verified from actual save files.

Name Type/Size Info
unknown ubyte[14] Minimal length of observed change records.
unknownArray struct[0-1332] Possible substructure array
item
ubyte[1] Possible substructure item


[edit] Leveled Creature (1, 28)

This change record's length is constant 1 byte(s).

This change record is used in ACHR, ACRE, REFR record types. There was 770 change records in save files.

This information is NOT verified from actual save files.

Name Type/Size Info
unknown ubyte[1] Constant length of observed change records.


[edit] Created (1, 28)

This change record's length is constant 36 byte(s).

This change record is used in ACHR, ACRE, REFR record types. There was 770 change records in save files.

This information is NOT verified from actual save files.

Name Type/Size Info
unknown ubyte[36] Constant length of observed change records.


[edit] Equipment (29)

This change record is used in ACHR record types.

Name Type/Size Info
hash ulong

[edit] Enabled (30)

This change record's length is constant 0 byte(s).

This change record is used in ACHR, ACRE, REFR record types. There was 346 change records in save files.

This information is NOT verified from actual save files.

Name Type/Size Info
unknown ubyte[0] Constant length of observed change records.


[edit] Disabled (30)

This change record's length is constant 0 byte(s).

This change record is used in ACHR, ACRE, REFR record types. There was 149 change records in save files.

This information is NOT verified from actual save files.

Name Type/Size Info
unknown ubyte[0] Constant length of observed change records.


[edit] Disabled/Enabled (30)

This change record's length is unknown, because it never was loaded. Smallest record where it was stored, was 58 byte(s).

This change record is used in ACHR, ACRE, REFR record types. There was 163 change records in save files.

This information is NOT verified from actual save files.

Name Type/Size Info
unknown ubyte[58] Smallest record size where change record was stored.
Sponsored Links
Personal tools