@@ -943,6 +943,15 @@ public static XivMdl GetXivMdl(byte[] mdlData, string mdlPath = "")
943
943
}
944
944
#endregion
945
945
946
+ #region Patch 7.2 Unknown Data
947
+ // Something to do with shadows (appears on face models new in Patch 7.2)
948
+ var unkDataPatch72 = new UnknownDataPatch72
949
+ {
950
+ Unknown = br . ReadBytes ( xivMdl . ModelData . Patch72TableSize * 16 )
951
+ } ;
952
+ xivMdl . UnkDataPatch72 = unkDataPatch72 ;
953
+ #endregion
954
+
946
955
#region Padding
947
956
// Padding
948
957
xivMdl . PaddingSize = br . ReadByte ( ) ;
@@ -3030,7 +3039,7 @@ public static byte[] MakeUncompressedMdlFile(TTModel ttModel, XivMdl ogMdl, Acti
3030
3039
3031
3040
// Unknowns that are probably partly padding.
3032
3041
basicModelBlock . AddRange ( BitConverter . GetBytes ( ogModelData . Unknown13 ) ) ;
3033
- basicModelBlock . AddRange ( BitConverter . GetBytes ( ogModelData . Unknown14 ) ) ;
3042
+ basicModelBlock . AddRange ( BitConverter . GetBytes ( ogModelData . Patch72TableSize ) ) ;
3034
3043
basicModelBlock . AddRange ( BitConverter . GetBytes ( ogModelData . Unknown15 ) ) ;
3035
3044
basicModelBlock . AddRange ( BitConverter . GetBytes ( ogModelData . Unknown16 ) ) ;
3036
3045
basicModelBlock . AddRange ( BitConverter . GetBytes ( ogModelData . Unknown17 ) ) ;
@@ -3633,6 +3642,11 @@ public static byte[] MakeUncompressedMdlFile(TTModel ttModel, XivMdl ogMdl, Acti
3633
3642
}
3634
3643
#endregion
3635
3644
3645
+ // Patch 7.2 Unknown Data
3646
+ #region Patch 7.2 Unknown Data
3647
+ var unknownPatch72DataBlock = ogMdl . UnkDataPatch72 . Unknown ;
3648
+ #endregion
3649
+
3636
3650
// Padding
3637
3651
#region Padding Data Block
3638
3652
@@ -3788,7 +3802,7 @@ public static byte[] MakeUncompressedMdlFile(TTModel ttModel, XivMdl ogMdl, Acti
3788
3802
// This is the offset to the beginning of the vertex data
3789
3803
var combinedDataBlockSize = _MdlHeaderSize + vertexInfoBlock . Count + pathInfoBlock . Count + basicModelBlock . Count + unknownDataBlock0 . Length + ( 60 * ogMdl . LoDList . Count ) + extraMeshesBlock . Count + meshDataBlock . Count +
3790
3804
attributePathDataBlock . Count + ( unknownDataBlock1 ? . Length ?? 0 ) + meshPartDataBlock . Count + unknownDataBlock2 . Length + matPathOffsetDataBlock . Count + bonePathOffsetDataBlock . Count +
3791
- boneSetsBlock . Count + FullShapeDataBlock . Count + partBoneSetsBlock . Count + neckMorphDataBlock . Count + paddingDataBlock . Count + boundingBoxDataBlock . Count + boneBoundingBoxDataBlock . Count ;
3805
+ boneSetsBlock . Count + FullShapeDataBlock . Count + partBoneSetsBlock . Count + neckMorphDataBlock . Count + unknownPatch72DataBlock . Length + paddingDataBlock . Count + boundingBoxDataBlock . Count + boneBoundingBoxDataBlock . Count ;
3792
3806
3793
3807
var lodDataBlock = new List < byte > ( ) ;
3794
3808
List < int > indexStartInjectPointers = new List < int > ( ) ;
@@ -3876,6 +3890,7 @@ public static byte[] MakeUncompressedMdlFile(TTModel ttModel, XivMdl ogMdl, Acti
3876
3890
modelDataBlock . AddRange ( FullShapeDataBlock ) ;
3877
3891
modelDataBlock . AddRange ( partBoneSetsBlock ) ;
3878
3892
modelDataBlock . AddRange ( neckMorphDataBlock ) ;
3893
+ modelDataBlock . AddRange ( unknownPatch72DataBlock ) ;
3879
3894
modelDataBlock . AddRange ( paddingDataBlock ) ;
3880
3895
modelDataBlock . AddRange ( boundingBoxDataBlock ) ;
3881
3896
modelDataBlock . AddRange ( boneBoundingBoxDataBlock ) ;
0 commit comments