Let's support Nodumps for output as well

This commit is contained in:
Matt Nadareski
2016-05-18 16:59:34 -07:00
parent b08433cd52
commit 5364f88c76
3 changed files with 11 additions and 6 deletions

View File

@@ -173,6 +173,7 @@ namespace SabreTools.Helper
(rom.CRC != "" ? " crc " + rom.CRC.ToLowerInvariant() : "") +
(rom.MD5 != "" ? " md5 " + rom.MD5.ToLowerInvariant() : "") +
(rom.SHA1 != "" ? " sha1 " + rom.SHA1.ToLowerInvariant() : "") +
(rom.Nodump ? " flags nodump" : "") +
" )\n";
break;
case OutputFormat.MissFile:
@@ -234,6 +235,7 @@ namespace SabreTools.Helper
(rom.CRC != "" ? " crc=\"" + rom.CRC.ToLowerInvariant() + "\"" : "") +
(rom.MD5 != "" ? " md5=\"" + rom.MD5.ToLowerInvariant() + "\"" : "") +
(rom.SHA1 != "" ? " sha1=\"" + rom.SHA1.ToLowerInvariant() + "\"" : "") +
(rom.Nodump ? " status=\"nodump\"" : "") +
"/>\n";
break;
}

View File

@@ -288,12 +288,13 @@ namespace SabreTools.Helper
{
case "rom":
case "disk":
// If the rom is nodump, skip it
// If the rom is nodump, flag it
bool nodump = false;
if (xtr.GetAttribute("flags") == "nodump" || xtr.GetAttribute("status") == "nodump")
{
logger.Log("Nodump detected: " +
(xtr.GetAttribute("name") != null && xtr.GetAttribute("name") != "" ? "\"" + xtr.GetAttribute("name") + "\"" : "ROM NAME NOT FOUND") + "; skipping...");
break;
(xtr.GetAttribute("name") != null && xtr.GetAttribute("name") != "" ? "\"" + xtr.GetAttribute("name") + "\"" : "ROM NAME NOT FOUND"));
nodump = true;
}
// Take care of hex-sized files
@@ -343,12 +344,12 @@ namespace SabreTools.Helper
// If the file has no size and it's not the above case, skip and log
else if (subreader.Name == "rom" && (size == 0 || size == -1))
{
logger.Warning("Potentially incomplete entry found for \"" + xtr.GetAttribute("name") + "\"");
break;
logger.Error("Incomplete entry for \"" + xtr.GetAttribute("name") + "\" will be output as nodump");
nodump = true;
}
// Only add the rom if there's useful information in it
if (!(crc == "" && md5 == "" && sha1 == ""))
if (!(crc == "" && md5 == "" && sha1 == "") || nodump)
{
// Get the new values to add
key = size + "-" + crc;
@@ -365,6 +366,7 @@ namespace SabreTools.Helper
MD5 = md5,
SHA1 = sha1,
System = filename,
Nodump = nodump,
};
if (datdata.Roms.ContainsKey(key))

View File

@@ -21,6 +21,7 @@ namespace SabreTools.Helper
public string MD5;
public string SHA1;
public DupeType Dupe;
public bool Nodump;
}
/// <summary>