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!"); } } }
/* * // 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!"); }