--- nif.xml 2007-05-30 18:05:21.000000000 +0100
+++ ../../docsys/nif.xml 2007-06-18 14:29:29.000000000 +0100
@@ -523,37 +523,6 @@
The vertex indices.
-
- A vector in 3D space (x,y,z).
- First coordinate.
- Second coordinate.
- Third coordinate.
-
-
-
- A 4-dimensional vector.
- First coordinate.
- Second coordinate.
- Third coordinate.
- Fourth coordinate.
-
-
-
- A quaternion.
- The w-coordinate.
- The x-coordinate.
- The y-coordinate.
- The z-coordinate.
-
-
-
- A quaternion as it appears in the havok objects.
- The x-coordinate.
- The y-coordinate.
- The z-coordinate.
- The w-coordinate.
-
-
A 2x2 matrix of float values. Stored in OpenGL column-major format.
Member 1,1 (top left)
@@ -628,6 +597,22 @@
Backward tangent.
+
+ A quaternion.
+ The w-coordinate.
+ The x-coordinate.
+ The y-coordinate.
+ The z-coordinate.
+
+
+
+ A quaternion as it appears in the havok objects.
+ The x-coordinate.
+ The y-coordinate.
+ The z-coordinate.
+ The w-coordinate.
+
+
Another string format, for short strings. Specific to Bethesda-specific header tags.
The string length.
@@ -690,13 +675,6 @@
Offset in the string palette where some variable string starts (so far only 'EmitterActive' and 'BirthRate' have been observed in official files, used for particle system controllers). Usually, -1.
-
- Probably the number of strings that follow.
- Could be the name of the creator of the NIF file?
- Unknown. Can be something like 'TriStrip Process Script'.
- Unknown. Possibly the selected option of the export script. Can be something like 'Default Export Script'.
-
-
The NIF file header.
'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).
@@ -705,9 +683,11 @@
Determines the endianness of the data in the file.
An extra version number, for companies that decide to modify the file format.
Number of file objects.
+ May not really be user version, but it is convenient to treat it as such in the one file that uses this NIF version.
This also appears to be the extra user version number and must be set in some circumstances.
-
-
+ Could be the name of the creator of the NIF file?
+ Unknown. Can be something like 'TriStrip Process Script'.
+ Unknown. Possibly the selected option of the export script. Can be something like 'Default Export Script'.
Number of object types in this NIF file.
List of all object types used in this NIF file.
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.
@@ -874,6 +854,13 @@
Bone indices, they index into 'Bones'.
+
+ A vector in 3D space (x,y,z).
+ First coordinate.
+ Second coordinate.
+ Third coordinate.
+
+
Bounding box.
Usually 1.
@@ -930,6 +917,14 @@
The vertex weights.
+
+ A 4-dimensional vector.
+ First coordinate.
+ Second coordinate.
+ Third coordinate.
+ Fourth coordinate.
+
+
A sphere.
The sphere's center.
@@ -948,7 +943,7 @@
Sets mesh color in Oblivion Construction Set.
The first bit sets the LINK property and controls whether this body is physically linked to others. The next bit turns collision off. Then, the next bit sets the SCALED property in Oblivion. The next five bits make up the number of this part in a linked body list.
Unknown.
- Seems to be the number of vertices that form this sub shape.
+ Seems to be the number of vertices that form this sub shape.
The material of the subshape.
@@ -990,11 +985,11 @@
Looks like a memory address, so probably a bool.
Link to the texture image.
- Unkown. Usually 3 but sometimes 0.
- Unkown. Usually 2.
- Unkown. Usually 1.
- Unknown. Usually 0.
- Unknown. Usually -75.
+ May be texture clamp mode.
+ May be texture filter mode.
+ This may be the UV set counting from 1 instead of zero.
+ 0?
+ 0xFFB5?
Unknown. Usually 0 but sometimes 257
@@ -1108,7 +1103,7 @@
Unknown.
The number of constraints this object is bound to.
Unknown.
- Unknown.
+ Unknown.
@@ -1215,7 +1210,7 @@
Unknown.
Unknown.
Looks like this could be the box size.
- The smallest of the three sizes. Might be used for optimization.
+ The smallest of the three sizes. Might be used for optimization.
@@ -1525,7 +1520,12 @@
Link to interpolator.
-
+
+ A time controller object for animation key frames.
+ Keyframe controller data index.
+
+
+
NiTransformController replaces the NiKeyframeController.
@@ -1683,11 +1683,12 @@
Unknown.
Is the vertex array present? (Always non-zero.)
The mesh vertices.
- The lower 6 (or less?) bits of this field represent the number of UV texture sets. The other bits are probably flag bits. For versions 10.1.0.0 and up, if bit 12 is set then extra vectors are present after the normals.
+ The lower 6 (or less?) bits of this field represent the number of UV texture sets. The other bits are probably flag bits.
+ Unknown. If bit 4 is set then extra vectors are present after the normals.
Do we have lighting normals? These are essential for proper lighting: if not present, the model will only be influenced by ambient light.
The lighting normals.
- Unknown. Binormal & tangents? has_normals must be set as well for this field to be present.
- Unknown. Binormal & tangents?
+ Unknown. Binormal & tangents? has_normals must be set as well for this field to be present.
+ Unknown. Binormal & tangents?
Center of the bounding box (smallest box that contains all vertices) of the mesh.
Radius of the mesh: maximal Euclidean distance between the center and all vertices.
@@ -1698,13 +1699,14 @@
Note 2: set to either 0 or 0xFFFFFFFF for NifTexture compatibility.
The vertex colors.
- The lower 6 (or less?) bits of this field represent the number of UV texture sets. The other bits are probably flag bits. For versions 10.1.0.0 and up, if bit 12 is set then extra vectors are present after the normals.
+ Number of texture sets.
Do we have UV coordinates?
Note: for compatibility with NifTexture, set this value to either 0x00000000 or 0xFFFFFFFF.
- The UV texture coordinates. They follow the OpenGL standard: some programs may require you to flip the second coordinate.
+ The UV texture coordinates. They follow the OpenGL standard: some programs may require you to flip the second coordinate.
+ Same as above, but needs to be repeated due to 'UV Sets' moving to a different position.
Unknown. Usually zero.
Unknown.
@@ -2097,11 +2099,6 @@
Integers.
-
- A time controller object for animation key frames.
- Keyframe controller data index.
-
-
An extended keyframe controller.
A link to more keyframe data.
@@ -2302,13 +2299,8 @@
emitter's vertical opening angle [radians]
horizontal emit direction
emitter's horizontal opening angle
- Unknown.
- Unknown.
- Unknown.
- Unknown.
- Unknown.
- Unknown.
- Unknown.
+ Unknown.
+ Unknown.
Particle size
Particle emit start time
Particle emit stop time
@@ -2734,15 +2726,16 @@
Unknown
Unknown. Either 210 or 194.
- Unknown. Either (0,-75) or (0,-75)
+ 0?
+ 0xFFB5?
0 if the texture is internal to the NIF file.
The filepath to the texture.
Link to the internally stored image data.
- Unknown. Often seems to be 7.
- Unknown. Perhaps some flags? Two shorts? Default seems to be 0x43008000
+ Unknown. Often seems to be 7. Perhaps m_uiMipLevels?
+ Unknown. Perhaps fImageScale?