More SuperDAT woes

This commit is contained in:
Matt Nadareski
2016-05-20 23:56:21 -07:00
parent cacfef630f
commit 926db51830
4 changed files with 9 additions and 8 deletions

View File

@@ -15,7 +15,6 @@ namespace SabreTools
/// <summary> /// <summary>
/// Create a DAT file from a specified file, directory, or set thereof /// Create a DAT file from a specified file, directory, or set thereof
/// </summary> /// </summary>
/// <remarks>Add SuperDAT functionality</remarks>
public class DATFromDir public class DATFromDir
{ {
// Path-related variables // Path-related variables

View File

@@ -144,6 +144,7 @@ namespace SabreTools
OutputFormat outputFormat = RomManipulation.GetOutputFormat(filename); OutputFormat outputFormat = RomManipulation.GetOutputFormat(filename);
DatData datdata = new DatData DatData datdata = new DatData
{ {
Description = Path.GetFileNameWithoutExtension(filename),
Roms = new Dictionary<string, List<RomData>>(), Roms = new Dictionary<string, List<RomData>>(),
}; };
datdata = RomManipulation.Parse(filename, 0, 0, datdata, _logger, true); datdata = RomManipulation.Parse(filename, 0, 0, datdata, _logger, true);

View File

@@ -127,9 +127,9 @@ namespace SabreTools.Helper
"\t\t<date>" + HttpUtility.HtmlEncode(datdata.Date) + "</date>\n" + "\t\t<date>" + HttpUtility.HtmlEncode(datdata.Date) + "</date>\n" +
"\t\t<author>" + HttpUtility.HtmlEncode(datdata.Author) + "</author>\n" + "\t\t<author>" + HttpUtility.HtmlEncode(datdata.Author) + "</author>\n" +
"\t\t<comment>" + HttpUtility.HtmlEncode(datdata.Comment) + "</comment>\n" + "\t\t<comment>" + HttpUtility.HtmlEncode(datdata.Comment) + "</comment>\n" +
(datdata.Type != null && datdata.Type != "" && datdata.ForcePacking != ForcePacking.Unzip ? (!String.IsNullOrEmpty(datdata.Type) && datdata.ForcePacking != ForcePacking.Unzip ?
"\t\t<flags>\n" + "\t\t<flags>\n" +
(datdata.Type != null && datdata.Type != "" ? "\t\t\t<flag name=\"type\" value=\"" + datdata.Type + "\"/>\n" : "") + (!String.IsNullOrEmpty(datdata.Type) ? "\t\t\t<flag name=\"type\" value=\"" + datdata.Type + "\"/>\n" : "") +
(datdata.ForcePacking == ForcePacking.Unzip ? "\t\t\t<flag name=\"forcepacking\" value=\"unzip\"/>\n" : "") + (datdata.ForcePacking == ForcePacking.Unzip ? "\t\t\t<flag name=\"forcepacking\" value=\"unzip\"/>\n" : "") +
"\t\t</flags>\n" : "") + "\t\t</flags>\n" : "") +
"\t</header>\n" + "\t</header>\n" +
@@ -147,7 +147,7 @@ namespace SabreTools.Helper
"\t\t<date>" + HttpUtility.HtmlEncode(datdata.Date) + "</date>\n" + "\t\t<date>" + HttpUtility.HtmlEncode(datdata.Date) + "</date>\n" +
"\t\t<author>" + HttpUtility.HtmlEncode(datdata.Author) + "</author>\n" + "\t\t<author>" + HttpUtility.HtmlEncode(datdata.Author) + "</author>\n" +
"\t\t<comment>" + HttpUtility.HtmlEncode(datdata.Comment) + "</comment>\n" + "\t\t<comment>" + HttpUtility.HtmlEncode(datdata.Comment) + "</comment>\n" +
(datdata.Type != null && datdata.Type != "" ? "\t\t<type>" + datdata.Type + "</type>\n" : "") + (!String.IsNullOrEmpty(datdata.Type) ? "\t\t<type>" + datdata.Type + "</type>\n" : "") +
(datdata.ForcePacking == ForcePacking.Unzip ? "\t\t<clrmamepro forcepacking=\"unzip\" />\n" : "") + (datdata.ForcePacking == ForcePacking.Unzip ? "\t\t<clrmamepro forcepacking=\"unzip\" />\n" : "") +
"\t</header>\n"; "\t</header>\n";
break; break;

View File

@@ -144,17 +144,18 @@ namespace SabreTools.Helper
} }
// Regardless, end the current folder // Regardless, end the current folder
if (parent.Count == 0) int parentcount = parent.Count;
if (parentcount == 0)
{ {
Console.WriteLine("Empty parent: " + String.Join("\\", parent)); Console.WriteLine("Empty parent: " + String.Join("\\", parent));
empty = true; empty = true;
} }
// If we have an end folder element, remove one item from the parent, if possible // If we have an end folder element, remove one item from the parent, if possible
if (parent.Count > 0) if (parentcount > 0)
{ {
parent.RemoveAt(parent.Count - 1); parent.RemoveAt(parent.Count - 1);
if (keep) if (keep && parentcount > 1)
{ {
datdata.Type = (String.IsNullOrEmpty(datdata.Type) ? "SuperDAT" : datdata.Type); datdata.Type = (String.IsNullOrEmpty(datdata.Type) ? "SuperDAT" : datdata.Type);
superdat = true; superdat = true;
@@ -194,7 +195,7 @@ namespace SabreTools.Helper
content = headreader.ReadElementContentAsString(); ; content = headreader.ReadElementContentAsString(); ;
datdata.Name = (String.IsNullOrEmpty(datdata.Name) ? content : datdata.Name); datdata.Name = (String.IsNullOrEmpty(datdata.Name) ? content : datdata.Name);
superdat = superdat || content.Contains(" - SuperDAT"); superdat = superdat || content.Contains(" - SuperDAT");
if (keep) if (keep && superdat)
{ {
datdata.Type = (String.IsNullOrEmpty(datdata.Type) ? "SuperDAT" : datdata.Type); datdata.Type = (String.IsNullOrEmpty(datdata.Type) ? "SuperDAT" : datdata.Type);
} }