All pastes #574300 Raw Edit

Stuff

public xml v1 · immutable
·published 2007-06-18 14:39 UTC
rendered paste body
--- 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 @@         <add name="Vertex Indices" type="ushort" arr1="Num Vertices">The vertex indices.</add>     </compound> -    <compound name="Vector3" niflibtype="Vector3" nifskopetype="vector3">-        A vector in 3D space (x,y,z).-        <add name="x" type="float">First coordinate.</add>-        <add name="y" type="float">Second coordinate.</add>-        <add name="z" type="float">Third coordinate.</add>-    </compound>--    <compound name="Vector4" niflibtype="Float4" nifskopetype="vector4">-        A 4-dimensional vector.-        <add name="x" type="float">First coordinate.</add>-        <add name="y" type="float">Second coordinate.</add>-        <add name="z" type="float">Third coordinate.</add>-        <add name="w" type="float">Fourth coordinate.</add>-    </compound>--    <compound name="Quaternion" niflibtype="Quaternion" nifskopetype="quaternion">-        A quaternion.-        <add name="w" type="float">The w-coordinate.</add>-        <add name="x" type="float">The x-coordinate.</add>-        <add name="y" type="float">The y-coordinate.</add>-        <add name="z" type="float">The z-coordinate.</add>-    </compound>--    <compound name="QuaternionXYZW" nifskopetype="quaternion_xyzw">-        A quaternion as it appears in the havok objects.-        <add name="x" type="float">The x-coordinate.</add>-        <add name="y" type="float">The y-coordinate.</add>-        <add name="z" type="float">The z-coordinate.</add>-        <add name="w" type="float">The w-coordinate.</add>-    </compound>-     <compound name="Matrix22" niflibtype="Matrix22">         A 2x2 matrix of float values.  Stored in OpenGL column-major format.         <add name="m11" type="float">Member 1,1 (top left)</add>@@ -628,6 +597,22 @@         <add name="Backward" type="TEMPLATE">Backward tangent.</add>     </compound> +    <compound name="Quaternion" niflibtype="Quaternion" nifskopetype="quaternion">+        A quaternion.+        <add name="w" type="float">The w-coordinate.</add>+        <add name="x" type="float">The x-coordinate.</add>+        <add name="y" type="float">The y-coordinate.</add>+        <add name="z" type="float">The z-coordinate.</add>+    </compound>++    <compound name="QuaternionXYZW" nifskopetype="quaternion_xyzw">+        A quaternion as it appears in the havok objects.+        <add name="x" type="float">The x-coordinate.</add>+        <add name="y" type="float">The y-coordinate.</add>+        <add name="z" type="float">The z-coordinate.</add>+        <add name="w" type="float">The w-coordinate.</add>+    </compound>+     <compound name="ShortString" ver1="10.1.0.0" niflibtype="ShortString" nifskopetype="shortstring">         Another string format, for short strings.  Specific to Bethesda-specific header tags.         <add name="Length" type="byte">The string length.</add>@@ -690,13 +675,6 @@         <add name="Variable Offset 2" type="StringOffset" ver1="10.2.0.0">Offset in the string palette where some variable string starts (so far only &#039;EmitterActive&#039; and &#039;BirthRate&#039; have been observed in official files, used for particle system controllers). Usually, -1.</add>     </compound> -    <compound name="ExportInfo" ver1="10.0.1.2">-        <add name="Unknown" type="uint" ver2="10.0.1.2" default="3">Probably the number of strings that follow.</add>-        <add name="Creator" type="ShortString">Could be the name of the creator of the NIF file?</add>-        <add name="Export Info 1" type="ShortString">Unknown. Can be something like &#039;TriStrip Process Script&#039;.</add>-        <add name="Export Info 2" type="ShortString">Unknown. Possibly the selected option of the export script. Can be something like &#039;Default Export Script&#039;.</add>-    </compound>-     <compound name="Header">         The NIF file header.         <add name="Header String" type="HeaderString">&#039;NetImmerse File Format x.x.x.x&#039; (versions &lt;= 10.0.1.2) or &#039;Gamebryo File Format x.x.x.x&#039; (versions &gt;= 10.1.0.0), with x.x.x.x the version written out. Ends with a newline character (0x0A).</add>@@ -705,9 +683,11 @@         <add name="Endian Type" type="EndianType" default="1" ver1="20.0.0.4">Determines the endianness of the data in the file.</add>         <add name="User Version" type="uint" ver1="10.1.0.0">An extra version number, for companies that decide to modify the file format.</add>         <add name="Num Blocks" type="uint" ver1="3.3.0.13">Number of file objects.</add>+        <add name="User Version" type="uint" default="1" ver1="10.0.1.2" ver2="10.0.1.2">May not really be user version, but it is convenient to treat it as such in the one file that uses this NIF version.</add>         <add name="User Version 2" type="uint" default="0" cond="User Version != 0" ver1="10.1.0.0">This also appears to be the extra user version number and must be set in some circumstances.</add>-	<add name="Export Info" type="ExportInfo" ver1="10.0.1.2" ver2="10.0.1.2" />-	<add name="Export Info" type="ExportInfo" cond="User Version != 0" ver1="10.1.0.0" />+        <add name="Creator" type="ShortString" cond="User Version != 0" ver1="10.0.1.2">Could be the name of the creator of the NIF file?</add>+        <add name="Export Info 1" type="ShortString" cond="User Version != 0" ver1="10.0.1.2">Unknown. Can be something like &#039;TriStrip Process Script&#039;.</add>+        <add name="Export Info 2" type="ShortString" cond="User Version != 0" ver1="10.0.1.2">Unknown. Possibly the selected option of the export script. Can be something like &#039;Default Export Script&#039;.</add>         <add name="Num Block Types" type="ushort" ver1="10.0.1.0">Number of object types in this NIF file.</add>         <add name="Block Types" type="string" arr1="Num Block Types" ver1="10.0.1.0">List of all object types used in this NIF file.</add>         <add name="Block Type Index" type="BlockTypeIndex" arr1="Num Blocks" ver1="10.0.1.0">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.</add>@@ -874,6 +854,13 @@         <add name="Bone Indices" type="byte" arr1="Num Vertices" arr2="Num Weights Per Vertex" cond="Has Bone Indices != 0">Bone indices, they index into &#039;Bones&#039;.</add>     </compound> +    <compound name="Vector3" niflibtype="Vector3" nifskopetype="vector3">+        A vector in 3D space (x,y,z).+        <add name="x" type="float">First coordinate.</add>+        <add name="y" type="float">Second coordinate.</add>+        <add name="z" type="float">Third coordinate.</add>+    </compound>+     <compound name="BoundingBox">         Bounding box.         <add name="Unknown Int" type="uint" default="1">Usually 1.</add>@@ -930,6 +917,14 @@         <add name="Vertex Weights" type="SkinWeight" arr1="Num Vertices" ver1="4.2.2.0" cond="ARG != 0">The vertex weights.</add>     </compound> +    <compound name="Vector4" niflibtype="Float4" nifskopetype="vector4">+        A 4-dimensional vector.+        <add name="x" type="float">First coordinate.</add>+        <add name="y" type="float">Second coordinate.</add>+        <add name="z" type="float">Third coordinate.</add>+        <add name="w" type="float">Fourth coordinate.</add>+    </compound>+     <compound name="Sphere">         A sphere.         <add name="Center" type="Vector3">The sphere's center.</add>@@ -948,7 +943,7 @@         <add name="Layer" type="OblivionLayer">Sets mesh color in Oblivion Construction Set.</add>         <add name="Col Filter" type="byte">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.</add>         <add name="Unknown Short" type="ushort">Unknown.</add>-        <add name="Vertex Count?" type="uint">Seems to be the number of vertices that form this sub shape.</add>+        <add name="Vertex Count (?)" type="uint">Seems to be the number of vertices that form this sub shape.</add>         <add name="Material" type="HavokMaterial">The material of the subshape.</add>     </compound> @@ -990,11 +985,11 @@     <compound name="MultiTextureElement">         <add name="Has Image" type="bool">Looks like a memory address, so probably a bool.</add>         <add name="Image" type="Ref" template="NiImage" cond="Has Image">Link to the texture image.</add>-        <add name="Unknown Int 1" type="uint" cond="Has Image" default="3">Unkown.  Usually 3 but sometimes 0.</add>-        <add name="Unknown Int 2" type="uint" cond="Has Image" default="2">Unkown. Usually 2.</add>-        <add name="Unknown Int 3" type="uint" cond="Has Image" default="1">Unkown. Usually 1.</add>-        <add name="Unknown Short 1" type="short" cond="Has Image" default="0">Unknown.  Usually 0.</add>-        <add name="Unknown Short 2" type="short" cond="Has Image" default="-75">Unknown.  Usually -75.</add>+        <add name="Clamp?" type="TexClampMode" cond="Has Image" default="3">May be texture clamp mode.</add>+        <add name="Filter?" type="TexFilterMode" cond="Has Image" default="2">May be texture filter mode.</add>+        <add name="UV Set?" type="uint" cond="Has Image" default="1">This may be the UV set counting from 1 instead of zero.</add>+        <add name="PS2 L" type="ushort" cond="Has Image" default="0" ver2="10.2.0.0">0?</add>+        <add name="PS2 K" type="ushort" cond="Has Image" default="0xFFB5" ver2="10.2.0.0">0xFFB5?</add>         <add name="Unknown Short 3" type="short" cond="Has Image" default="0">Unknown.  Usually 0 but sometimes 257</add>     </compound> @@ -1108,7 +1103,7 @@         <add name="Unknown Int 8" type="uint">Unknown.</add>         <add name="Num Constraints" type="uint"> The number of constraints this object is bound to.</add>         <add name="Constraints" type="Ref" template="bhkConstraint" arr1="Num Constraints">Unknown.</add>-        <add name="Unknown Int 6" type="uint">Unknown.</add>+        <add name="Unknown Int 9" type="uint">Unknown.</add>     </niobject>      <niobject name="bhkRigidBodyT" abstract="0" inherit="bhkRigidBody" ver1="20.0.0.5">@@ -1215,7 +1210,7 @@         <add name="Unknown Short 3" type="ushort">Unknown.</add>         <add name="Unknown Short 4" type="ushort">Unknown.</add>         <add name="Dimensions" type="Vector3">Looks like this could be the box size.</add>-        <add name="Minimum Size" type="float">The smallest of the three sizes. Might be used for optimization.</add>+        <add name="Min. size" type="float">The smallest of the three sizes. Might be used for optimization.</add>     </niobject>      <niobject name="bhkConvexVerticesShape" abstract="0" inherit="bhkConvexShape" ver1="20.0.0.5">@@ -1525,7 +1520,12 @@         <add name="Interpolator" type="Ref" template="NiInterpolator" ver1="10.2.0.0">Link to interpolator.</add>     </niobject> -    <niobject name="NiTransformController" abstract="0" inherit="NiSingleInterpController" ver1="10.2.0.0">+    <niobject name="NiKeyframeController" abstract="0" inherit="NiSingleInterpController">+        A time controller object for animation key frames.+        <add name="Data" type="Ref" template="NiKeyframeData" ver2="10.1.0.0">Keyframe controller data index.</add>+    </niobject>++    <niobject name="NiTransformController" abstract="0" inherit="NiKeyframeController" ver1="10.2.0.0">         NiTransformController replaces the NiKeyframeController.     </niobject> @@ -1683,11 +1683,12 @@         <add name="Unknown Short 1" type="ushort" ver1="10.1.0.0">Unknown.</add>         <add name="Has Vertices" type="bool">Is the vertex array present? (Always non-zero.)</add>         <add name="Vertices" type="Vector3" arr1="Num Vertices" cond="Has Vertices != 0">The mesh vertices.</add>-        <add name="Num UV Sets" type="ushort" ver1="10.0.1.0">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.</add>+        <add name="Num UV Sets 2" type="byte" ver1="10.0.1.0">The lower 6 (or less?) bits of this field represent the number of UV texture sets. The other bits are probably flag bits.</add>+        <add name="Unknown Byte 1" type="byte" ver1="10.0.1.0">Unknown. If bit 4 is set then extra vectors are present after the normals.</add>         <add name="Has Normals" type="bool">Do we have lighting normals? These are essential for proper lighting: if not present, the model will only be influenced by ambient light.</add>         <add name="Normals" type="Vector3" arr1="Num Vertices" cond="Has Normals != 0">The lighting normals.</add>-        <add name="Unknown Vectors 1" type="Vector3" arr1="Num Vertices" cond="(Has Normals != 0) &amp;&amp; (Num UV Sets &amp; 4096)" ver1="10.1.0.0">Unknown. Binormal &amp; tangents? has_normals must be set as well for this field to be present.</add>-        <add name="Unknown Vectors 2" type="Vector3" arr1="Num Vertices" cond="(Has Normals != 0) &amp;&amp; (Num UV Sets &amp; 4096)" ver1="10.1.0.0">Unknown. Binormal &amp; tangents?</add>+        <add name="Unknown Vectors 1" type="Vector3" arr1="Num Vertices" cond="(Has Normals != 0) &amp;&amp; (Unknown Byte 1 &amp; 16)" ver1="10.1.0.0">Unknown. Binormal &amp; tangents? has_normals must be set as well for this field to be present.</add>+        <add name="Unknown Vectors 2" type="Vector3" arr1="Num Vertices" cond="(Has Normals != 0) &amp;&amp; (Unknown Byte 1 &amp; 16)" ver1="10.1.0.0">Unknown. Binormal &amp; tangents?</add>         <add name="Center" type="Vector3">Center of the bounding box (smallest box that contains all vertices) of the mesh.</add>         <add name="Radius" type="float">Radius of the mesh: maximal Euclidean distance between the center and all vertices.</add>         <add name="Has Vertex Colors" type="bool">@@ -1698,13 +1699,14 @@             Note 2: set to either 0 or 0xFFFFFFFF for NifTexture compatibility.         </add>         <add name="Vertex Colors" type="Color4" arr1="Num Vertices" cond="Has Vertex Colors != 0">The vertex colors.</add>-        <add name="Num UV Sets" type="ushort" ver2="4.2.2.0">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.</add>+        <add name="Num UV Sets" type="ushort" ver2="4.2.2.0">Number of texture sets.</add>         <add name="Has UV" type="bool" ver2="4.0.0.2">             Do we have UV coordinates?              Note: for compatibility with NifTexture, set this value to either 0x00000000 or 0xFFFFFFFF.         </add>-        <add name="UV Sets" type="TexCoord" arr1="Num UV Sets &amp; 63" arr2="Num Vertices">The UV texture coordinates. They follow the OpenGL standard: some programs may require you to flip the second coordinate.</add>+        <add name="UV Sets" type="TexCoord" arr1="Num UV Sets" arr2="Num Vertices" ver2="4.2.2.0">The UV texture coordinates. They follow the OpenGL standard: some programs may require you to flip the second coordinate.</add>+        <add name="UV Sets" type="TexCoord" arr1="Num UV Sets 2 &amp; 63" arr2="Num Vertices" ver1="10.0.1.0">Same as above, but needs to be repeated due to &#039;UV Sets&#039; moving to a different position.</add>         <add name="Unknown Short 2" type="ushort" ver1="10.0.1.0">Unknown. Usually zero.</add>         <add name="Unknown Link 1" type="Ref" template="NiObject" ver1="20.0.0.4">Unknown.</add>     </niobject>@@ -2097,11 +2099,6 @@         <add name="Data" type="uint" arr1="Num Integers">Integers.</add>     </niobject> -    <niobject name="NiKeyframeController" abstract="0" inherit="NiTimeController">-        A time controller object for animation key frames.-        <add name="Data" type="Ref" template="NiKeyframeData">Keyframe controller data index.</add>-    </niobject>-     <niobject name="BSKeyframeController" abstract="0" inherit="NiKeyframeController" ver1="10.0.1.2">         An extended keyframe controller.         <add name="Data 2" type="Ref" template="NiKeyframeData">A link to more keyframe data.</add>@@ -2302,13 +2299,8 @@         <add name="Vertical Angle" type="float">emitter&#039;s vertical opening angle [radians]</add>         <add name="Horizontal Direction" type="float">horizontal emit direction</add>         <add name="Horizontal Angle" type="float">emitter&#039;s horizontal opening angle</add>-        <add name="Unknown Float 5" type="float">Unknown.</add>-        <add name="Unknown Float 6" type="float">Unknown.</add>-        <add name="Unknown Float 7" type="float">Unknown.</add>-        <add name="Unknown Float 8" type="float">Unknown.</add>-        <add name="Unknown Float 9" type="float">Unknown.</add>-        <add name="Unknown Float 10" type="float">Unknown.</add>-        <add name="Unknown Float 11" type="float">Unknown.</add>+        <add name="Unknown Normal?" type="Vector3">Unknown.</add>+        <add name="Unknown Color?" type="Color4">Unknown.</add>         <add name="Size" type="float">Particle size</add>         <add name="Emit Start Time" type="float">Particle emit start time</add>         <add name="Emit Stop Time" type="float">Particle emit stop time</add>@@ -2734,15 +2726,16 @@     <niobject name="NiTextureModeProperty" abstract="0" inherit="NiProperty" ver1="3.0" ver2="3.1">         Unknown         <add name="Unknown Short" type="short">Unknown. Either 210 or 194.</add>-        <add name="Unknown 2 Shorts" type="short" arr1="2" ver1="3.1">Unknown. Either (0,-75) or (0,-75)</add>+        <add name="PS2 L" type="ushort" default="0" ver2="10.2.0.0">0?</add>+        <add name="PS2 K" type="ushort" default="0xFFB5" ver2="10.2.0.0">0xFFB5?</add>     </niobject>          <niobject name="NiImage" abstract="0" inherit="NiObject" ver1="3.0" ver2="3.1">         <add name="External" type="byte">0 if the texture is internal to the NIF file.</add>         <add name="File Name" type="FilePath" cond="External != 0">The filepath to the texture.</add>         <add name="Image Data" type="Ref" template="NiRawImageData" cond="External == 0">Link to the internally stored image data.</add>-        <add name="Unknown Int 1" type="uint" default="7">Unknown.  Often seems to be 7.</add>-        <add name="Unknown Int 2" type="uint" ver1="3.1" default="0x43008000">Unknown.  Perhaps some flags?  Two shorts? Default seems to be 0x43008000</add>+        <add name="Unknown Int" type="uint" default="7">Unknown.  Often seems to be 7. Perhaps m_uiMipLevels?</add>+        <add name="Unknown Float" type="float" ver1="3.1" default="128.5">Unknown.  Perhaps fImageScale?</add>     </niobject>          <niobject name="NiTextureProperty" abstract="0" inherit="NiProperty" ver1="3.0" ver2="3.1">