diff --git a/DATFromDir/DATFromDir.cs b/DATFromDir/DATFromDir.cs index df9ed8b2..ea0ed310 100644 --- a/DATFromDir/DATFromDir.cs +++ b/DATFromDir/DATFromDir.cs @@ -180,12 +180,21 @@ namespace SabreTools FileStream fs = File.Create(_desc + ".xml"); StreamWriter sw = new StreamWriter(fs, Encoding.UTF8); + string header_old = "clrmamepro (\n" + + "\tname \"" + _name + "\"\n" + + "\tdescription \"" + _desc + "\"\n" + + "\tversion \"" + _version + "\"\n" + + "\tcomment \"\"\n" + + "\tauthor \"Darksabre76\"\n" + + (_forceunzip ? "\tforcezipping no\n" : "") + + ")\n"; + string header = "\n" + "\n\n" + "\t\n" + "\t\t
\n" + - "\t\t\t" + _name + "\n" + - "\t\t\t" + _desc + "\n" + + "\t\t\t" + HttpUtility.HtmlEncode(_name) + "\n" + + "\t\t\t" + HttpUtility.HtmlEncode(_desc) + "\n" + "\t\t\tSabreTools Dir2DAT\n" + "\t\t\t" + _version + "\n" + "\t\t\t" + _version + "\n" + @@ -194,7 +203,7 @@ namespace SabreTools "\t\t
\n"; // Write the header out - sw.Write(header); + sw.Write((_old ? header_old : header)); // Write out each of the machines and roms string lastgame = ""; @@ -203,28 +212,42 @@ namespace SabreTools string state = ""; if (lastgame != "" && lastgame != rom.Item1) { - state += "\t\n"; + state += (_old ? ")\n" : "\t\n"); } if (lastgame != rom.Item1) { - state += "\t\n" + - "\t\t" + HttpUtility.HtmlEncode(rom.Item1) + "\n"; + state += (_old ? "game (\n\tname \"" + rom.Item1 + "\"\n" + + "\tdescription \"" + rom.Item1 + "\"\n" : + "\t\n" + + "\t\t" + HttpUtility.HtmlEncode(rom.Item1) + "\n"); } - state += "\t\t\n"; + if (_old) + { + state += "\trom ( name \"" + rom.Item2 + "\"" + + (rom.Item3 != 0 ? " size " + rom.Item3 : "") + + (rom.Item4 != "" ? " crc " + rom.Item4.ToLowerInvariant() : "") + + (rom.Item5 != "" ? " md5 " + rom.Item5.ToLowerInvariant() : "") + + (rom.Item6 != "" ? " sha1 " + rom.Item6.ToLowerInvariant() : "") + + " )\n"; + } + else + { + state += "\t\t\n"; + } lastgame = rom.Item1; sw.Write(state); } - sw.Write("\t\n
"); + sw.Write((_old ? ")" : "\t\n")); Console.Write("File written!"); sw.Close(); fs.Close();