Fix boe importing not changing the parent index
This commit is contained in:
parent
7ada057843
commit
432e639081
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -259,6 +259,7 @@ namespace Bfres.Structs
|
||||
{
|
||||
ResU.Bone bone = new ResU.Bone();
|
||||
bone.Import(FileName, GetResFileU());
|
||||
bone.ParentIndex = -1;
|
||||
|
||||
BfresWiiU.ReadBone(bn, bone, false);
|
||||
}
|
||||
@ -266,6 +267,7 @@ namespace Bfres.Structs
|
||||
{
|
||||
Bone bone = new Bone();
|
||||
bone.Import(FileName);
|
||||
bone.ParentIndex = -1;
|
||||
|
||||
BfresSwitch.ReadBone(bn, bone, false);
|
||||
}
|
||||
@ -541,10 +543,12 @@ namespace Bfres.Structs
|
||||
BoneU = new ResU.Bone();
|
||||
BoneU.Import(ofd.FileName, GetResFileU());
|
||||
BoneU.Name = CheckDuplicateBoneNames(BoneU.Name);
|
||||
|
||||
BfresWiiU.ReadBone(bn, BoneU, false);
|
||||
|
||||
Nodes.Add(bn);
|
||||
skeletonParent.bones.Add(bn);
|
||||
|
||||
BoneU.ParentIndex = (short)bn.parentIndex;
|
||||
((FSKL)skeletonParent).AddBone(BoneU);
|
||||
}
|
||||
else
|
||||
@ -552,10 +556,12 @@ namespace Bfres.Structs
|
||||
Bone = new Bone();
|
||||
Bone.Import(ofd.FileName);
|
||||
Bone.Name = CheckDuplicateBoneNames(Bone.Name);
|
||||
|
||||
BfresSwitch.ReadBone(bn, Bone, false);
|
||||
|
||||
Nodes.Add(bn);
|
||||
skeletonParent.bones.Add(bn);
|
||||
|
||||
BoneU.ParentIndex = (short)bn.parentIndex;
|
||||
((FSKL)skeletonParent).AddBone(Bone);
|
||||
}
|
||||
}
|
||||
|
Binary file not shown.
Binary file not shown.
@ -13,6 +13,8 @@ namespace Switch_Toolbox.Library
|
||||
{
|
||||
public class AssimpData
|
||||
{
|
||||
public bool UseTransformMatrix = true;
|
||||
|
||||
public Scene scene;
|
||||
|
||||
public List<STGenericObject> objects = new List<STGenericObject>();
|
||||
@ -78,11 +80,15 @@ namespace Switch_Toolbox.Library
|
||||
}
|
||||
}
|
||||
private void BuildNode(Node parent, ref Matrix4x4 rootTransform)
|
||||
{
|
||||
Matrix4x4 world = rootTransform;
|
||||
Matrix4 worldTK = Matrix4.Identity;
|
||||
if (UseTransformMatrix)
|
||||
{
|
||||
Matrix4x4 trafo = parent.Transform;
|
||||
Matrix4x4 world = trafo * rootTransform;
|
||||
Matrix4 worldTK = AssimpHelper.TKMatrix(world);
|
||||
|
||||
world = trafo * rootTransform;
|
||||
worldTK = AssimpHelper.TKMatrix(world);
|
||||
}
|
||||
|
||||
if (parent.MeshCount > 0)
|
||||
{
|
||||
|
Binary file not shown.
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user