mirror of
https://github.com/KillzXGaming/Switch-Toolbox
synced 2024-11-10 07:04:36 +00:00
Adjustments for anims
This commit is contained in:
parent
8b00b8430e
commit
e51b1e2382
16 changed files with 58 additions and 17 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -2,6 +2,7 @@
|
|||
.vs/Switch_Toolbox/v15/Server/sqlite3/db.lock
|
||||
*NodeEditorWinforms-master
|
||||
*GL_EditorFramework-master
|
||||
*Assimp
|
||||
*.resources
|
||||
Debug/
|
||||
Release/
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -1281,10 +1281,9 @@ namespace FirstPlugin
|
|||
case BRESGroupType.SkeletalAnim:
|
||||
foreach (FSKA ska in group.Nodes)
|
||||
{
|
||||
// ska.SkeletalAnim.BoneAnims.Clear();
|
||||
|
||||
// foreach (FSKA.BoneAnimNode bone in ska.Bones)
|
||||
// ska.SkeletalAnim.BoneAnims.Add(bone.SaveData());
|
||||
ska.SkeletalAnim.BoneAnims.Clear();
|
||||
foreach (FSKA.BoneAnimNode bone in ska.Bones)
|
||||
ska.SkeletalAnim.BoneAnims.Add(bone.SaveData(ska.IsEdited));
|
||||
|
||||
ska.SkeletalAnim.Name = ska.Text;
|
||||
resFile.SkeletalAnims.Add(ska.SkeletalAnim);
|
||||
|
@ -1299,7 +1298,7 @@ namespace FirstPlugin
|
|||
{
|
||||
fmaa.MaterialAnim.MaterialAnimDataList.Clear();
|
||||
foreach (FMAA.MaterialAnimEntry mat in fmaa.Materials)
|
||||
fmaa.MaterialAnim.MaterialAnimDataList.Add(mat.SaveData());
|
||||
fmaa.MaterialAnim.MaterialAnimDataList.Add(mat.SaveData(fmaa.IsEdited));
|
||||
|
||||
fmaa.SetName();
|
||||
fmaa.SaveAnimData();
|
||||
|
@ -1415,7 +1414,7 @@ namespace FirstPlugin
|
|||
{
|
||||
ska.SkeletalAnimU.BoneAnims.Clear();
|
||||
foreach (FSKA.BoneAnimNode bone in ska.Bones)
|
||||
ska.SkeletalAnimU.BoneAnims.Add(bone.SaveDataU());
|
||||
ska.SkeletalAnimU.BoneAnims.Add(bone.SaveDataU(ska.IsEdited));
|
||||
|
||||
ska.SkeletalAnimU.Name = ska.Text;
|
||||
resFileU.SkeletalAnims.Add(ska.Text, ska.SkeletalAnimU);
|
||||
|
@ -1426,7 +1425,7 @@ namespace FirstPlugin
|
|||
{
|
||||
anim.ShaderParamAnim.ShaderParamMatAnims.Clear();
|
||||
foreach (FSHU.MaterialAnimEntry bone in anim.Materials)
|
||||
anim.ShaderParamAnim.ShaderParamMatAnims.Add(bone.SaveData());
|
||||
anim.ShaderParamAnim.ShaderParamMatAnims.Add(bone.SaveData(anim.IsEdited));
|
||||
|
||||
|
||||
anim.ShaderParamAnim.Name = anim.Text;
|
||||
|
@ -1437,8 +1436,8 @@ namespace FirstPlugin
|
|||
foreach (FSHU anim in group.Nodes)
|
||||
{
|
||||
anim.ShaderParamAnim.ShaderParamMatAnims.Clear();
|
||||
foreach (FSHU.MaterialAnimEntry bone in anim.Materials)
|
||||
anim.ShaderParamAnim.ShaderParamMatAnims.Add(bone.SaveData());
|
||||
foreach (FSHU.MaterialAnimEntry mat in anim.Materials)
|
||||
anim.ShaderParamAnim.ShaderParamMatAnims.Add(mat.SaveData(anim.IsEdited));
|
||||
|
||||
anim.ShaderParamAnim.Name = anim.Text;
|
||||
resFileU.ColorAnims.Add(anim.Text, anim.ShaderParamAnim);
|
||||
|
@ -1448,8 +1447,8 @@ namespace FirstPlugin
|
|||
foreach (FSHU anim in group.Nodes)
|
||||
{
|
||||
anim.ShaderParamAnim.ShaderParamMatAnims.Clear();
|
||||
foreach (FSHU.MaterialAnimEntry bone in anim.Materials)
|
||||
anim.ShaderParamAnim.ShaderParamMatAnims.Add(bone.SaveData());
|
||||
foreach (FSHU.MaterialAnimEntry mat in anim.Materials)
|
||||
anim.ShaderParamAnim.ShaderParamMatAnims.Add(mat.SaveData(anim.IsEdited));
|
||||
|
||||
anim.ShaderParamAnim.Name = anim.Text;
|
||||
resFileU.TexSrtAnims.Add(anim.Text, anim.ShaderParamAnim);
|
||||
|
@ -1458,6 +1457,10 @@ namespace FirstPlugin
|
|||
case BRESGroupType.TexPatAnim:
|
||||
foreach (FTXP anim in group.Nodes)
|
||||
{
|
||||
anim.TexPatternAnim.TexPatternMatAnims.Clear();
|
||||
foreach (FTXP.MaterialAnimEntry mat in anim.Materials)
|
||||
anim.TexPatternAnim.TexPatternMatAnims.Add(mat.SaveData(anim.IsEdited));
|
||||
|
||||
anim.TexPatternAnim.Name = anim.Text;
|
||||
resFileU.TexPatternAnims.Add(anim.Text, anim.TexPatternAnim);
|
||||
}
|
||||
|
|
|
@ -83,9 +83,13 @@ namespace Bfres.Structs
|
|||
|
||||
}
|
||||
|
||||
public MaterialAnimData SaveData()
|
||||
public MaterialAnimData SaveData(bool IsEdited)
|
||||
{
|
||||
MaterialAnimData.Name = Text;
|
||||
if (IsEdited)
|
||||
{
|
||||
|
||||
}
|
||||
return MaterialAnimData;
|
||||
}
|
||||
}
|
||||
|
@ -476,7 +480,7 @@ namespace Bfres.Structs
|
|||
return MatAnimWrapper.Textures[(int)val];
|
||||
}
|
||||
|
||||
public void AddKeyFrame(string TextureName, int Frame, bool IsConstant = false)
|
||||
public void AddKeyFrame(string TextureName, float Frame = -1, bool IsConstant = false)
|
||||
{
|
||||
group.Constant = IsConstant;
|
||||
|
||||
|
@ -491,6 +495,11 @@ namespace Bfres.Structs
|
|||
//Set our index
|
||||
int index = MatAnimWrapper.Textures.IndexOf(TextureName);
|
||||
|
||||
if (Frame == -1)
|
||||
{
|
||||
Frame = group.EndFrame + 1; //Add to the end of the list by default
|
||||
}
|
||||
|
||||
//For non constants we load a curve
|
||||
if (!group.Constant)
|
||||
{
|
||||
|
|
|
@ -148,9 +148,13 @@ namespace Bfres.Structs
|
|||
materialAnimData = data;
|
||||
}
|
||||
|
||||
public ShaderParamMatAnim SaveData()
|
||||
public ShaderParamMatAnim SaveData(bool IsEdited)
|
||||
{
|
||||
materialAnimData.Name = Text;
|
||||
if (IsEdited)
|
||||
{
|
||||
|
||||
}
|
||||
return materialAnimData;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -533,17 +533,23 @@ namespace Bfres.Structs
|
|||
public BoneAnim BoneAnim;
|
||||
public ResU.BoneAnim BoneAnimU;
|
||||
|
||||
public ResU.BoneAnim SaveDataU()
|
||||
public ResU.BoneAnim SaveDataU(bool IsEdited)
|
||||
{
|
||||
BoneAnimU.Name = Text;
|
||||
if (IsEdited)
|
||||
{
|
||||
|
||||
}
|
||||
return BoneAnimU;
|
||||
}
|
||||
|
||||
public BoneAnim SaveData()
|
||||
public BoneAnim SaveData(bool IsEdited)
|
||||
{
|
||||
BoneAnim.Name = Text;
|
||||
if (IsEdited)
|
||||
{
|
||||
|
||||
}
|
||||
return BoneAnim;
|
||||
}
|
||||
|
||||
|
|
|
@ -116,9 +116,13 @@ namespace Bfres.Structs
|
|||
TexPatternMatAnim = data;
|
||||
}
|
||||
|
||||
public TexPatternMatAnim SaveData()
|
||||
public TexPatternMatAnim SaveData(bool IsEdited)
|
||||
{
|
||||
TexPatternMatAnim.Name = Text;
|
||||
if (IsEdited)
|
||||
{
|
||||
|
||||
}
|
||||
return TexPatternMatAnim;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -464,8 +464,19 @@ namespace FirstPlugin.Forms
|
|||
{
|
||||
string NewTex = editor.GetSelectedTexture();
|
||||
|
||||
if (ActiveMaterialAnim.Textures == null)
|
||||
ActiveMaterialAnim.Textures = new List<string>();
|
||||
|
||||
if (!ActiveMaterialAnim.Textures.Contains(NewTex))
|
||||
ActiveMaterialAnim.Textures.Add(NewTex);
|
||||
|
||||
if (activeSampler != null)
|
||||
{
|
||||
activeSampler.AddKeyFrame(NewTex);
|
||||
}
|
||||
else
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Binary file not shown.
Binary file not shown.
|
@ -488,7 +488,10 @@ namespace Switch_Toolbox.Library
|
|||
if (msh.HasTangentBasis)
|
||||
vert.tan = new Vector4(msh.Tangents[v].X, msh.Tangents[v].Y, msh.Tangents[v].Z, 1);
|
||||
if (msh.HasVertexColors(0))
|
||||
{
|
||||
vert.col = new Vector4(msh.VertexColorChannels[0][v].R, msh.VertexColorChannels[0][v].G, msh.VertexColorChannels[0][v].B, msh.VertexColorChannels[0][v].A);
|
||||
Console.WriteLine("VTX Col " + vert.col);
|
||||
}
|
||||
if (msh.HasTangentBasis)
|
||||
vert.bitan = new Vector4(msh.BiTangents[v].X, msh.BiTangents[v].Y, msh.BiTangents[v].Z, 1);
|
||||
vertices.Add(vert);
|
||||
|
|
BIN
Toolbox/Assimp32.zip
Normal file
BIN
Toolbox/Assimp32.zip
Normal file
Binary file not shown.
BIN
Toolbox/Lib/AssimpNet.pdb
Normal file
BIN
Toolbox/Lib/AssimpNet.pdb
Normal file
Binary file not shown.
BIN
Toolbox/Lib/AssimpNet.zip
Normal file
BIN
Toolbox/Lib/AssimpNet.zip
Normal file
Binary file not shown.
Loading…
Reference in a new issue