NIF Objects | Compound Types | Enum Types | Basic Types | File Versions
Name | Description |
---|---|
BlockTypeIndex | A 16-bit (signed?) integer, which is used in the header to refer to a particular object type in a object type string array. The upper bit appears to be a flag used for PhysX block types. |
FileVersion | A 32-bit integer that stores the version in hexadecimal format with each byte representing a number in the version string. Some widely-used versions and their hex representation: 4.0.0.2: 0x04000002 4.1.0.12: 0x0401000C 4.2.0.2: 0x04020002 4.2.1.0: 0x04020100 4.2.2.0: 0x04020200 10.0.1.0: 0x0A000100 10.1.0.0: 0x0A010000 10.2.0.0: 0x0A020000 20.0.0.4: 0x14000004 20.0.0.5: 0x14000005 |
Flags | A 16-bit integer, used for bit flags. Function varies by object type. |
HeaderString | A variable length string that ends with a newline character (0x0A). The string starts as follows depending on the version: Version <= 10.0.1.0: 'NetImmerse File Format' Version >= 10.1.0.0: 'Gamebryo File Format' |
LineString | A variable length string that ends with a newline character (0x0A). |
Ptr | A signed 32-bit integer, referring to a object before this one in the hierarchy. Examples: Bones, gravity objects. |
Ref | A signed 32-bit integer, used to refer to another object; -1 means no reference. These should always point down the hierarchy. Other types are used for indexes that point to objects higher up. |
StringIndex | A 32-bit unsigned integer, used to refer to strings in the header. |
StringOffset | A 32-bit unsigned integer, used to refer to strings in a NiStringPalette. |
bool | A boolean; 32-bit from 4.0.0.2, and 8-bit from 4.1.0.1 on. |
byte | An unsigned 8-bit integer. |
char | An 8-bit character. |
float | A standard 32-bit floating point number. |
int | A signed 32-bit integer. |
short | A signed 16-bit integer. |
uint | An unsigned 32-bit integer. |
ulittle32 | A litte-endian unsigned 32-bit integer. |
ushort | An unsigned 16-bit integer. |