Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }