Полностью рабочая версия файла...
НО!!!
ТОЛЬКО ДЛЯ РАБОТЫ С МОДЕЛЯМИ ФОРМАТА МОРРОВИНДА!!!
Т.е. отсюда удалено все лишнее, что не работает в МВ, что ускоряет загрузку и предохраняет от внесения случайных изменений!
Если нужна "универсальная" версия под все известные, нифскопу, форматы, то используйте утилиты для сравнения текстов.
Перенося изменения из этого файла, в оригинальный.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE niftoolsxml>
<niftoolsxml version="0.0.0.X.SPECIAL_EDITION_FOR_MW_ONLY!">
<!-- Supported Versions -->
<version num="4.0.0.0"></version>
<version num="4.0.0.2"></version>
<version num="4.1.0.12"></version>
<version num="4.2.0.2"></version>
<version num="4.2.1.0"></version>
<version num="4.2.2.0"></version>
<!--Basic Types-->
<basic name="bool" count="1" niflibtype="bool" nifskopetype="bool">
</basic>
<basic name="byte" count="1" niflibtype="byte" nifskopetype="byte">
</basic>
<basic name="uint" count="1" niflibtype="unsigned int" nifskopetype="uint">
</basic>
<basic name="ushort" count="1" niflibtype="unsigned short" nifskopetype="ushort">
</basic>
<basic name="int" count="1" niflibtype="int" nifskopetype="int">
</basic>
<basic name="short" count="1" niflibtype="short" nifskopetype="short">
</basic>
<basic name="char" count="0" niflibtype="byte" nifskopetype="char">
</basic>
<basic name="FileVersion" count="0" niflibtype="unsigned int" nifskopetype="fileversion">
</basic>
<basic name="Flags" count="0" niflibtype="unsigned short" nifskopetype="flags">
</basic>
<basic name="float" count="0" niflibtype="float" nifskopetype="float">
</basic>
<basic name="HeaderString" count="0" niflibtype="HeaderString" nifskopetype="headerstring">
</basic>
<basic name="LineString" count="0" niflibtype="LineString" nifskopetype="linestring">
</basic>
<basic name="Ptr" count="0" niflibtype="*" nifskopetype="uplink" istemplate="1">
</basic>
<basic name="Ref" count="0" niflibtype="Ref" nifskopetype="link" istemplate="1">
</basic>
<basic name="StringOffset" count="0" niflibtype="unsigned int" nifskopetype="stringoffset">
</basic>
<basic name="StringIndex" count="0" niflibtype="IndexString" nifskopetype="stringindex">
</basic>
<basic name="ulittle32" count="1" niflibtype="unsigned int" nifskopetype="uint">
</basic>
<!--Basic Types-->
<!--Enumerations-->
<enum name="AlphaFormat" storage="uint">
<option value="0" name="ALPHA_NONE"></option>
<option value="1" name="ALPHA_BINARY"></option>
<option value="2" name="ALPHA_SMOOTH"></option>
<option value="3" name="ALPHA_DEFAULT"></option>
</enum>
<enum name="ApplyMode" storage="uint">
<option value="0" name="APPLY_REPLACE"></option>
<option value="1" name="APPLY_DECAL"></option>
<option value="2" name="APPLY_MODULATE"></option>
<option value="3" name="APPLY_HILIGHT"></option>
<option value="4" name="APPLY_HILIGHT2"></option>
</enum>
<enum name="AxisOrder" storage="uint">
<option value="0" name="XYZ"></option>
<option value="1" name="XZY"></option>
<option value="2" name="YZX"></option>
<option value="3" name="YXZ"></option>
<option value="4" name="ZXY"></option>
<option value="5" name="ZYX"></option>
<option value="6" name="XYX"></option>
<option value="7" name="YZY"></option>
<option value="8" name="ZXZ"></option>
</enum>
<enum name="TexType" storage="uint">
<option value="0" name="BASE_MAP"></option>
<option value="1" name="DARK_MAP"></option>
<option value="2" name="DETAIL_MAP"></option>
<option value="3" name="GLOSS_MAP"></option>
<option value="4" name="GLOW_MAP"></option>
<option value="5" name="BUMP_MAP"></option>
<option value="6" name="DECAL_0_MAP"></option>
<option value="7" name="DECAL_1_MAP"></option>
<option value="8" name="DECAL_2_MAP"></option>
<option value="9" name="DECAL_3_MAP"></option>
<option value="10" name="DECAL_4_MAP"></option>
<option value="11" name="DECAL_5_MAP"></option>
</enum>
<enum name="KeyType" storage="uint">
<option value="1" name="LINEAR_KEY"></option>
<option value="2" name="QUADRATIC_KEY"></option>
<option value="3" name="TBC_KEY"></option>
<option value="4" name="XYZ_ROTATION_KEY"></option>
</enum>
<enum name="LightMode" storage="uint">
<option value="0" name="LIGHT_MODE_EMISSIVE"></option>
<option value="1" name="LIGHT_MODE_EMI_AMB_DIF"></option>
</enum>
<enum name="MipMapFormat" storage="uint">
<option value="0" name="MIP_FMT_NO"></option>
<option value="1" name="MIP_FMT_YES"></option>
<option value="2" name="MIP_FMT_DEFAULT"></option>
</enum>
<enum name="PixelFormat" storage="uint">
<option value="0" name="PX_FMT_RGB8"></option>
<option value="1" name="PX_FMT_RGBA8"></option>
<option value="2" name="PX_FMT_PAL8"></option>
<option value="4" name="PX_FMT_DXT1"></option>
<option value="5" name="PX_FMT_DXT5"></option>
<option value="6" name="PX_FMT_DXT5_ALT"></option>
</enum>
<enum name="PixelLayout" storage="uint">
<option value="0" name="PIX_LAY_PALETTISED"></option>
<option value="1" name="PIX_LAY_HIGH_COLOR_16"></option>
<option value="2" name="PIX_LAY_TRUE_COLOR_32"></option>
<option value="3" name="PIX_LAY_COMPRESSED"></option>
<option value="4" name="PIX_LAY_BUMPMAP"></option>
<option value="5" name="PIX_LAY_PALETTISED_4"></option>
<option value="6" name="PIX_LAY_DEFAULT"></option>
</enum>
<enum name="TexClampMode" storage="uint">
<option value="0" name="CLAMP_S_CLAMP_T"></option>
<option value="1" name="CLAMP_S_WRAP_T"></option>
<option value="2" name="WRAP_S_CLAMP_T"></option>
<option value="3" name="WRAP_S_WRAP_T"></option>
</enum>
<enum name="TexFilterMode" storage="uint">
<option value="0" name="FILTER_NEAREST"></option>
<option value="1" name="FILTER_BILERP"></option>
<option value="2" name="FILTER_TRILERP"></option>
<option value="3" name="FILTER_NEAREST_MIPNEAREST"></option>
<option value="4" name="FILTER_NEAREST_MIPLERP"></option>
<option value="5" name="FILTER_BILERP_MIPNEAREST"></option>
</enum>
<enum name="VertMode" storage="uint">
<option value="0" name="VERT_MODE_SRC_IGNORE"></option>
<option value="1" name="VERT_MODE_SRC_EMISSIVE"></option>
<option value="2" name="VERT_MODE_SRC_AMB_DIF"></option>
</enum>
<enum name="CycleType" storage="uint">
<option value="0" name="CYCLE_LOOP"></option>
<option value="1" name="CYCLE_REVERSE"></option>
<option value="2" name="CYCLE_CLAMP"></option>
</enum>
<enum name="FieldType" storage="uint">
<option value="0" name="FIELD_WIND"></option>
<option value="1" name="FIELD_POINT"></option>
</enum>
<enum name="BillboardMode" storage="ushort">
<option value="0" name="ALWAYS_FACE_CAMERA"></option>
<option value="1" name="ROTATE_ABOUT_UP"></option>
<option value="2" name="RIGID_FACE_CAMERA"></option>
<option value="3" name="ALWAYS_FACE_CENTER"></option>
<option value="4" name="RIGID_FACE_CENTER"></option>
<option value="5" name="BSROTATE_ABOUT_UP"></option>
<option value="9" name="ROTATE_ABOUT_UP2"></option>
</enum>
<enum name="StencilCompareMode" storage="uint">
<option value="0" name="TEST_NEVER"></option>
<option value="1" name="TEST_LESS"></option>
<option value="2" name="TEST_EQUAL"></option>
<option value="3" name="TEST_LESS_EQUAL"></option>
<option value="4" name="TEST_GREATER"></option>
<option value="5" name="TEST_NOT_EQUAL"></option>
<option value="6" name="TEST_GREATER_EQUAL"></option>
<option value="7" name="TEST_ALWAYS"></option>
</enum>
<enum name="ZCompareMode" storage="uint">
<option value="0" name="ZCOMP_ALWAYS"></option>
<option value="1" name="ZCOMP_LESS"></option>
<option value="2" name="ZCOMP_EQUAL"></option>
<option value="3" name="ZCOMP_LESS_EQUAL"></option>
<option value="4" name="ZCOMP_GREATER"></option>
<option value="5" name="ZCOMP_NOT_EQUAL"></option>
<option value="6" name="ZCOMP_GREATER_EQUAL"></option>
<option value="7" name="ZCOMP_NEVER"></option>
</enum>
<enum name="StencilAction" storage="uint">
<option value="0" name="ACTION_KEEP" />
<option value="1" name="ACTION_ZERO" />
<option value="2" name="ACTION_REPLACE" />
<option value="3" name="ACTION_INCREMENT" />
<option value="4" name="ACTION_DECREMENT" />
<option value="5" name="ACTION_INVERT" />
</enum>
<enum name="FaceDrawMode" storage="uint">
<option value="0" name="DRAW_CCW_OR_BOTH"></option>
<option value="1" name="DRAW_CCW"></option>
<option value="2" name="DRAW_CW"></option>
<option value="3" name="DRAW_BOTH"></option>
</enum>
<enum name="ForceType" storage="uint">
<option value="0" name="FORCE_PLANAR"></option>
<option value="1" name="FORCE_SPHERICAL"></option>
<option value="2" name="FORCE_UNKNOWN"></option>
</enum>
<enum name="DecayType" storage="uint">
<option value="0" name="DECAY_NONE"></option>
<option value="1" name="DECAY_LINEAR"></option>
<option value="2" name="DECAY_EXPONENTIAL"></option>
</enum>
<enum name="SymmetryType" storage="uint">
<option value="0" name="SPHERICAL_SYMMETRY"></option>
<option value="1" name="CYLINDRICAL_SYMMETRY"></option>
<option value="2" name="PLANAR_SYMMETRY"></option>
</enum>
<enum name="EffectType" storage="uint">
<option value="0" name="TEX_PROJECTED_LIGHT"></option>
<option value="1" name="TEX_PROJECTED_SHADOW"></option>
<option value="2" name="TEX_ENVIRONMENT_MAP"></option>
<option value="3" name="TEX_FOG_MAP"></option>
</enum>
<enum name="CoordGenType" storage="uint">
<option value="0" name="CG_WORLD_PARALLEL"></option>
<option value="1" name="CG_WORLD_PERSPECTIVE"></option>
<option value="2" name="CG_SPHERE_MAP"></option>
<option value="3" name="CG_SPECULAR_CUBE_MAP"></option>
<option value="4" name="CG_DIFFUSE_CUBE_MAP"></option>
</enum>
<enum name="SortingMode" storage="uint">
<option value="0" name="SORTING_INHERIT"></option>
<option value="1" name="SORTING_OFF"></option>
<option value="2" name="SORTING_SUBSORT"></option>
<option value="64" name="SORTING_GROUPED"></option>
</enum>
<enum name="PropagationMode" storage="uint">
<option value="0" name="PROPAGATE_ON_SUCCESS"></option>
<option value="1" name="PROPAGATE_ON_FAILURE"></option>
<option value="2" name="PROPAGATE_ALWAYS"></option>
<option value="3" name="PROPAGATE_NEVER"></option>
</enum>
<enum name="BoundVolumeType" storage="uint">
<option value="0xffffffff" name="BASE_BV"></option>
<option value="0" name="SPHERE_BV"></option>
<option value="1" name="Box_BV"></option>
<option value="2" name="Capsule_BV"></option>
<option value="3" name="Lozenge_BV"></option>
<option value="4" name="Union_BV"></option>
<option value="5" name="HalfSpace_BV"></option>
</enum>
<enum name="DitherFlags" storage="ushort">
<option value="0" name="Dither_DISABLED" />
<option value="1" name="Dither_ENABLED" />
</enum>
<enum name="SpecularFlags" storage="ushort">
<option value="0" name="SPECULAR_DISABLED" />
<option value="1" name="SPECULAR_ENABLED" />
</enum>
<enum name="ShadeFlags" storage="ushort">
<option value="0" name="DISABLED smoothing (0)" />
<option value="1" name="ENABLED smoothing (1)" />
</enum>
<!--Compounds-->
<compound name="SizedString" niflibtype="string" nifskopetype="sizedstring">
<add name="Length" type="uint"></add>
<add name="Value" type="char" arr1="Length"></add>
</compound>
<compound name="string" niflibtype="IndexString" nifskopetype="string">
<add name="String" type="SizedString" ver2="20.0.0.5"></add>
<add name="Index" type="StringIndex" ver1="20.1.0.3"></add>
</compound>
<compound name="ByteArray" nifskopetype="bytearray">
<add name="Data Size" type="uint"></add>
<add name="Data" type="byte" arr1="Data Size"></add>
</compound>
<compound name="ByteMatrix" nifskopetype="bytematrix">
<add name="Data Size 1" type="uint"></add>
<add name="Data Size 2" type="uint"></add>
<add name="Data" type="byte" arr1="Data Size 2" arr2="Data Size 1"></add>
</compound>
<compound name="Color3" niflibtype="Color3" nifskopetype="color3">
<add name="r" type="float"></add>
<add name="g" type="float"></add>
<add name="b" type="float"></add>
</compound>
<compound name="ByteColor3">
<add name="r" type="byte"></add>
<add name="g" type="byte"></add>
<add name="b" type="byte"></add>
</compound>
<compound name="Color4" niflibtype="Color4" nifskopetype="color4">
<add name="r" type="float"></add>
<add name="g" type="float"></add>
<add name="b" type="float"></add>
<add name="a" type="float"></add>
</compound>
<compound name="ByteColor4"><!-- niflibtype="Color4" nifskopetype="color4" -->
<add name="r" type="byte"></add>
<add name="g" type="byte"></add>
<add name="b" type="byte"></add>
<add name="a" type="byte"></add>
</compound>
<compound name="FilePath" niflibtype="IndexString" nifskopetype="filepath">
<add name="String" type="SizedString" ver2="20.0.0.5"></add>
<add name="Index" type="StringIndex" ver1="20.1.0.3"></add>
</compound>
<compound name="Footer">
<add name="Num Roots" type="uint"></add>
<add name="Roots" type="Ref" template="NiObject" arr1="Num Roots"></add>
</compound>
<compound name="LODRange">
<add name="Near Extent" type="float"></add>
<add name="Far Extent" type="float"></add>
<add name="Unknown Ints" type="uint" arr1="3" ver2="3.1"></add>
</compound>
<compound name="MatchGroup">
<add name="Num Vertices" type="ushort"></add>
<add name="Vertex Indices" type="ushort" arr1="Num Vertices"></add>
</compound>
<compound name="Vector3" niflibtype="Vector3" nifskopetype="vector3">
<add name="x" type="float"></add>
<add name="y" type="float"></add>
<add name="z" type="float"></add>
</compound>
<compound name="Vector4" niflibtype="Vector4" nifskopetype="vector4">
<add name="x" type="float"></add>
<add name="y" type="float"></add>
<add name="z" type="float"></add>
<add name="w" type="float"></add>
</compound>
<compound name="Quaternion" niflibtype="Quaternion" nifskopetype="quaternion">
<add name="w" type="float" default="1.0"></add>
<add name="x" type="float" default="0.0"></add>
<add name="y" type="float" default="0.0"></add>
<add name="z" type="float" default="0.0"></add>
</compound>
<compound name="QuaternionXYZW" nifskopetype="quaternion_xyzw">
<add name="x" type="float" default="0.0"></add>
<add name="y" type="float" default="0.0"></add>
<add name="z" type="float" default="0.0"></add>
<add name="w" type="float" default="1.0"></add>
</compound>
<compound name="Matrix22" niflibtype="Matrix22">
<add name="m11" type="float" default="1.0"></add>
<add name="m21" type="float" default="0.0"></add>
<add name="m12" type="float" default="0.0"></add>
<add name="m22" type="float" default="1.0"></add>
</compound>
<compound name="Matrix33" niflibtype="Matrix33" nifskopetype="matrix33">
<add name="m11" type="float" default="1.0"></add>
<add name="m21" type="float" default="0.0"></add>
<add name="m31" type="float" default="0.0"></add>
<add name="m12" type="float" default="0.0"></add>
<add name="m22" type="float" default="1.0"></add>
<add name="m32" type="float" default="0.0"></add>
<add name="m13" type="float" default="0.0"></add>
<add name="m23" type="float" default="0.0"></add>
<add name="m33" type="float" default="1.0"></add>
</compound>
<compound name="Matrix44" niflibtype="Matrix44" nifskopetype="matrix44">
<add name="m11" type="float" default="1.0"></add>
<add name="m21" type="float" default="0.0"></add>
<add name="m31" type="float" default="0.0"></add>
<add name="m41" type="float" default="0.0"></add>
<add name="m12" type="float" default="0.0"></add>
<add name="m22" type="float" default="1.0"></add>
<add name="m32" type="float" default="0.0"></add>
<add name="m42" type="float" default="0.0"></add>
<add name="m13" type="float" default="0.0"></add>
<add name="m23" type="float" default="0.0"></add>
<add name="m33" type="float" default="1.0"></add>
<add name="m43" type="float" default="0.0"></add>
<add name="m14" type="float" default="0.0"></add>
<add name="m24" type="float" default="0.0"></add>
<add name="m34" type="float" default="0.0"></add>
<add name="m44" type="float" default="1.0"></add>
</compound>
<compound name="Vector3REF" niflibtype="Vector3" nifskopetype="vector3">
<add name="x" type="float" default="0.0"></add>
<add name="y" type="float" default="0.0"></add>
<add name="z" type="float" default="1.0"></add>
</compound>
<compound name="Vector3REF2" niflibtype="Vector3" nifskopetype="vector3">
<add name="x" type="float" default="1.0"></add>
<add name="y" type="float" default="0.0"></add>
<add name="z" type="float" default="0.0"></add>
</compound>
<compound name="Vector3REF3" niflibtype="Vector3" nifskopetype="vector3">
<add name="x" type="float" default="0.0"></add>
<add name="y" type="float" default="1.0"></add>
<add name="z" type="float" default="0.0"></add>
</compound>
<compound name="Vector3REF4" niflibtype="Vector3" nifskopetype="vector3">
<add name="x" type="float" default="0.0"></add>
<add name="y" type="float" default="0.0"></add>
<add name="z" type="float" default="1.0"></add>
</compound>
<compound name="Matrix3REF">
<add name="X" type="Vector3REF2"></add>
<add name="Y" type="Vector3REF3"></add>
<add name="Z" type="Vector3REF4"></add>
</compound>
<compound name="Matrix33REF">
<add name="X1" type="float" default="1.0"></add>
<add name="Y1" type="float" default="0.0"></add>
<add name="Z1" type="float" default="0.0"></add>
<add name="X2" type="float" default="0.0"></add>
<add name="Y2" type="float" default="1.0"></add>
<add name="Z2" type="float" default="0.0"></add>
<add name="X3" type="float" default="0.0"></add>
<add name="Y3" type="float" default="0.0"></add>
<add name="Z3" type="float" default="1.0"></add>
</compound>
<compound name="MipMap">
<add name="Width" type="uint"></add>
<add name="Height" type="uint"></add>
<add name="Offset" type="uint"></add>
</compound>
<compound name="AVObject">
<add name="Name" type="SizedString">Object name.</add>
<add name="AV Object" type="Ptr" template="NiAVObject">Object reference.</add>
</compound>
<!-- Don't use vercond in Header, it breaks niflib -->
<compound name="Header">
<add name="Header String" type="HeaderString"></add>
<add name="Copyright" type="LineString" arr1="3" ver2="3.1" />
<add name="Version" type="FileVersion" default="0x04000002" ver1="3.3.0.13"></add>
<add name="Num Blocks" type="ulittle32" ver1="3.3.0.13"></add>
<add name="User Version 2" type="ulittle32" default="0" cond="(User Version >= 10) || ((User Version == 1) && (Version != 10.2.0.0))" ver1="10.1.0.0"></add>
</compound>
<compound name="StringPalette" nifskopetype="stringpalette">
<add name="Palette" type="SizedString"></add>
<add name="Length" type="uint"></add>
</compound>
<compound name="TBC" nifskopetype="vector3">
<add name="t" type="float"></add>
<add name="b" type="float"></add>
<add name="c" type="float"></add>
</compound>
<compound name="TexCoord" niflibtype="TexCoord" nifskopetype="vector2">
<add name="u" type="float"></add>
<add name="v" type="float"></add>
</compound>
<compound name="TexDesc"> <!-- NiTexturingProperty::Map -->
<add name="Source" type="Ref" template="NiSourceTexture"></add>
<add name="Clamp Mode" type="TexClampMode" default="WRAP_S_WRAP_T" ver2="20.0.0.5"></add>
<add name="Filter Mode" type="TexFilterMode" default="FILTER_TRILERP"></add>
<add name="UV Set" type="uint" default="0"></add>
<add name="PS2 L" type="short"></add>
<add name="PS2 K" type="short" default="-75"></add>
<add name="m_spTexture" type="Flags">???</add>
</compound>
<compound name="BumpMap"> <!-- NiTexturingProperty::BumpMap -->
<add name="Source" type="Ref" template="NiSourceTexture"></add>
<add name="Clamp Mode" type="TexClampMode" default="WRAP_S_WRAP_T"></add>
<add name="Filter Mode" type="TexFilterMode" default="FILTER_TRILERP"></add>
<add name="UV Set" type="uint"></add>
<add name="PS2 L" type="short"></add>
<add name="PS2 K" type="short" default="-75"></add>
<add name="Unknown1" type="byte"></add>
<add name="Unknown2" type="byte"></add>
<add name="Luma Scale" type="float"></add>
<add name="Luma Offset" type="float"></add>
<add name="Displacement" type="Matrix22"></add>
</compound>
<compound name="Triangle" niflibtype="Triangle" nifskopetype="triangle">
<add name="v1" type="ushort"></add>
<add name="v2" type="ushort"></add>
<add name="v3" type="ushort"></add>
</compound>
<compound name="Partition">
<add name="Num Vertices" type="ushort"></add>
<add name="Num Triangles" type="ushort"></add>
<add name="Num Bones" type="ushort"></add>
<add name="Num Strip Lengths" type="ushort"></add>
<add name="Num Bones Per Vertex" type="ushort"></add>
<add name="Bones" type="ushort" arr1="Num Bones"></add>
<add name="Vertex Map" type="ushort" arr1="Num Vertices"></add>
<add name="Weights" type="float" arr1="Num Bones Per Vertex" arr2="Num Vertices"></add>
<add name="Triangles" type="Triangle" cond="Num Triangles" arr1="Num Triangles"></add>
<add name="Strip Lengths" type="ushort" cond="Num Strip Lengths" arr1="Num Strip Lengths"></add>
<add name="Strips" type="ushort" cond="Num Strip Lengths" arr1="Num Strip Lengths" arr2="Strip Lengths"></add>
<add name="Has Bone Palette" type="byte"></add>
<add name="Bone Palette" type="byte" cond="Has Bone Palette" arr1="Num Bones Per Vertex" arr2="Num Vertices"></add>
</compound>
<compound name="Particle">
<add name="Velocity" type="Vector3"></add>
<add name="Unknown Vector" type="Vector3"></add>
<add name="Lifetime" type="float"></add>
<add name="Lifespan" type="float"></add>
<add name="Timestamp" type="float"></add>
<add name="Unknown Short" type="ushort" default="0"></add>
<add name="Vertex ID" type="ushort"></add>
</compound>
<compound name="NiTransform">
<add name="Rotation" type="Matrix33"></add>
<add name="Translation" type="Vector3"></add>
<add name="Scale" type="float" default="1.0"></add>
</compound>
<compound name="BoneVertData">
<add name="Index" type="ushort"></add>
<add name="Weight" type="float"></add>
</compound>
<compound name="BoneData">
<add name="Skin Transform" type="NiTransform"></add>
<add name="Center" type="Vector3"></add>
<add name="Radius" type="float"></add>
<add name="Num Vertices" type="ushort"></add>
<add name="Vertex Weights" type="BoneVertData" arr1="Num Vertices"></add>
</compound>
<compound name="SkinTransform">
<add name="Rotation" type="Matrix33"></add>
<add name="Translation" type="Vector3"></add>
<add name="Scale" type="float" default="1.0"></add>
</compound>
<compound name="InertiaMatrix" niflibtype="InertiaMatrix">
<add name="m11" type="float" />
<add name="m12" type="float" />
<add name="m13" type="float" />
<add name="m14" type="float"></add>
<add name="m21" type="float" />
<add name="m22" type="float" />
<add name="m23" type="float" />
<add name="m24" type="float"></add>
<add name="m31" type="float" />
<add name="m32" type="float" />
<add name="m33" type="float" />
<add name="m34" type="float"></add>
</compound>
<compound name="Key" istemplate="1">
<add name="Time" type="float"></add>
<add name="Value" type="TEMPLATE"></add>
<add name="Forward" type="TEMPLATE" cond="ARG == 2"></add>
<add name="Backward" type="TEMPLATE" cond="ARG == 2"></add>
<add name="TBC" type="TBC" cond="ARG == 3"></add>
</compound>
<compound name="KeyGroup" istemplate="1">
<add name="Num Keys" type="uint"></add>
<add name="Interpolation" type="KeyType" default="1" cond="Num Keys != 0"></add>
<add name="Keys" type="Key" arg="Interpolation" template="TEMPLATE" arr1="Num Keys"></add>
</compound>
<compound name="Morph">
<add name="Num Keys" type="uint"></add>
<add name="Interpolation" type="KeyType" default="1"></add>
<add name="Keys" type="Key" arg="Interpolation" template="float" arr1="Num Keys"></add>
<add name="Vectors" type="Vector3" arr1="ARG"></add>
</compound>
<compound name="NiBound">
<add name="Center" type="Vector3"></add>
<add name="Radius" type="float"></add>
</compound>
<compound name="BoundingBox">
<add name="Type" type="uint" default="1"></add>
<add name="Translation" type="Vector3"></add>
<add name="Rotation" type="Matrix33"></add>
<add name="Radius" type="Vector3"></add>
</compound>
<compound name="BoxBV">
<add name="Translation" type="Vector3"></add>
<add name="Rotation" type="Matrix33"></add>
<add name="Radius" type="Vector3"></add>
</compound>
<compound name="SphereBv">
<add name="Center" type="Vector3"></add>
<add name="Radius" type="float"></add>
</compound>
<compound name="UnionBV">
<add name="Num BV" type="uint" />
<add name="Bounding Volumes" type="BoundingBox" arr1="Num BV"></add>
</compound>
<compound name="LozengeBV">
<add name="Center" type="Vector3"></add>
<add name="Axis0" type="Vector3"></add>
<add name="Axis1" type="Vector3"></add>
<add name="High" type="float"></add>
<add name="Extent0" type="float" ver1="4.2.0.2"></add>
<add name="Extent0" type="float" ver1="4.2.0.2"></add>
</compound>
<compound name="CapsuleBV">
<add name="Center" type="Vector3"></add>
<add name="Axis" type="Vector3"></add>
<add name="Extent" type="float"></add>
<add name="Radius" type="float"></add>
</compound>
<compound name="HalfSpaceBV">
<add name="Plane" type="NiPlane"></add>
<add name="High" type="Vector3" ver1="4.2.0.2"></add>
</compound>
<compound name="BoundingVolume">
<add name="Collision Type" type="BoundVolumeType"></add>
<add name="Sphere" type="SphereBv" cond="Collision Type == 0" />
<add name="Box" type="BoxBV" cond="Collision Type == 1" />
<add name="Capsule" type="CapsuleBV" cond="Collision Type == 2" />
<add name="Lozenge" type="LozengeBV" cond="Collision Type == 3" />
<add name="Union BV" type="UnionBV" cond="Collision Type == 4" />
<add name="HalfSpace BV" type="HalfSpaceBV" cond="Collision Type == 5" />
</compound>
<compound name="BoundingTypes">
<add name="Collision Type" type="BoundVolumeType"></add>
<add name="Box" type="BoxBV" cond="Collision Type == 1" />
<add name="Sphere" type="SphereBv" cond="Collision Type == 0" />
<add name="Capsule" type="CapsuleBV" cond="Collision Type == 2" />
<add name="Lozenge" type="LozengeBV" cond="Collision Type == 3" />
<add name="Union BV" type="UnionBV" cond="Collision Type == 4" />
<add name="HalfSpace BV" type="HalfSpaceBV" cond="Collision Type == 5" />
</compound>
<compound name="NiPixelFormat">
<add name="Pixel Format" type="PixelFormat"></add>
<add name="Color Masks" type="uint" arr1="4"></add>
<add name="Bits Per Pixel" type="uint"></add>
<add name="Old Fast Compare" type="byte" arr1="8"></add>
</compound>
<compound name="Polygon">
<add name="Num Vertices" type="ushort"></add>
<add name="Vertex Offset" type="ushort"></add>
<add name="Num Triangles" type="ushort"></add>
<add name="Triangle Offset" type="ushort"></add>
</compound>
<compound name="NiPlane" size="16">
<add name="Normal" type="Vector3"></add>
<add name="Distance" type="float"></add>
</compound>
<compound name="NiPlaneREF">
<add name="Rotation XYZ" type="Vector3REF"></add>
<add name="Area Size" type="float"></add>
</compound>
<compound name="NiPlaneBS" size="16">
<add name="Rotation XYZ" type="Vector3"></add>
<add name="Area Size" type="float"></add>
</compound>
<compound name="QuatKey" niflibtype="Key" istemplate="1"><!-- TEMPLATE should always be Quaternion -->
<add name="Time" type="float" ver2="10.1.0.0">Time the key applies.</add>
<add name="Time" type="float" cond="ARG != 4" ver1="10.1.0.106">Time the key applies.</add>
<add name="Value" type="TEMPLATE" cond="ARG != 4">Value of the key.</add>
<add name="TBC" type="TBC" cond="ARG == 3">The TBC of the key.</add>
</compound>
<compound name="NameControllerPair">
<add name="Name" type="string"></add>
<add name="Controller" type="Ptr" template="NiKeyframeController"></add>
</compound>
<compound name="NiSequenceMW">
<add name="Sequence Name" type="string"></add>
<add name="Use External" type="byte"></add>
<add name="Keyframe File Name" type="string" cond="Use External != 0"></add>
<add name="unknown int" type="int" cond="Use External == 0"></add>
<add name="unknown object" type="Ptr" template="NiObject" cond="Use External == 0"></add>
<add name="Num Name Controller Pairs" type="uint"></add>
<add name="Name Controller Pairs" type="NameControllerPair" arr1="Num Name Controller Pairs"></add>
</compound>
<!-- NIF Objects-->
<!-- Objects-->
<niobject name="NiObject" abstract="1">
</niobject>
<niobject name="NiObjectNET" abstract="1" inherit="NiObject">
<add name="Name" type="string"></add>
<add name="Extra Data" type="Ref" template="NiExtraData" ver1="3.0" ver2="4.2.2.0"></add>
<add name="Controller" type="Ref" template="NiTimeController" ver1="3.0"></add>
</niobject>
<niobject name="NiAVObject" abstract="1" inherit="NiObjectNET">
<add name="Flags" type="Flags"></add>
<add name="Translation" type="Vector3"></add>
<add name="Rotation" type="Matrix33"></add>
<add name="Scale" type="float" default="1.0"></add>
<add name="Velocity" type="Vector3"></add>
<add name="Num Properties" type="uint"></add>
<add name="Properties" type="Ref" template="NiProperty" arr1="Num Properties"></add>
<add name="Has Bounding Box" type="bool"></add>
<add name="Bounding Box" type="BoundingBox" cond="Has Bounding Box">replace BoundingBox to BoundingTypes to see all types</add>
</niobject>
<niobject name="NiCamera" abstract="0" inherit="NiAVObject">
<add name="Frustum Left" type="float"></add>
<add name="Frustum Right" type="float"></add>
<add name="Frustum Top" type="float"></add>
<add name="Frustum Bottom" type="float"></add>
<add name="Frustum Near" type="float"></add>
<add name="Frustum Far" type="float"></add>
<add name="Viewport Left" type="float"></add>
<add name="Viewport Right" type="float"></add>
<add name="Viewport Top" type="float"></add>
<add name="Viewport Bottom" type="float"></add>
<add name="LOD Adjust" type="float"></add>
<add name="Scene" type="Ref" template="NiNode"></add>
<add name="Num Screen Polygons" type="uint"></add>
<add name="Screen Polygons" type="Ref" template="NiScreenPolygon" arr1="Num Screen Polygons"></add>
</niobject>
<niobject name="NiDynamicEffect" abstract="1" inherit="NiAVObject">
<add name="Num Affected Nodes" type="uint"></add>
<add name="Affected Nodes" type="int" arr1="Num Affected Nodes"></add>
</niobject>
<niobject name="NiTimeController" abstract="1" inherit="NiObject">
<add name="Next Controller" type="Ref" template="NiTimeController"></add>
<add name="Flags" type="Flags"></add>
<add name="Frequency" type="float" default="1.0"></add>
<add name="Phase" type="float"></add>
<add name="Start Time" type="float"></add>
<add name="Stop Time" type="float"></add>
<add name="Target" type="Ptr" template="NiObjectNET"></add>
</niobject>
<niobject name="NiScreenPolygon" abstract="0" inherit="NiObject">
<add name="Num Vertices" type="ushort"></add>
<add name="Vertices" type="Vector3" arr1="Num Vertices"></add>
<add name="Has UV" type="bool"></add>
<add name="UV Sets" type="TexCoord" arr1="Num Vertices" cond="Has UV"></add>
<add name="Has Vertex Colors" type="bool"></add>
<add name="Vertex Colors" type="Color4" arr1="Num Vertices" cond="Has Vertex Colors"></add>
<add name="Num Property States" type="uint"></add>
<add name="Property States" type="int" arr1="Num Property States"></add>
</niobject>
<niobject name="NiExtraData" abstract="1" inherit="NiObject">
<add name="Next Extra Data" type="Ref" template="NiExtraData"></add>
<add name="Bytes Remaining" type="uint"></add>
</niobject>
<niobject name="NiTexture" abstract="1" inherit="NiObjectNET">
</niobject>
<niobject name="NiSequenceStreamHelper" abstract="0" inherit="NiObjectNET">
</niobject>
<!--???
<niobject name="NiInterpolator" abstract="1" inherit="NiObject">
</niobject>
-->
<!-- NIF renderer no use-->
<niobject name="NiRenderer" abstract="1" inherit="NiObject">
</niobject>
<niobject name="NiDX8Renderer" abstract="1" inherit="NiRenderer">
</niobject>
<!-- NIF Objects-->
<!-- properties -->
<niobject name="NiProperty" abstract="1" inherit="NiObjectNET">
</niobject>
<niobject name="NiSpecularProperty" abstract="0" inherit="NiProperty">
<add name="Flags" type="SpecularFlags"></add>
</niobject>
<niobject name="NiDitherProperty" abstract="0" inherit="NiProperty">
<add name="Flags" type="DitherFlags"></add>
</niobject>
<niobject name="NiShadeProperty" abstract="0" inherit="NiProperty">
<add name="Flags" type="ShadeFlags"></add>
</niobject>
<niobject name="NiZBufferProperty" abstract="0" inherit="NiProperty">
<add name="Flags" type="Flags" default="3"></add>
<add name="Function" type="ZCompareMode" default="ZCOMP_LESS_EQUAL" ver1="4.1.0.12" ver2="20.0.0.5">
</add>
</niobject>
<niobject name="NiFogProperty" abstract="0" inherit="NiProperty">
<add name="Flags" type="Flags"></add>
<add name="Fog Depth" type="float" default="0.8000"></add>
<add name="Fog Color" type="Color3" default="#VEC3_ZERO#"></add>
</niobject>
<niobject name="NiAlphaProperty" abstract="0" inherit="NiProperty">
<add name="Flags" type="Flags" default="4845"></add>
<add name="Threshold" type="byte"></add>
</niobject>
<niobject name="NiMaterialProperty" abstract="0" inherit="NiProperty">
<add name="Flags" type="Flags" default="4"></add>
<add name="Ambient Color" type="Color3" default="#VEC3_ZERO#"></add>
<add name="Diffuse Color" type="Color3" default="#VEC3_ZERO#"></add>
<add name="Specular Color" type="Color3" default="#VEC3_ZERO#"></add>
<add name="Emissive Color" type="Color3" default="#VEC3_ZERO#"></add>
<add name="Glossiness" type="float" default="10.0"></add>
<add name="Alpha" type="float" default="1.0"></add>
</niobject>
<niobject name="NiStencilProperty" abstract="0" inherit="NiProperty">
<add name="Flags" type="Flags"></add>
<add name="Stencil Enabled" type="byte"></add>
<add name="Stencil Function" type="StencilCompareMode"></add>
<add name="Stencil Ref" type="uint"></add>
<add name="Stencil Mask" type="uint" default="4294967295"></add>
<add name="Fail Action" type="StencilAction"></add>
<add name="Z Fail Action" type="StencilAction"></add>
<add name="Pass Action" type="StencilAction"></add>
<add name="Draw Mode" default="DRAW_BOTH" type="FaceDrawMode"></add>
</niobject>
<niobject name="NiTexturingProperty" abstract="0" inherit="NiProperty">
<add name="Flags" type="Flags"></add>
<add name="Apply Mode" type="ApplyMode" default="APPLY_MODULATE"></add>
<add name="Texture Count" type="uint" default="7"></add>
<add name="Has Base Texture" type="bool"></add>
<add name="Base Texture" type="TexDesc" cond="Has Base Texture"></add>
<add name="Has Dark Texture" type="bool"></add>
<add name="Dark Texture" type="TexDesc" cond="Has Dark Texture"></add>
<add name="Has Detail Texture" type="bool"></add>
<add name="Detail Texture" type="TexDesc" cond="Has Detail Texture"></add>
<add name="Has Gloss Texture" type="bool"></add>
<add name="Gloss Texture" type="TexDesc" cond="Has Gloss Texture"></add>
<add name="Has Glow Texture" type="bool"></add>
<add name="Glow Texture" type="TexDesc" cond="Has Glow Texture"></add>
<add name="Has Bump Map Texture" type="bool" cond="Texture Count > 5"></add>
<add name="Bump Map Texture" type="BumpMap" cond="Has Bump Map Texture"></add>
<add name="Has Decal 0 Texture" type="bool" cond="Texture Count > 6"></add>
<add name="Decal 0 Texture" type="TexDesc" cond="Has Decal 0 Texture"></add>
<add name="Has Decal 1 Texture" type="bool" cond="Texture Count > 7"></add>
<add name="Decal 1 Texture" type="TexDesc" cond="Has Decal 1 Texture"></add>
<add name="Has Decal 2 Texture" type="bool" cond="Texture Count > 8"></add>
<add name="Decal 2 Texture" type="TexDesc" cond="Has Decal 2 Texture"></add>
<add name="Has Decal 3 Texture" type="bool" cond="Texture Count > 9"></add>
<add name="Decal 3 Texture" type="TexDesc" cond="Has Decal 3 Texture"></add>
<add name="Has Decal 4 Texture" type="bool" cond="Texture Count > 10"></add>
<add name="Decal 4 Texture" type="TexDesc" cond="Has Decal 4 Texture"></add>
<add name="Has Decal 5 Texture" type="bool" cond="Texture Count > 11"></add>
<add name="Decal 5 Texture" type="TexDesc" cond="Has Decal 5 Texture"></add>
<add name="Has Decal 6 Texture" type="bool" cond="Texture Count > 12"></add>
<add name="Decal 6 Texture" type="TexDesc" cond="Has Decal 6 Texture"></add>
<add name="Has Decal 7 Texture" type="bool" cond="Texture Count > 13"></add>
<add name="Decal 7 Texture" type="TexDesc" cond="Has Decal 7 Texture"></add>
<add name="Has Decal 8 Texture" type="bool" cond="Texture Count > 14"></add>
<add name="Decal 8 Texture" type="TexDesc" cond="Has Decal 8 Texture"></add>
<add name="Has Decal 9 Texture" type="bool" cond="Texture Count > 15"></add>
<add name="Decal 9 Texture" type="TexDesc" cond="Has Decal 9 Texture"></add>
<add name="Has Decal 10 Texture" type="bool" cond="Texture Count > 16"></add>
<add name="Decal 10 Texture" type="TexDesc" cond="Has Decal 10 Texture"></add>
<add name="Has Decal 11 Texture" type="bool" cond="Texture Count > 17"></add>
<add name="Decal 11 Texture" type="TexDesc" cond="Has Decal 11 Texture"></add>
</niobject>
<niobject name="NiVertexColorProperty" abstract="0" inherit="NiProperty">
<add name="Flags" type="Flags"></add>
<add name="Vertex Mode" type="VertMode"></add>
<add name="Lighting Mode" type="LightMode"></add>
</niobject>
<niobject name="NiWireframeProperty" abstract="0" inherit="NiProperty">
<add name="Flags" type="Flags"></add>
</niobject>
<niobject name="NiRendererSpecificProperty" abstract="0" inherit="NiProperty">
<add name="Flags" type="Flags"></add>
</niobject>
<!-- NIF Objects-->
<!-- ExtraData -->
<niobject name="NiStringExtraData" abstract="0" inherit="NiExtraData">
<add name="String Data" type="string"></add>
</niobject>
<niobject name="NiTextKeyExtraData" abstract="0" inherit="NiExtraData">
<add name="Num Text Keys" type="uint"></add>
<add name="Text Keys" type="Key" arg="1" template="string" arr1="Num Text Keys"></add>
</niobject>
<niobject name="NiVertWeightsExtraData" abstract="0" inherit="NiExtraData">
<add name="Num Weights" type="ushort"></add>
<add name="Weight" type="float" arr1="Num Weights"></add>
</niobject>
<!-- ExtraExtraData -->
<niobject name="BrickNiExtraData" abstract="1" inherit="NiExtraData">
DO NOT INSERT THIS STUFF!!! ONLY FOR LOAD CAPTURED (via MWSE) NIF FILES!!!
<add name="String" type="string"></add>
</niobject>
<niobject name="TES3ObjectExtraData" abstract="1" inherit="NiExtraData">
DO NOT INSERT THIS STUFF!!! ONLY FOR LOAD CAPTURED (via MWSE) NIF FILES!!!
<add name="String" type="string"></add>
</niobject>
<!-- NIF Objects-->
<!-- textures -->
<niobject name="NiSourceTexture" abstract="0" inherit="NiTexture">
<add name="Use External" type="byte" default="1"></add>
<add name="File Name" type="FilePath" cond="Use External != 0"></add>
<add name="Has Pixel Data" type="byte" default="1" cond="Use External == 0"></add>
<add name="Pixel Data" type="Ref" template="NiPixelData" cond="Has Pixel Data"></add>
<add name="Pixel Layout" type="PixelLayout"></add>
<add name="Use Mipmaps" type="MipMapFormat"></add>
<add name="Alpha Format" type="AlphaFormat"></add>
<add name="Is Static" type="byte" default="1"></add>
</niobject>
<niobject name="NiRenderedTexture" abstract="1" inherit="NiTexture">
</niobject>
<niobject name="NiRenderedCubeMap" abstract="1" inherit="NiRenderedTexture">
</niobject>
<!-- NIF Objects-->
<!-- NODES -->
<niobject name="NiNode" abstract="0" inherit="NiAVObject">
<add name="Num Children" type="uint"></add>
<add name="Children" type="Ref" template="NiAVObject" arr1="Num Children"></add>
<add name="Num Effects" type="uint"></add>
<add name="Effects" type="Ref" template="NiDynamicEffect" arr1="Num Effects"></add>
</niobject>
<niobject name="AvoidNode" abstract="0" inherit="NiNode">
</niobject>
<niobject name="NiBillboardNode" abstract="0" inherit="NiNode">
</niobject>
<niobject name="NiBSAnimationNode" abstract="0" inherit="NiNode">
</niobject>
<niobject name="NiBSParticleNode" abstract="0" inherit="NiBSAnimationNode">
</niobject>
<niobject name="NiSwitchNode" abstract="0" inherit="NiNode">
<add name="Active Index" type="uint"></add>
</niobject>
<niobject name="NiLODNode" abstract="0" inherit="NiSwitchNode">
<add name="LOD Center" type="Vector3"></add>
<add name="Num LOD Levels" type="uint"></add>
<add name="LOD Levels" type="LODRange" arr1="Num LOD Levels"></add>
</niobject>
<niobject name="RootCollisionNode" abstract="0" inherit="NiNode">
</niobject>
<niobject name="NiCollisionSwitch" abstract="0" inherit="NiNode">
</niobject>
<niobject name="NiSortAdjustNode" abstract="0" inherit="NiNode">
<add name="Sorting Mode" type="SortingMode" default="SORTING_INHERIT"></add>
<add name="Accumulator" type="Ref" template="NiAccumulator"></add>
</niobject>
<niobject name="NiFltAnimationNode" abstract="0" inherit="NiSwitchNode">
<add name="Period" type="float"></add>
</niobject>
<niobject name="NiBSPNode" abstract="0" inherit="NiNode">
<add name="Model Plane" type="NiPlaneBS"></add>
</niobject>
<niobject name="NiBSAnimationManager" abstract="1" inherit="NiNode">
</niobject>
<niobject name="BSMirroredNode" abstract="1" inherit="NiNode">
DONOT INSERT THIS STUFF!!! ONLY FOR LOAD CAPTURED (via MWSE) NIF FILES!!!
</niobject>
<!-- NIF Objects-->
<!-- Geomerty -->
<niobject name="NiGeometryData" abstract="1" inherit="NiObject">
<add name="Num Vertices" type="ushort"></add>
<add name="Has Vertices" type="bool"></add>
<add name="Vertices" type="Vector3" arr1="Num Vertices" cond="Has Vertices"></add>
<add name="Has Normals" type="bool"></add>
<add name="Normals" type="Vector3" arr1="Num Vertices" cond="Has Normals"></add>
<add name="Center" type="Vector3"></add>
<add name="Radius" type="float"></add>
<add name="Has Vertex Colors" type="bool"></add>
<add name="Vertex Colors" type="Color4" arr1="Num Vertices" cond="Has Vertex Colors"></add>
<add name="Num UV Sets" type="ushort"></add>
<add name="Has UV" type="bool"></add>
<add name="UV Sets" type="TexCoord" cond="Has UV" arr1="Num UV Sets" arr2="Num Vertices"></add>
</niobject>
<niobject name="NiGeometry" abstract="1" inherit="NiAVObject">
<add name="Geometry Data" type="Ref" template="NiGeometryData"></add>
<add name="Skin Instance" type="Ref" template="NiSkinInstance"></add>
</niobject>
<niobject name="NiTriBasedGeom" abstract="1" inherit="NiGeometry">
</niobject>
<niobject name="NiTriBasedGeomData" abstract="1" inherit="NiGeometryData">
<add name="Num Triangles" type="ushort"></add>
</niobject>
<niobject name="NiLines" abstract="0" inherit="NiGeometry">
</niobject>
<niobject name="NiTriShape" abstract="0" inherit="NiTriBasedGeom">
</niobject>
<niobject name="NiTriStrips" abstract="0" inherit="NiTriBasedGeom">
</niobject>
<niobject name="NiTriShapeData" abstract="0" inherit="NiTriBasedGeomData">
<add name="Num Triangle Points" type="uint"></add>
<add name="Triangles" type="Triangle" arr1="Num Triangles"></add>
<add name="Num Match Groups" type="ushort"></add>
<add name="Match Groups" type="MatchGroup" arr1="Num Match Groups"></add>
</niobject>
<niobject name="NiTriStripsData" abstract="0" inherit="NiTriBasedGeomData">
<add name="Num Strips" type="ushort"></add>
<add name="Strip Lengths" type="ushort" arr1="Num Strips"></add>
<add name="Points" type="ushort" arr1="Num Strips" arr2="Strip Lengths"></add>
</niobject>
<niobject name="NiTriShapeDynamicData" abstract="0" inherit="NiTriShapeData">
<add name="Active Vertices" type="ushort"></add>
<add name="Active Triangles" type="ushort"></add>
</niobject>
<niobject name="NiLinesData" abstract="0" inherit="NiGeometryData">
<add name="Lines" type="byte" arr1="Num Vertices"></add>
</niobject>
<!-- Particles -->
<niobject name="NiParticles" abstract="0" inherit="NiGeometry">
</niobject>
<!-- NIF Objects-->
<!-- Particles -->
<niobject name="NiParticlesData" abstract="0" inherit="NiGeometryData">
<add name="Num Particles" type="ushort"></add>
<add name="Particle Radius" type="float"></add>
<add name="Num Active" type="ushort"></add>
<add name="Has Sizes" type="bool"></add>
<add name="Sizes" type="float" arr1="Num Vertices" cond="Has Sizes"></add>
</niobject>
<niobject name="NiAutoNormalParticles" abstract="0" inherit="NiParticles">
</niobject>
<niobject name="NiRotatingParticles" abstract="0" inherit="NiParticles">
</niobject>
<niobject name="NiParticleMeshes" abstract="1" inherit="NiParticles">
</niobject>
<niobject name="NiRotatingParticlesData" abstract="0" inherit="NiParticlesData">
<add name="Has Rotations" type="bool"></add>
<add name="Rotations" type="Quaternion" arr1="Num Vertices" cond="Has Rotations"></add>
</niobject>
<niobject name="NiAutoNormalParticlesData" abstract="0" inherit="NiParticlesData">
</niobject>
<niobject name="NiParticleMeshesData" abstract="1" inherit="NiRotatingParticlesData">
<add name="Node Link" type="Ref" template="NiAVObject"></add>
</niobject>
<!-- Particles modifier -->
<niobject name="NiParticleModifier" abstract="1" inherit="NiObject">
<add name="Next Modifier" type="Ref" template="NiParticleModifier"></add>
<add name="Controller" type="Ptr" template="NiParticleSystemController"></add>
</niobject>
<niobject name="NiParticleMeshModifier" abstract="1" inherit="NiParticleModifier">
<add name="Num Particle Meshes" type="uint"></add>
<add name="Particle Meshes" arr1="Num Particle Meshes" type="Ref" template="NiAVObject"></add>
</niobject>
<niobject name="NiGravity" abstract="0" inherit="NiParticleModifier">
<add name="Decay" type="float"></add>
<add name="Strength" type="float"></add>
<add name="ForceType" type="ForceType"></add>
<add name="Position" type="Vector3"></add>>
<add name="Direction" type="Vector3"></add>
</niobject>
<niobject name="NiParticleRotation" abstract="0" inherit="NiParticleModifier">
<add name="Random Initial Axis" type="byte"></add>
<add name="Initial Axis" type="Vector3"></add>
<add name="Rotation Speed" type="float"></add>
</niobject>
<niobject name="NiParticleBomb" abstract="0" inherit="NiParticleModifier">
<add name="Decay" type="float"></add>
<add name="Duration" type="float"></add>
<add name="DeltaV" type="float"></add>
<add name="Start Time" type="float"></add>
<add name="Decay Type" type="DecayType"></add>
<add name="Symmetry Type" type="SymmetryType"></add>
<add name="Position" type="Vector3"></add>
<add name="Direction" type="Vector3"></add>
</niobject>
<niobject name="NiParticleColorModifier" abstract="0" inherit="NiParticleModifier">
<add name="Color Data" type="Ref" template="NiColorData"></add>
</niobject>
<niobject name="NiParticleGrowFade" abstract="0" inherit="NiParticleModifier">
<add name="Grow" type="float"></add>
<add name="Fade" type="float"></add>
</niobject>
<!-- Particles Collider -->
<niobject name="NiParticleCollider" abstract="1" inherit="NiParticleModifier">
<add name="Bounce" type="float"></add>
</niobject>
<niobject name="NiPlanarCollider" abstract="0" inherit="NiParticleCollider">
<add name="Height" type="float"></add>
<add name="Width" type="float"></add>
<add name="Position" type="Vector3"></add>
<add name="X rotation" type="Vector3"></add>
<add name="Y rotation" type="Vector3"></add>
<add name="Plane" type="NiPlane"></add>
</niobject>
<niobject name="NiSphericalCollider" abstract="0" inherit="NiParticleCollider">
<add name="Radius" type="float" />
<add name="Position" type="Vector3" />
</niobject>
<!-- Particles controllers -->
<niobject name="NiParticleSystemController" abstract="0" inherit="NiTimeController">
<add name="Speed" type="float"></add>
<add name="Speed Variation" type="float"></add>
<add name="Vertical Direction" type="float"></add>
<add name="Vertical Angle" type="float"></add>
<add name="Horizontal Direction" type="float"></add>
<add name="Horizontal Angle" type="float"></add>
<add name="Initial Normal" type="Vector3"></add>
<add name="Initial Color" type="Color4"></add>
<add name="Size" type="float" default="1.0"></add>
<add name="Emit Start Time" type="float"></add>
<add name="Emit Stop Time" type="float"></add>
<add name="Reset Particle System" type="byte"></add>
<add name="Birth Rate" type="float"></add>
<add name="Lifetime" type="float"></add>
<add name="Lifetime Variation" type="float"></add>
<add name="Use Birth Rate" type="byte"></add>
<add name="Spawn On Death" type="byte"></add>
<add name="Emitter Width" type="float"></add>
<add name="Emitter Height" type="float"></add>
<add name="Emitter Depth" type="float"></add>
<add name="Emitter" type="Ptr" template="NiAVObject"></add>
<add name="Num Spawn Generations" type="ushort"></add>
<add name="Percentage Spawned" type="float"></add>
<add name="Spawn Multiplier" type="ushort"></add>
<add name="Spawned Speed Chaos" type="float"></add>
<add name="Spawned Speed Direction Chaos" type="float"></add>
<add name="Num Particles" type="ushort"></add>
<add name="Num Valid" type="ushort"></add>
<add name="Particles" type="Particle" arr1="Num Particles"></add>
<add name="Emitter Controller" type="Ref" template="NiTimeController"></add>
<add name="Particle Modifier" type="Ref" template="NiParticleModifier"></add>
<add name="Particle Colliders" type="Ref" template="NiParticleCollider"></add>
<add name="Trailer" type="byte"></add>
</niobject>
<niobject name="NiBSPArrayController" abstract="0" inherit="NiParticleSystemController">
</niobject>
<!-- NIF Objects-->
<!-- NiObject -->
<!-- skinning-->
<niobject name="NiSkinPartition" abstract="0" inherit="NiObject">
<add name="Num Partitions" type="uint"></add>
<add name="Partitions" type="Partition" arr1="Num Partitions"></add>
</niobject>
<niobject name="NiSkinData" abstract="0" inherit="NiObject">
<add name="Skin Transform" type="NiTransform"></add>
<add name="Num Bones" type="uint"></add>
<add name="Skin Partition" type="Ref" template="NiSkinPartition"></add>
<add name="Bone List" type="BoneData" arr1="Num Bones"></add>
</niobject>
<niobject name="NiSkinInstance" abstract="0" inherit="NiObject">
<add name="Data" type="Ref" template="NiSkinData"></add>
<add name="Skeleton Root" type="Ptr" template="NiNode"></add>
<add name="Num Bones" type="uint"></add>
<add name="Bones" type="Ptr" template="NiNode" arr1="Num Bones"></add>
</niobject>
<!-- texture-->
<niobject name="NiPalette" abstract="0" inherit="NiObject">
<add name="Unknown Byte" type="byte"></add>
<add name="Num Entries" type="uint" default="256"></add>
<add name="Palette" type="ByteColor4" arr1="256"></add>
</niobject>
<niobject name="NiPixelData" abstract="0" inherit="NiObject">
<add name="Pixel Format" type="NiPixelFormat"></add>
<add name="Palette" type="Ref" template="NiPalette"></add>
<add name="Num Mipmaps" type="uint"></add>
<add name="Bytes Per Pixel" type="uint"></add>
<add name="Mipmaps" type="MipMap" arr1="Num Mipmaps"></add>
<add name="Num Pixels" type="uint"></add>
<add name="Pixel Data" type="byte" binary="1" arr1="Num Pixels"></add>
</niobject>
<!-- alphaAccumulator -->
<niobject name="NiAccumulator" abstract="1" inherit="NiObject">
</niobject>
<niobject name="NiClusterAccumulator" abstract="0" inherit="NiAccumulator">
</niobject>
<niobject name="NiAlphaAccumulator" abstract="0" inherit="NiAccumulator">
</niobject>
<!-- texture thing no reson to use-->
<niobject name="NiBltSource" abstract="0" inherit="NiObject">
<add name="Use External" type="byte" default="1"></add>
<add name="File Name" type="FilePath" cond="Use External"></add>
<add name="Has Pixel Data" type="byte" default="1" cond="Use External == 0"></add>
<add name="Pixel Data" type="Ref" template="NiPixelData" cond="Has Pixel Data"></add>
</niobject>
<!-- data -->
<niobject name="NiMorphData" abstract="0" inherit="NiObject">
<add name="Num Morphs" type="uint"></add>
<add name="Num Vertices" type="uint"></add>
<add name="Relative Targets" type="byte" default="1"></add>
<add name="Morphs" type="Morph" arg="Num Vertices" arr1="Num Morphs"></add>
</niobject>
<niobject name="NiColorData" abstract="0" inherit="NiObject">
<add name="Data" type="KeyGroup" template="Color4"></add>
</niobject>
<niobject name="NiFloatData" abstract="0" inherit="NiObject">
<add name="Data" type="KeyGroup" template="float"></add>
</niobject>
<niobject name="NiPosData" abstract="0" inherit="NiObject">
<add name="Data" type="KeyGroup" template="Vector3"></add>
</niobject>
<niobject name="NiUVData" abstract="0" inherit="NiObject">
<add name="UV Groups" type="KeyGroup" template="float" arr1="4"></add>
</niobject>
<niobject name="NiVisData" abstract="0" inherit="NiObject">
<add name="Num Keys" type="uint"></add>
<add name="Keys" type="Key" arg="1" template="byte" arr1="Num Keys"></add>
</niobject>
<niobject name="NiKeyframeData" abstract="0" inherit="NiObject">
<add name="Num Rotation Keys" type="uint"></add>
<add name="Rotation Type" type="KeyType" default="1" cond="Num Rotation Keys != 0"></add>
<add name="Quaternion Keys" type="QuatKey" arg="Rotation Type" template="Quaternion" arr1="Num Rotation Keys" cond="Rotation Type != 4"></add>
<add name="Axis Order" type="AxisOrder" cond="Rotation Type == 4"></add>
<add name="XYZ Rotations" type="KeyGroup" template="float" arr1="3" cond="Rotation Type == 4"></add>
<add name="Translations" type="KeyGroup" template="Vector3"></add>
<add name="Scales" type="KeyGroup" template="float"></add>
</niobject>
<!-- NIF Objects-->
<!-- Controllers -->
<niobject name="NiFloatController" abstract="1" inherit="NiTimeController">
<add name="Data" type="Ref" template="NiFloatData"></add>
</niobject>
<!-- Controller not for using should be -->
<niobject name="NiKeyframeManager" abstract="0" inherit="NiTimeController">
<add name="Num Sequences" type="uint"></add>
<add name="Sequences" type="NiSequenceMW" arr1="Num Sequences"></add>
</niobject>
<!-- Controllers morph -->
<niobject name="NiMorpherController" abstract="1" inherit="NiTimeController">
<add name="Data" type="Ref" template="NiMorphData"></add>
</niobject>
<niobject name="NiGeomMorpherController" abstract="0" inherit="NiMorpherController">
<add name="Always Update" type="byte"></add>
</niobject>
<!-- Controllers float -->
<niobject name="NiRollController" abstract="0" inherit="NiFloatController">
</niobject>
<niobject name="NiAlphaController" abstract="0" inherit="NiFloatController">
</niobject>
<!-- Controllers time -->
<niobject name="NiKeyframeController" abstract="0" inherit="NiTimeController">
<add name="Data" type="Ref" template="NiKeyframeData"></add>
</niobject>
<niobject name="NiFlipController" abstract="0" inherit="NiTimeController">
<add name="Affected Map" type="TexType"></add>
<add name="Flip Start Time" type="float"></add>
<add name="Seconds Per Frame" type="float"></add>
<add name="Num Textures" type="uint"></add>
<add name="Textures" type="Ref" template="NiTexture" arr1="Num Textures"></add>
</niobject>
<niobject name="NiLookAtController" abstract="0" inherit="NiTimeController">
<add name="Look At" type="Ref" template="NiAVObject"></add>
</niobject>
<niobject name="NiPathController" abstract="0" inherit="NiTimeController">
<add name="Bank Dir" type="int" default="1"></add>
<add name="Max Bank Angle" type="float"></add>
<add name="Smoothing" type="float"></add>
<add name="Follow Axis" type="short"></add>
<add name="Path Data" type="Ref" template="NiPosData"></add>
<add name="Percent Data" type="Ref" template="NiFloatData"></add>
</niobject>
<niobject name="NiUVController" abstract="0" inherit="NiTimeController">
<add name="Texture Set" type="ushort"></add>
<add name="Data" type="Ref" template="NiUVData"></add>
</niobject>
<niobject name="NiVisController" abstract="0" inherit="NiTimeController">
<add name="Data" type="Ref" template="NiVisData"></add>
</niobject>
<niobject name="NiMaterialColorController" abstract="0" inherit="NiTimeController">
<add name="Data" type="Ref" template="NiPosData"></add>
</niobject>
<niobject name="NiLightColorController" abstract="0" inherit="NiTimeController">
<add name="Data" type="Ref" template="NiPosData"></add>
</niobject>
<!-- NIF Objects-->
<!-- NiDynamicEffect -->
<niobject name="NiLight" abstract="1" inherit="NiDynamicEffect">
<add name="Dimmer" type="float" default="1.0"></add>
<add name="Ambient Color" type="Color3" default="#FFFFFF"></add>
<add name="Diffuse Color" type="Color3" default="#0000000"></add>
<add name="Specular Color" type="Color3" default="#0000000"></add>
</niobject>
<niobject name="NiTextureEffect" abstract="0" inherit="NiDynamicEffect">
<add name="Model Projection Matrix" type="Matrix33REF"></add>
<add name="Model Projection Transform" type="Vector3"></add>
<add name="Texture Filtering" type="TexFilterMode" default="FILTER_TRILERP"></add>
<add name="Texture Clamping" type="TexClampMode" default="WRAP_S_WRAP_T"></add>
<add name="Texture Type" default="EFFECT_ENVIRONMENT_MAP" type="EffectType"></add>
<add name="Coordinate Generation Type" default="CG_SPHERE_MAP" type="CoordGenType"></add>
<add name="Source Texture" type="Ref" template="NiSourceTexture" ver1="4.0.0.0"></add>
<add name="Clipping Plane Enabled" type="byte"></add>
<add name="Clipping Plane" type="NiPlaneREF"></add>
<add name="PS2 L" type="short" default="0" ver2="10.2.0.0"></add>
<add name="PS2 K" type="short" default="-75" ver2="10.2.0.0"></add>
<add name="NA" type="ushort"></add>
</niobject>
<niobject name="NiAmbientLight" abstract="0" inherit="NiLight">
</niobject>
<niobject name="NiDirectionalLight" abstract="0" inherit="NiLight">
</niobject>
<niobject name="NiPointLight" abstract="0" inherit="NiLight">
<add name="Constant Attenuation" type="float" default="1.0"></add>
<add name="Linear Attenuation" type="float" default="0.0"></add>
<add name="Quadratic Attenuation" type="float" default="0.0"></add>
</niobject>
<niobject name="NiSpotLight" abstract="0" inherit="NiPointLight">
<add name="Outer Spot Angle" type="float" default="10.0"></add>
<add name="Exponent" type="float" default="150.0"></add>
</niobject>
<!-- END -->
</niftoolsxml>