mirror of
https://github.com/claunia/SabreTools.git
synced 2025-12-16 19:14:27 +00:00
More SuperDAT woes
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user