Пример #1
0
        private void Button2_Click(object sender, RoutedEventArgs e)
        {
            OpenFileDialog ofd = new OpenFileDialog();

            ofd.DefaultExt = ".iso";
            ofd.Filter     = "Gamecube ISO Files (*.iso)|*.iso";
            ofd.Title      = "Select an unmodified copy of Crash Tag Team Racing (NTSC)";

            Nullable <bool> result = ofd.ShowDialog();

            if (result == true)
            {
                SaveFileDialog sfd = new SaveFileDialog();

                sfd.DefaultExt = ".iso";
                sfd.Filter     = "Gamecube ISO Files (*.iso)|*.iso";
                sfd.Title      = "Save new randomised ISO";

                Nullable <bool> result2 = sfd.ShowDialog();

                if (result2 == true)
                {
                    ISOWriter.Run(ofd.FileName, sfd.FileName);
                    MessageBox.Show("Done!");
                }
            }
        }
Пример #2
0
/*
 *      // incomplete function
 *      static bool createXISO(string infolder, string outfile)
 *      {
 *          XBoxISO.ISOWriter xiso = new ISOWriter();
 *          xiso.IsXbox360Iso = false;
 *          xiso.SetFileSource();
 *          return true;
 *      }
 */
        static void convertISO(string infile, string outfile)
        {
            XboxISOFileSource xisosrc = new XboxISOFileSource(infile);

            if (xisosrc.GetISOType() != Format.Xbox1)
            {
                Console.Write("This utility only supports ORIGINAL XBox ISOs");
                return;
            }
            ISOWriter              xiso      = new ISOWriter();
            FileSystemEntry        xfs       = xisosrc.GetFileSystem();
            List <FileSystemEntry> fslist    = xfs.GetFileList();
            FSManipulator          xfsm      = new FSManipulator();
            FSFileOptimiseComparer xiso_sort = new FSFileOptimiseComparer();

            XBoxISO.CrossLinkChecker clc = new CrossLinkChecker();
            CopyStatus cs     = new CopyStatus();
            bool       result = false;

            ISOPartitionDetails isop = xisosrc.GetPartitionDetails();

            Console.Write("Optimizing XISO Filesystem Layout...");

            if ((long)isop.GamePartitionSize > XBoxDVDReader.DVD5MaxSize)
            {
                result = xfsm.OptimiseDVD9(xfs, false, true, true, isop);
            }
            else
            {
                result = xfsm.OptimiseDVD5(xfs, false, false, true, true, false, 0, false, isop);
            }
            if (result)
            {
                Console.WriteLine(" Success.");
            }
            else
            {
                Console.WriteLine(" Failed... but thats okay, continuing.");
            }

            Console.WriteLine("Checking for crosslinkable files...");
            BackgroundWorker clc_bw = new BackgroundWorker();

            clc_bw.WorkerReportsProgress      = true;
            clc_bw.WorkerSupportsCancellation = true;
            clc_bw.ProgressChanged           += clc_bw_ProgressChanged;
            clc.CrossLinkCheck(xfs, cs, clc_bw);
            Console.WriteLine();

            Console.WriteLine("Writing ISO to " + outfile + "...");
            BackgroundWorker main_bw = new BackgroundWorker();

            main_bw.WorkerReportsProgress      = true;
            main_bw.WorkerSupportsCancellation = true;
            main_bw.ProgressChanged           += main_bw_ProgressChanged;
            xiso.writeISO(outfile, xfs, main_bw, false);
            Console.WriteLine();
            Console.WriteLine("Done!");
        }