示例#1
0
        private async void button24_Click(object sender, EventArgs e)
        {
            OpenFileDialog ofd = new OpenFileDialog();

            ofd.Filter = "Crash Team Racing BIG file|*.big";

            if (ofd.ShowDialog() == DialogResult.OK)
            {
                Task load = new Task(() => big = BigFile.FromFile(ofd.FileName));
                load.Start();
                await load;
                LoadBig(ofd.FileName);
            }
        }
示例#2
0
        private async void LoadBigFull(string path)
        {
            if (!File.Exists(path))
            {
                MessageBox.Show($"File doesn't exist!\r\n{path}");
                return;
            }

            Task load = new Task(() => big = BigFile.FromFile(path));

            load.Start();
            await load;

            LoadBig(path);

            MessageBox.Show("Done.");
        }
示例#3
0
        static void Main(string[] args)
        {
            Console.WriteLine(
                "{0}\r\n{1}\r\n\r\n{2}\r\n",
                "CTR-tools: BigTool",
                "Builds and extracts Crash Team Racing BIG files",
                Meta.GetVersion());

            if (args.Length > 0)
            {
                Console.WriteLine("Current path: " + Environment.CurrentDirectory);

                string ext = Path.GetExtension(args[0]).ToLower();

                try
                {
                    BigFile big = BigFile.FromFile(args[0]);

                    if (big.Entries.Count > 0)
                    {
                        switch (ext)
                        {
                        case ".big": big.Export(".\\bigfile"); break;

                        case ".txt": big.Build(".\\bigfile.big"); break;

                        default: Console.WriteLine("{0}: {1}", "Unsupported file", ext); break;
                        }
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine("Error: " + ex.Message);
                }

                return;
            }

            Console.WriteLine(
                "{0}:\r\n\t{1}: {2}\r\n\t{3}: {4}",
                "Usage",
                "Extract example", "bigtool C:\\BIGFILE.BIG",
                "Build example", "bigtool C:\\BIGFILE.TXT"
                );
        }
示例#4
0
        static void Main(string[] args)
        {
            Console.WriteLine(
                "{0}\r\n{1}\r\n\r\n{2}\r\n",
                "CTR-tools: bigtool by DCxDemo*",
                "Builds and extracts Crash Team Racing BIG files",
                Meta.GetVersionInfo());

            if (args.Length > 0)
            {
                Console.WriteLine("Current path: " + Environment.CurrentDirectory);

                string name    = Path.GetFileNameWithoutExtension(args[0]).ToLower();
                string ext     = Path.GetExtension(args[0]).ToLower();
                string bigpath = Path.GetDirectoryName(args[0]);

                if (!Path.IsPathRooted(args[0]))
                {
                    bigpath = Environment.CurrentDirectory;

                    if (!File.Exists(Path.Combine(bigpath, args[0])))
                    {
                        bigpath = bigpath = Meta.BasePath;

                        if (!File.Exists(Path.Combine(bigpath, args[0])))
                        {
                            Console.WriteLine("Check filename.");
                            return;
                        }
                    }
                }

                string path = Path.Combine(bigpath, name);

                try
                {
                    BigFile big = BigFile.FromFile(Path.Combine(bigpath, $"{name}{ext}"));

                    if (big.Entries.Count == 0)
                    {
                        Console.WriteLine("No files to process.");
                        return;
                    }

                    switch (ext)
                    {
                    case ".big": big.Extract(path); break;

                    case ".txt": big.Save(Path.Combine(bigpath, $"{name}.big")); break;

                    default: Console.WriteLine($"Unsupported file type: {ext}"); break;
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine("Error: " + ex.Message);
                }

                return;
            }

            Console.WriteLine(
                "{0}:\r\n\t{1}: {2}\r\n\t{3}: {4}",
                "Usage",
                "Extract example", "bigtool C:\\BIGFILE.BIG",
                "Build example", "bigtool C:\\BIGFILE.TXT"
                );
        }