@@ -940,6 +940,7 @@ public static XivMdl GetXivMdl(byte[] mdlData, string mdlPath = "")
940
940
xivMdl . BoneBoundingBoxes . Add ( new List < Vector4 > ( ) { minPoint , maxPoint } ) ;
941
941
}
942
942
943
+ var preBound = br . BaseStream . Position ;
943
944
xivMdl . BonelessPartBoundingBoxes = new List < List < Vector4 > > ( ) ;
944
945
for ( var i = 0 ; i < xivMdl . ModelData . FurniturePartBoundingBoxCount ; i ++ )
945
946
{
@@ -955,15 +956,29 @@ public static XivMdl GetXivMdl(byte[] mdlData, string mdlPath = "")
955
956
// Attempts to catch weird broken mod mdls.
956
957
// This has been known to occur with both certain penumbra MDLs, and very old
957
958
// TexTools MDLs.
958
- if ( xivMdl . LoDList [ 0 ] . VertexDataOffset < br . BaseStream . Position
959
- || ( xivMdl . LoDList [ 0 ] . VertexDataOffset % 8 != br . BaseStream . Position % 8 ) )
959
+ if ( xivMdl . BonelessPartBoundingBoxes . Count != 0 )
960
960
{
961
+ if ( xivMdl . LoDList [ 0 ] . VertexDataOffset == preBound )
962
+ {
963
+ foreach ( var bl in xivMdl . BonelessPartBoundingBoxes )
964
+ {
965
+ bl [ 0 ] = new Vector4 ( 0 , 0 , 0 , 1 ) ;
966
+ bl [ 1 ] = new Vector4 ( 0 , 0 , 0 , 1 ) ;
967
+ }
968
+ br . BaseStream . Seek ( preBound , SeekOrigin . Begin ) ;
969
+ }
970
+ }
971
+ else {
972
+ if ( xivMdl . LoDList [ 0 ] . VertexDataOffset < br . BaseStream . Position
973
+ || ( xivMdl . LoDList [ 0 ] . VertexDataOffset % 8 != br . BaseStream . Position % 8 ) )
974
+ {
961
975
962
- var delta = ( int ) ( xivMdl . LoDList [ 0 ] . VertexDataOffset - br . BaseStream . Position ) ;
963
- xivMdl . LoDList [ 0 ] . VertexDataOffset -= delta ;
964
- xivMdl . LoDList [ 0 ] . IndexDataOffset -= delta ;
965
- //var rem = br.ReadBytes(delta);
966
- var z = "z" ;
976
+ var delta = ( int ) ( xivMdl . LoDList [ 0 ] . VertexDataOffset - br . BaseStream . Position ) ;
977
+ xivMdl . LoDList [ 0 ] . VertexDataOffset -= delta ;
978
+ xivMdl . LoDList [ 0 ] . IndexDataOffset -= delta ;
979
+ //var rem = br.ReadBytes(delta);
980
+ var z = "z" ;
981
+ }
967
982
}
968
983
969
984
0 commit comments