NIF文件格式文档

NIF对象 | 复合类型 | 枚举类型 | 基本类型 | 文件版本

基本数据类型

名称 说明
BlockTypeIndex 16-bit(有符号?)整形, 用于在数据块的头部引用某个数据类型字符串数组中的指定数据类型.
上位好像是用于标记PhysX块类型.
FileVersion 32-bit 整形, 保存字符串版本中每个字节的十六进制格式

一些经常使用的版本和其十六进制表示法:
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 16-bit 整形, 用于预留标记. 对象类型的多重复合函数.
HeaderString 可变长度字符串, 结尾为换行符(0x0A). 字符串开头如下列版本:

Version <= 10.0.1.0: 'NetImmerse File Format'
Version >= 10.1.0.0: 'Gamebryo File Format'
LineString 可变长度字符串, 结尾为换行符(0x0A).
Ptr 32-bit 有符号整型, 引用某个对象层次中的对象, 类似C++中的指针. 例如: 骨骼, 重力对象.
Ref 32-bit 有符号整型, 引用不同的对象; -1 表示没有引用. 类似C++中的引用.
StringIndex 2-bit 无符号整形, 用于引用数据块头部里的字符串.
StringOffset 32-bit 无符号整形, 用于引用NiStringPalette里的字符串.
bool 布尔型; 4.0.0.2 为 32-bit, 4.1.0.1 或以上为 8-bit.
byte 8-bit 无符号整形.
char 8-bit 字符.
float 32-bit 基本浮点数.
int 32-bit 有符号整型.
short 16-bit 有符号整型.
uint 32-bit 无符号整形.
ushort 16-bit 无符号整形.