Example #1
0
        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);
        }
Example #2
0
        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);
        }
Example #3
0
        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");
        }
Example #4
0
        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);
        }