diff --git a/nif.xml b/nif.xml index 921f0c8154d1b100c797a1527987a027a751611a..290ee7c44c563393820ebfa502f8206e0fbe859c 100644 --- a/nif.xml +++ b/nif.xml @@ -7085,44 +7085,51 @@ <compound name="BSPackedGeomDataCombined"> <add name="Grayscale to Palette Scale" type="float" /> - <add name="Rotation" type="Matrix33" /> - <add name="Translation" type="Vector3" /> - <add name="Scale" type="float" /> + <add name="Transform" type="NiTransform" /> <add name="Bounding Sphere" type="NiBound" /> </compound> - - <compound name="BSPackedGeomDataLOD"> - <add name="Triangle Count" type="uint" /> - <add name="Triangle Offset" type="uint" /> - </compound> - + <compound name="BSPackedGeomData"> <add name="Num Verts" type="uint" /> <add name="LOD Levels" type="uint" /> - <add name="LOD" type="BSPackedGeomDataLOD" arr1="LOD Levels" /> + <add name="Tri Count LOD0" type="uint" /> + <add name="Tri Offset LOD0" type="uint" /> + <add name="Tri Count LOD1" type="uint" /> + <add name="Tri Offset LOD1" type="uint" /> + <add name="Tri Count LOD2" type="uint" /> + <add name="Tri Offset LOD2" type="uint" /> <add name="Num Combined" type="uint" /> <add name="Combined" type="BSPackedGeomDataCombined" arr1="Num Combined" /> - <add name="Unk Int 1" type="uint" /> - <add name="Unk Int 2" type="uint" /> + <add name="Vertex Desc" type="BSVertexDesc" /> + <add name="Vertex Data" type="BSVertexData" arr1="Num Verts" arg="Vertex Desc" cond="!BSPackedCombinedSharedGeomDataExtra" /> + <add name="Triangles" type="Triangle" arr1="Tri Count LOD0 + Tri Count LOD1 + Tri Count LOD2" cond="!BSPackedCombinedSharedGeomDataExtra" /> </compound> <compound name="BSPackedGeomObject"> - <add name="Unknown Int 1" type="uint" /> - <add name="Object Hash?" type="uint" /> + This appears to be a 64-bit hash but nif.xml does not have a 64-bit type. + <add name="Shape ID 1" type="uint" /> + <add name="Shape ID 2" type="uint" /> </compound> - - <niobject name="BSPackedCombinedSharedGeomDataExtra" inherit="NiExtraData"> - Fallout 4 Packed Combined Geometry Data + + <niobject name="BSPackedCombinedGeomDataExtra" inherit="NiExtraData"> + Fallout 4 Packed Combined Geometry Data. + Geometry is baked into the file and given a list of transforms to position each copy. <add name="Vertex Desc" type="BSVertexDesc" /> <add name="Num Vertices" type="uint" /> <add name="Num Triangles" type="uint" /> <add name="Unknown Flags 1" type="uint" /> <add name="Unknown Flags 2" type="uint" /> <add name="Num Data" type="uint" /> - <add name="Object" type="BSPackedGeomObject" arr1="Num Data" /> + <add name="Object" type="BSPackedGeomObject" arr1="Num Data" cond="BSPackedCombinedSharedGeomDataExtra" /> <add name="Object Data" type="BSPackedGeomData" arr1="Num Data" /> </niobject> - + + <niobject name="BSPackedCombinedSharedGeomDataExtra" inherit="BSPackedCombinedGeomDataExtra"> + Fallout 4 Packed Combined Shared Geometry Data. + Geometry is NOT baked into the file. It is instead a reference to the shape via a Shape ID (currently undecoded) + which loads the geometry via the STAT form for the NIF. + </niobject> + <!-- Fallout 4 Animation --> <niobject name="NiLightRadiusController" inherit="NiFloatInterpController">