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. |