Skip to content

Commit 43031f1

Browse files
committed
Fix for Viera Ears not resolving correct skeletal data.
1 parent b594ae6 commit 43031f1

File tree

1 file changed

+15
-0
lines changed
  • xivModdingFramework/Models/FileTypes

1 file changed

+15
-0
lines changed

xivModdingFramework/Models/FileTypes/Sklb.cs

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,21 @@ public static async Task<string> GetExtraSkeletonFile(string fullMdlPath)
110110

111111
public static async Task<string> GetExtraSkeletonFile(XivDependencyRootInfo root, XivRace race = XivRace.All_Races)
112112
{
113+
if(root.SecondaryType == XivItemType.ear)
114+
{
115+
// Viera ears technically use their associated face's Extra Skeleton to resolve the bones. Kinda weird, but whatever.
116+
// The bones are nearly identical for all the faces, so just use face 1
117+
var nRoot = new XivDependencyRootInfo()
118+
{
119+
PrimaryType = root.PrimaryType,
120+
PrimaryId = root.PrimaryId,
121+
SecondaryId = 1,
122+
SecondaryType = XivItemType.face,
123+
Slot = "fac"
124+
};
125+
root = nRoot;
126+
}
127+
113128
var file = await GetExtraSkelbPath(root, race);
114129
if (file == null) return null;
115130

0 commit comments

Comments
 (0)