public void Save(string rootpath) { var path = Path.Combine(rootpath, "ACMD"); Directory.CreateDirectory(path); foreach (var keypair in ACMD_FILES) { keypair.Value.Export(Path.Combine(path, $"{keypair.Key}.bin")); } using (var stream = File.Create(Path.Combine(path, "motion.mtable"))) { using (var writer = new BinaryWriter(stream)) { foreach (uint u in MotionTable) { if (Runtime.WorkingEndian == Endianness.Big) { writer.Write(BitConverter.GetBytes(u.Reverse())); } else { writer.Write(u); } } } } path = Path.Combine(rootpath, "MSC"); Directory.CreateDirectory(path); foreach (var keypair in MSC_FILES) { keypair.Value.Export(Path.Combine(path, $"{keypair.Key}.mscsb")); } path = Path.Combine(rootpath, "PARAM"); Directory.CreateDirectory(path); Fighter_Param_vl.Export(Path.Combine(path, $"fighter_param_vl_{ProjName}.bin")); Attributes.Export(Path.Combine(path, "fighter_param.bin")); path = Path.Combine(rootpath, "ANIM"); DirectoryX.Copy(MotionFolder, path); //foreach (string s in ANIM_FILES) //{ // Directory.CreateDirectory(Path.GetDirectoryName(Path.Combine(path, s))); // var tmp1 = Path.Combine(rootpath, s); // var tmp2 = Path.Combine(path, s); // File.Copy(tmp1, tmp2, true); //} ProjPath = Path.Combine(rootpath, $"{ProjName}.fitproj"); ProjFile = WriteFitproj(ProjPath); }
public void Install(DirectoryInfo source, string destination) { DirectoryXCopyArgs args = new DirectoryXCopyArgs(); args.Source = source; args.Target = new DirectoryInfo(destination); args.DirectoryFilters.Add("*"); args.FileFilters.Add("*"); args.Overwrite = true; args.Rollback = true; args.RollbackTempExtension = ".temp"; DirectoryX.Copy(args); }