File tree Expand file tree Collapse file tree 1 file changed +21
-1
lines changed
CustomizePlus/Armatures/Data Expand file tree Collapse file tree 1 file changed +21
-1
lines changed Original file line number Diff line number Diff line change @@ -172,12 +172,32 @@ public bool IsSkeletonUpdated(CharacterBase* cBase)
172172 {
173173 for ( var i = 0 ; i < cBase ->Skeleton ->PartialSkeletonCount ; ++ i )
174174 {
175+ if ( i == 2 )
176+ continue ; //hair is handled separately
177+
175178 var newPose = cBase ->Skeleton ->PartialSkeletons [ i ] . GetHavokPose ( Constants . TruePoseIndex ) ;
176179
177180 if ( newPose != null
178181 && newPose ->Skeleton ->Bones . Length != _partialSkeletons [ i ] . Length )
179182 return true ;
180- //todo: compare bones for hair partial skeleton [2]
183+ }
184+
185+ //handle hair separately because different hairstyles can have the same amount of bones.
186+ if ( cBase ->Skeleton ->PartialSkeletonCount > 2 )
187+ {
188+ var newPose = cBase ->Skeleton ->PartialSkeletons [ 2 ] . GetHavokPose ( Constants . TruePoseIndex ) ;
189+
190+ if ( newPose != null )
191+ {
192+ if ( newPose ->Skeleton ->Bones . Length != _partialSkeletons [ 2 ] . Length )
193+ return true ;
194+
195+ for ( var i = 0 ; i < newPose ->Skeleton ->Bones . Length ; i ++ )
196+ {
197+ if ( newPose ->Skeleton ->Bones [ i ] . Name . String != _partialSkeletons [ 2 ] [ i ] . BoneName )
198+ return true ;
199+ }
200+ }
181201 }
182202 }
183203
You can’t perform that action at this time.
0 commit comments