private static void go(string dirSource, string outfile) { DatHeader ThisDat = new DatHeader() { BaseDir = new DatDir(DatFileType.Dir) }; DirectoryInfo di = new DirectoryInfo(dirSource); ProcessDir(di, ThisDat.BaseDir, false); DatXMLWriter dWriter = new DatXMLWriter(); dWriter.WriteDat(outfile + "_old.dat", ThisDat, false); dWriter.WriteDat(outfile + "_new.dat", ThisDat, true); }
static void Main(string[] args) { string dirSource = @"D:\OmniFloppy"; DatHeader ThisDat = new DatHeader() { BaseDir = new DatDir(DatFileType.Dir) }; DirectoryInfo di = new DirectoryInfo(dirSource); ProcessDir(di, ThisDat.BaseDir); DatXMLWriter dWriter = new DatXMLWriter(); dWriter.WriteDat(@"D:\achimedes.dat", ThisDat); }
private static void ProcVer(string ver) { WriteLine(); WriteLine(); _lastTime = null; Sw.Reset(); Sw.Start(); DatRead dr = new DatRead { ErrorReport = ReadError }; DatXMLWriter dxw = new DatXMLWriter(); WriteLine(ver, "Reading BINDat Set"); dr.ReadDat(@"TestDATs\MAME " + ver + " ROMS (from bin).xml", out DatHeader dh); dh.Name += " (split)"; dh.Description += " (split)"; WriteLine(ver, "Dat read"); DatClean.RemoveCHD(dh.BaseDir); WriteLine(ver, "CHD removed"); DatClean.RemoveNoDumps(dh.BaseDir); WriteLine(ver, "Removed No Dumps"); DatClean.DatSetMakeSplitSet(dh.BaseDir); WriteLine(ver, "Made Split Set"); DatClean.RemoveNotCollected(dh.BaseDir); WriteLine(ver, "Removed Not Collected"); DatClean.RemoveDupes(dh.BaseDir); WriteLine(ver, "Removed Dupes"); DatClean.RemoveEmptySets(dh.BaseDir); WriteLine(ver, "Removed Empty Sets"); DatSetTorrentZip.SetTorrentZip(dh.BaseDir); WriteLine(ver, "Set TorrentZip"); dxw.WriteDat(@"TestDATs\out\MAME " + ver + " ROMS (split-fromBin).xml", dh); WriteLine(ver, "Reading Dat Set"); dr.ReadDat(@"TestDATs\MAME " + ver + " ROMs (split).xml", out dh); DatSetTorrentZip.SetTorrentZip(dh.BaseDir); dxw.WriteDat(@"TestDATs\out\MAME " + ver + " ROMs (split-sorted).xml", dh); WriteLine(ver, "Done Set 1"); WriteLine(ver, "Reading BINDat Set"); dr.ReadDat(@"TestDATs\MAME " + ver + " ROMS (from bin).xml", out dh); dh.Name += " (merged)"; dh.Description += " (merged)"; WriteLine(ver, "Dat read"); DatClean.RemoveCHD(dh.BaseDir); WriteLine(ver, "CHD removed"); DatClean.RemoveNoDumps(dh.BaseDir); WriteLine(ver, "Removed No Dumps"); DatClean.DatSetMakeMergeSet(dh.BaseDir); WriteLine(ver, "Made Merge Set"); DatClean.RemoveDupes(dh.BaseDir); WriteLine(ver, "Removed Dupes"); DatClean.RemoveEmptySets(dh.BaseDir); WriteLine(ver, "Removed Empty Sets"); DatSetTorrentZip.SetTorrentZip(dh.BaseDir); WriteLine(ver, "Set TorrentZip"); dxw.WriteDat(@"TestDATs\out\MAME " + ver + " ROMS (merged-fromBin).xml", dh); WriteLine(ver, "Reading Dat Set"); dr.ReadDat(@"TestDATs\MAME " + ver + " ROMs (merged).xml", out dh); DatSetTorrentZip.SetTorrentZip(dh.BaseDir); dxw.WriteDat(@"TestDATs\out\MAME " + ver + " ROMs (merged-sorted).xml", dh); WriteLine(ver, "Done Set 2"); WriteLine(ver, "Reading BINDat Set"); dr.ReadDat(@"TestDATs\MAME " + ver + " ROMS (from bin).xml", out dh); dh.Name += " (non-merged)"; dh.Description += " (non-merged)"; WriteLine(ver, "Dat read"); DatClean.RemoveCHD(dh.BaseDir); WriteLine(ver, "CHD removed"); DatClean.RemoveNoDumps(dh.BaseDir); WriteLine(ver, "Removed No Dumps"); DatClean.DatSetMakeNonMergeSet(dh.BaseDir); WriteLine(ver, "Made Merge Set"); DatClean.RemoveDupes(dh.BaseDir); WriteLine(ver, "Removed Dupes"); DatClean.RemoveEmptySets(dh.BaseDir); WriteLine(ver, "Removed Empty Sets"); DatSetTorrentZip.SetTorrentZip(dh.BaseDir); WriteLine(ver, "Set TorrentZip"); dxw.WriteDat(@"TestDATs\out\MAME " + ver + " ROMS (non-merged-fromBin).xml", dh); WriteLine(ver, "Reading Dat Set"); dr.ReadDat(@"TestDATs\MAME " + ver + " ROMs (non-merged).xml", out dh); DatSetTorrentZip.SetTorrentZip(dh.BaseDir); dxw.WriteDat(@"TestDATs\out\MAME " + ver + " ROMs (non-merged-sorted).xml", dh); WriteLine(ver, "Done Set 3"); }
static void Main(string[] args) { DatHeader ThisDat = new DatHeader() { BaseDir = new DatDir(DatFileType.Dir) }; bool style = false; string dirSource = null; string outfile = null; for (int i = 0; i < args.Length; i++) { string arg = args[i]; bool isflag = arg.Substring(0, 1) == "-"; if (isflag) { string flag = arg.Substring(1); switch (flag.ToLower()) { case "help": case "h": case "?": ShowHelp(); return; case "name": case "n": ThisDat.Name = args[++i]; break; case "description": case "d": ThisDat.Description = args[++i]; break; case "category": case "ca": ThisDat.Category = args[++i]; break; case "version": case "v": ThisDat.Version = args[++i]; break; case "date": case "dt": ThisDat.Date = args[++i]; break; case "autodate": case "ad": ThisDat.Date = DateTime.Now.ToString("MM/dd/yyyy"); break; case "author": case "a": ThisDat.Author = args[++i]; break; case "email": case "e": ThisDat.Email = args[++i]; break; case "homepage": case "hp": ThisDat.Homepage = args[++i]; break; case "url": ThisDat.URL = args[++i]; break; case "comment": case "co": ThisDat.Comment = args[++i]; break; case "newstyle": case "ns": style = true; break; case "quick": case "q": quick = true; break; case "test": case "t": testMode = true; break; } } else if (dirSource == null) { dirSource = arg; } else if (outfile == null) { outfile = arg; } else { Console.WriteLine("Unknown arg: " + arg); return; } } if (dirSource == null || outfile == null) { Console.WriteLine("Must supply source DIR and destination filename."); return; } DirectoryInfo di = new DirectoryInfo(dirSource); ProcessDir(di, ThisDat.BaseDir, style); DatXMLWriter dWriter = new DatXMLWriter(); if (Path.GetExtension(outfile).ToLower() != ".dat") { outfile += ".dat"; } dWriter.WriteDat(outfile, ThisDat, style); }