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">