public void Replace(string FileName, ResFile resFileNX, ResU.ResFile resFileU) { string ext = Utils.GetExtension(FileName); if (ext == ".bfska") { bool IsSwitch = BfresUtilies.IsSubSectionSwitch(FileName); if (resFileU != null) { //If it's a switch animation try to conver it to wii u if (IsSwitch) { var ska = new SkeletalAnim(); ska.Import(FileName); SkeletalAnimU = BfresPlatformConverter.FSKAConvertSwitchToWiiU(ska); SkeletalAnimU.Name = Text; LoadAnim(SkeletalAnimU); } else { SkeletalAnimU.Import(FileName, resFileU); SkeletalAnimU.Name = Text; LoadAnim(SkeletalAnimU); } } else { if (IsSwitch) { SkeletalAnim.Import(FileName); SkeletalAnim.Name = Text; LoadAnim(SkeletalAnim); } else { //Create a new wii u skeletal anim and try to convert it instead var ska = new ResU.SkeletalAnim(); ska.Import(FileName, new ResU.ResFile()); SkeletalAnim = BfresPlatformConverter.FSKAConvertWiiUToSwitch(ska); SkeletalAnim.Name = Text; LoadAnim(SkeletalAnim); } } } else if (ext == ".anim") { FromAnim(FileName); } else if (ext == ".seanim") { STSkeleton skeleton = GetActiveSkeleton(); if (skeleton != null) { var ska = FromGeneric(SEANIM.Read(FileName, skeleton)); UpdateAnimation(ska); } else { STErrorDialog.Show("No matching skeleton bones found to assign!", "Skeleton Importer", ""); } } else if (ext == ".smd") { STSkeleton skeleton = GetActiveSkeleton(); if (skeleton != null) { var ska = FromGeneric(SMD.Read(FileName, skeleton)); UpdateAnimation(ska); } else { STErrorDialog.Show("No matching skeleton bones found to assign!", "Skeleton Importer", ""); } } else if (ext == ".chr0") { FromChr0(FileName, resFileU != null); } else if (ext == ".dae") { // FromAssimp(FileName, resFileU != null); } else if (ext == ".fbx") { // FromAssimp(FileName, resFileU != null); } }
public override void Export(string FileName) { string ext = Utils.GetExtension(FileName); if (ext == ".bfska") { if (GetResFileU() != null) { SkeletalAnimU.Export(FileName, GetResFileU()); } else { SkeletalAnim.Export(FileName, GetResFile()); } } else if (ext == ".chr0") { STSkeleton skeleton = GetActiveSkeleton(); if (SkeletalAnimU != null) { BrawlboxHelper.FSKAConverter.Fska2Chr0(BfresPlatformConverter.FSKAConvertWiiUToSwitch(SkeletalAnimU), FileName); } else { BrawlboxHelper.FSKAConverter.Fska2Chr0(SkeletalAnim, FileName); } } else if (ext == ".smd") { STSkeleton skeleton = GetActiveSkeleton(); if (skeleton != null) { SMD.Save(this, skeleton, FileName); } else { throw new Exception("No skeleton found to assign!"); } } else if (ext == ".anim") { STSkeleton skeleton = GetActiveSkeleton(); if (skeleton != null) { ANIM.CreateANIM(FileName, this, skeleton); } else { throw new Exception("No skeleton found to assign!"); } } else if (ext == ".seanim") { STSkeleton skeleton = GetActiveSkeleton(); if (skeleton != null) { SEANIM.SaveAnimation(FileName, this, skeleton); } else { throw new Exception("No skeleton found to assign!"); } } else if (ext == ".json") { if (SkeletalAnimU != null) { System.IO.File.WriteAllText(FileName, Newtonsoft.Json.JsonConvert.SerializeObject(SkeletalAnimU, Newtonsoft.Json.Formatting.Indented)); } else { System.IO.File.WriteAllText(FileName, Newtonsoft.Json.JsonConvert.SerializeObject(SkeletalAnim, Newtonsoft.Json.Formatting.Indented)); } } }
public override void Export(string FileName) { string ext = Utils.GetExtension(FileName); if (ext == ".bfska") { if (GetResFileU() != null) { SkeletalAnimU.Export(FileName, GetResFileU()); } else { SkeletalAnim.Export(FileName, GetResFile()); } } else if (ext == ".chr0") { STSkeleton skeleton = GetActiveSkeleton(); if (SkeletalAnimU != null) { BrawlboxHelper.FSKAConverter.Fska2Chr0(BfresPlatformConverter.FSKAConvertWiiUToSwitch(SkeletalAnimU), FileName); } else { BrawlboxHelper.FSKAConverter.Fska2Chr0(SkeletalAnim, FileName); } // BrawlboxHelper.FSKAConverter.Fska2Chr0(this, skeleton, FileName); } else if (ext == ".smd") { STSkeleton skeleton = GetActiveSkeleton(); if (skeleton != null) { SMD.Save(this, skeleton, FileName); } else { throw new Exception("No skeleton found to assign!"); } } else if (ext == ".anim") { STSkeleton skeleton = GetActiveSkeleton(); if (skeleton != null) { ANIM.CreateANIM(FileName, this, skeleton); } else { throw new Exception("No skeleton found to assign!"); } } else if (ext == ".seanim") { STSkeleton skeleton = GetActiveSkeleton(); if (skeleton != null) { SEANIM.SaveAnimation(FileName, this, skeleton); } else { throw new Exception("No skeleton found to assign!"); } } }