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>
/// Create a DAT file from a specified file, directory, or set thereof
/// </summary>
/// <remarks>Add SuperDAT functionality</remarks>
public class DATFromDir
{
// Path-related variables

View File

@@ -144,6 +144,7 @@ namespace SabreTools
OutputFormat outputFormat = RomManipulation.GetOutputFormat(filename);
DatData datdata = new DatData
{
Description = Path.GetFileNameWithoutExtension(filename),
Roms = new Dictionary<string, List<RomData>>(),
};
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<author>" + HttpUtility.HtmlEncode(datdata.Author) + "</author>\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" +
(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" : "") +
"\t\t</flags>\n" : "") +
"\t</header>\n" +
@@ -147,7 +147,7 @@ namespace SabreTools.Helper
"\t\t<date>" + HttpUtility.HtmlEncode(datdata.Date) + "</date>\n" +
"\t\t<author>" + HttpUtility.HtmlEncode(datdata.Author) + "</author>\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" : "") +
"\t</header>\n";
break;

View File

@@ -144,17 +144,18 @@ namespace SabreTools.Helper
}
// Regardless, end the current folder
if (parent.Count == 0)
int parentcount = parent.Count;
if (parentcount == 0)
{
Console.WriteLine("Empty parent: " + String.Join("\\", parent));
empty = true;
}
// 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);
if (keep)
if (keep && parentcount > 1)
{
datdata.Type = (String.IsNullOrEmpty(datdata.Type) ? "SuperDAT" : datdata.Type);
superdat = true;
@@ -194,7 +195,7 @@ namespace SabreTools.Helper
content = headreader.ReadElementContentAsString(); ;
datdata.Name = (String.IsNullOrEmpty(datdata.Name) ? content : datdata.Name);
superdat = superdat || content.Contains(" - SuperDAT");
if (keep)
if (keep && superdat)
{
datdata.Type = (String.IsNullOrEmpty(datdata.Type) ? "SuperDAT" : datdata.Type);
}