Oblivion Mod:Save File Format/Generic

The UESPWiki – Your source for The Elder Scrolls since 1995
Jump to: navigation, search

Most of the less common change records appear to share the same, generic format, consisting of two possible subrecords. Record types observed using this format so far include:

  • ARMO records, describing armor,
  • CLOT records, describing clothing,
  • INGR records, describing ingredients,
  • MISC records, describing miscellaneous items,
  • KEYM records, describing keys,
  • SLGM records, describing soul gems, and
  • WEAP records, describing weapons.

The format used for BOOK records is also similar, except for the possible presence of a third subrecord type.

These generic change records can contain the following subrecords (with their corresponding byte in the overall Flags), in order of appearance:

The relative positions of the subrecords and their contents (as far as they are understood) are based on actual save files.

Form Flags

The Form Flags subrecord is present when bit 0 (0x00000001) is set in any change record's overall Flags. Its length is a constant 4 bytes.

The Form Flags subrecord has been seen in nearly every type of change record, always associated with bit 0, always using the same name in the text dump files, and always using the same format. The only record types without any Form Flags (so far) have been: CELL, FACT, INFO, PACK, and QUST. Furthermore, in analyzed save files, bit 0 has never been set for any of those five record types, so it is possible that even for those records, bit 0 is reserved for the Form Flags subrecord.

Name Type/Size Info
flags ulong The record's current form flags. Related to form flags in mod files, but the meaning of some bits is unknown.
Example: If an item from an ESM file was originally a quest item, and stopped being one, flags = 0x00000009
Example: If an item from an ESM file was not originally a quest item, and became one, flags = 0x00000409

Value[edit]

The Value subrecord is present when bit 3 (0x00000008) is set in a generic record's overall Flags. Its length is a constant 4 bytes. This subrecord provides the new value (in gold) of an item. However, this subrecord is never mentioned in the text dump files; the name "Value" has been assigned to it based on its inferred meaning.

The meaning of this subrecord has been confirmed by using the console command "SetItemValue" on select items and then checking the resulting save file contents. It was previously misidentified as "Furniture Book" based on the fact that the subrecord appears for all furniture receipts after the player purchases them. However, the Value subrecord appears in those cases because the script HouseFurnReceiptScript specifies "SetItemValue 0" for all such receipts. It also appears on many items after "SetQuestObject 0" is called for the item, since a new item value needs to be assigned at that point.

Name Type/Size Info
value ulong Value of item in gold. It does not include the value added by any enchantments. See above comments for details.