Records
Record Types
Each record type’s page documents its subrecords. The common record header structure is documented further down this page.
| Name |
Type |
Info |
| type |
char[4] |
Record type. |
| dataSize |
uint32 |
Size of the data. |
| flags |
uint32 |
Record flags. See the section below for details. |
| id |
formid |
The record FormID. TES4 records have a FormID of 0. |
| revision |
uint32 |
Used for revision control by the Creation Kit, if enabled. |
| version |
uint16 |
Form Version |
| unknown |
uint16 |
?? |
| data |
uint8[dataSize] |
For uncompressed records, this is a sequence of subrecords. For compressed records, see the section below for details. |
Flags
Flags have contextual meaning depending on the record type. The known meanings are given below.
| Flag |
Meaning |
| 0x00000001 |
The plugin is a master file. |
| 0x00000002 |
?? |
| 0x00000004 |
?? |
| 0x00000008 |
?? |
| 0x00000010 |
Form initialized (Runtime only) |
| 0x00000020 |
Deleted |
| 0x00000040 |
Border Region / Has Tree LOD / Constant / Hidden From Local Map |
| 0x00000080 |
Turn Off Fire |
| 0x00000100 |
Inaccessible |
| 0x00000200 |
Casts shadows / On Local Map / Motion Blur |
| 0x00000400 |
Quest item / Persistent reference |
| 0x00000800 |
Initially disabled |
| 0x00001000 |
Ignored |
| 0x00002000 |
No Voice Filter |
| 0x00004000 |
Cannot Save (Runtime only) |
| 0x00008000 |
Visible when distant |
| 0x00010000 |
Random Anim Start / High Priority LOD |
| 0x00020000 |
Dangerous / Off limits (Interior cell) / Radio Station (Talking Activator) |
| 0x00040000 |
Compressed |
| 0x00080000 |
Can’t wait / Platform Specific Texture / Dead |
| 0x00100000 |
?? |
| 0x00200000 |
?? |
| 0x00400000 |
?? |
| 0x00800000 |
?? |
| 0x01000000 |
Destructible (Runtime only) |
| 0x02000000 |
Obstacle / No AI Acquire |
| 0x04000000 |
NavMesh Generation - Filter |
| 0x08000000 |
NavMesh Generation - Bounding Box |
| 0x10000000 |
Non-Pipboy / Reflected by Auto Water |
| 0x20000000 |
Child Can Use / Refracted by Auto Water |
| 0x40000000 |
NavMesh Generation - Ground |
| 0x80000000 |
?? |
Compressed Data
Compressed data has the following format.
| Name |
Type |
Info |
| decompSize |
uint32 |
Size of the decompressed data. |
| compData |
uint8[ dataSize - 4 ] |
Collection of subrecords compressed using zlib. |
| Name |
Type |
Info |
| type |
char[4] |
Subrecord type. |
| dataSize |
uint16 |
Size of the data, unless the preceding subrecord has the type XXXX, in which case this will be 0 and the size of the data field will be given by the preceding subrecord’s data, interpreted as a 32-bit unsigned integer. |
| data |
uint8[dataSize] |
The format of the data depends on the subrecord type and the type of the record containing it. |