NIF Objects | Compound Types | Enum Types | Basic Types | File Versions
| Name | Type | Description |
|---|---|---|
| Header String | HeaderString | 'NetImmerse File Format x.x.x.x' (versions <= 10.0.1.2) or 'Gamebryo File Format x.x.x.x' (versions >= 10.1.0.0), with x.x.x.x the version written out. Ends with a newline character (0x0A). |
| Version | FileVersion | The NIF version, in hexadecimal notation: 0x04000002, 0x0401000C, 0x04020002, 0x04020100, 0x04020200, 0x0A000100, 0x0A010000, 0x0A020000, 0x14000004, ... |
| Endian Type | EndianType | Determines the endianness of the data in the file. |
| User Version | ulittle32 | An extra version number, for companies that decide to modify the file format. |
| Num Blocks | ulittle32 | Number of file objects. |
| User Version 2 | ulittle32 | |
| Export Info | ExportInfo | |
| Max Filepath | ShortString | |
| Metadata | ByteArray | |
| Num Block Types | ushort | Number of object types in this NIF file. |
| Block Types | SizedString | List of all object types used in this NIF file. |
| Block Type Index | BlockTypeIndex | Maps file objects on their corresponding type: first file object is of type object_types[object_type_index[0]], the second of object_types[object_type_index[1]], etc. |
| Block Size | uint | Array of block sizes? |
| Num Strings | uint | Number of strings. |
| Max String Length | uint | Maximum string length. |
| Strings | SizedString | Strings. |
| Num Groups | uint | |
| Groups | uint |