Conventions
This page sets out the conventions used within this documentation. They are roughly similar to those used on UESP.net.
Anything unknown is marked as such with a double question mark ??. If a table cell is blank, that just means that it hasn’t yet been documented.
Data Types
These denote the type of data held in a subrecord or field. Type arrays are represented by type[array length]. Variable-length arrays are represented by type[].
Basic Types
| Type | Byte Size | Description |
|---|---|---|
| null | 0 | Subrecord with no data. |
| char | 1 | A single 8-bit character |
| int8 | 1 | Value stored as an 8-bit signed integer. |
| uint8 | 1 | Value stored as an 8-bit unsigned integer. |
| int16 | 2 | Value stored as a 16-bit signed integer. |
| uint16 | 2 | Value stored as a 16-bit unsigned integer. |
| int32 | 4 | Value stored as a 32-bit signed integer. |
| uint32 | 4 | Value stored as a 32-bit unsigned integer. |
| int64 | 8 | Value stored as a 64-bit signed integer. |
| uint64 | 8 | Value stored as a 64-bit unsigned integer. |
| float32 | 4 | Value stored as a 32-bit floating point number. |
| float64 | 8 | Value stored as a 64-bit floating point number. |
Semantic Types
| Type | Byte Size | Description |
|---|---|---|
| formid | 4 | Used to identify a data object. May refer to a data object from a mod or new object created in-game. |
| cstring | variable | Null terminated string. |
| struct | variable | Used for subrecords containing more than one data type. The subrecord structure should be documented on the same page. |
| rgba | 4 | The first three bytes are red, green and blue color values respectively. The fourth byte is unused. |
| collection | variable | Used for collections of subrecords that appear together. |
| byte | 1 | Used when the data type of a subrecord or field is unknown, or can be of many different types depending on some factor (which is detailed elsewhere). |
Subrecord Counts
These symbols are used to denote whether a record subrecord is required or not, and how many times it may appear. A blank count table cell is equivalent to one containing a -.
| Symbol | Meaning |
|---|---|
| + | Required. Such subrecords are always present in official plugins and plugins made with the GECK. |
| - | Optional. Such subrecords are not always present in official plugins and plugins made with the GECK. |
| * | Can appear more than once (stacks with + and -). |