mirror of
https://github.com/claunia/SabreTools.git
synced 2025-12-16 19:14:27 +00:00
[DatFile, Style] Fix CMP parsing again
This commit is contained in:
@@ -876,6 +876,7 @@ namespace SabreTools.Helper.Dats
|
|||||||
DateTime start = DateTime.Now;
|
DateTime start = DateTime.Now;
|
||||||
logger.User("Processing individual DATs");
|
logger.User("Processing individual DATs");
|
||||||
|
|
||||||
|
/// BEGIN
|
||||||
Parallel.For(0,
|
Parallel.For(0,
|
||||||
inputs.Count,
|
inputs.Count,
|
||||||
new ParallelOptions { MaxDegreeOfParallelism = maxDegreeOfParallelism },
|
new ParallelOptions { MaxDegreeOfParallelism = maxDegreeOfParallelism },
|
||||||
@@ -914,6 +915,7 @@ namespace SabreTools.Helper.Dats
|
|||||||
}
|
}
|
||||||
datHeaders[i].Files = null;
|
datHeaders[i].Files = null;
|
||||||
}
|
}
|
||||||
|
/// END
|
||||||
|
|
||||||
logger.User("Processing and populating complete in " + DateTime.Now.Subtract(start).ToString(@"hh\:mm\:ss\.fffff"));
|
logger.User("Processing and populating complete in " + DateTime.Now.Subtract(start).ToString(@"hh\:mm\:ss\.fffff"));
|
||||||
|
|
||||||
@@ -1692,12 +1694,14 @@ namespace SabreTools.Helper.Dats
|
|||||||
// Regular attributes
|
// Regular attributes
|
||||||
case "name":
|
case "name":
|
||||||
i++;
|
i++;
|
||||||
|
quoteless = gc[i].Replace("\"", "");
|
||||||
item.Name = quoteless;
|
item.Name = quoteless;
|
||||||
break;
|
break;
|
||||||
case "size":
|
case "size":
|
||||||
if (item.Type == ItemType.Rom)
|
if (item.Type == ItemType.Rom)
|
||||||
{
|
{
|
||||||
i++;
|
i++;
|
||||||
|
quoteless = gc[i].Replace("\"", "");
|
||||||
long size = -1;
|
long size = -1;
|
||||||
if (Int64.TryParse(quoteless, out size))
|
if (Int64.TryParse(quoteless, out size))
|
||||||
{
|
{
|
||||||
@@ -1710,6 +1714,7 @@ namespace SabreTools.Helper.Dats
|
|||||||
if (item.Type == ItemType.Rom)
|
if (item.Type == ItemType.Rom)
|
||||||
{
|
{
|
||||||
i++;
|
i++;
|
||||||
|
quoteless = gc[i].Replace("\"", "");
|
||||||
((Rom)item).CRC = quoteless.ToLowerInvariant();
|
((Rom)item).CRC = quoteless.ToLowerInvariant();
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@@ -1717,11 +1722,13 @@ namespace SabreTools.Helper.Dats
|
|||||||
if (item.Type == ItemType.Rom)
|
if (item.Type == ItemType.Rom)
|
||||||
{
|
{
|
||||||
i++;
|
i++;
|
||||||
|
quoteless = gc[i].Replace("\"", "");
|
||||||
((Rom)item).MD5 = quoteless.ToLowerInvariant();
|
((Rom)item).MD5 = quoteless.ToLowerInvariant();
|
||||||
}
|
}
|
||||||
else if (item.Type == ItemType.Disk)
|
else if (item.Type == ItemType.Disk)
|
||||||
{
|
{
|
||||||
i++;
|
i++;
|
||||||
|
quoteless = gc[i].Replace("\"", "");
|
||||||
((Disk)item).MD5 = quoteless.ToLowerInvariant();
|
((Disk)item).MD5 = quoteless.ToLowerInvariant();
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@@ -1729,18 +1736,21 @@ namespace SabreTools.Helper.Dats
|
|||||||
if (item.Type == ItemType.Rom)
|
if (item.Type == ItemType.Rom)
|
||||||
{
|
{
|
||||||
i++;
|
i++;
|
||||||
|
quoteless = gc[i].Replace("\"", "");
|
||||||
((Rom)item).SHA1 = quoteless.ToLowerInvariant();
|
((Rom)item).SHA1 = quoteless.ToLowerInvariant();
|
||||||
}
|
}
|
||||||
else if (item.Type == ItemType.Disk)
|
else if (item.Type == ItemType.Disk)
|
||||||
{
|
{
|
||||||
i++;
|
i++;
|
||||||
|
quoteless = gc[i].Replace("\"", "");
|
||||||
((Disk)item).SHA1 = quoteless.ToLowerInvariant();
|
((Disk)item).SHA1 = quoteless.ToLowerInvariant();
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case "status":
|
case "status":
|
||||||
case "flags":
|
case "flags":
|
||||||
i++;
|
i++;
|
||||||
if (gc[i].ToLowerInvariant() == "good")
|
quoteless = gc[i].Replace("\"", "");
|
||||||
|
if (quoteless.ToLowerInvariant() == "good")
|
||||||
{
|
{
|
||||||
if (item.Type == ItemType.Rom)
|
if (item.Type == ItemType.Rom)
|
||||||
{
|
{
|
||||||
@@ -1751,7 +1761,7 @@ namespace SabreTools.Helper.Dats
|
|||||||
((Disk)item).ItemStatus = ItemStatus.Good;
|
((Disk)item).ItemStatus = ItemStatus.Good;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (gc[i].ToLowerInvariant() == "baddump")
|
else if (quoteless.ToLowerInvariant() == "baddump")
|
||||||
{
|
{
|
||||||
if (item.Type == ItemType.Rom)
|
if (item.Type == ItemType.Rom)
|
||||||
{
|
{
|
||||||
@@ -1762,7 +1772,7 @@ namespace SabreTools.Helper.Dats
|
|||||||
((Disk)item).ItemStatus = ItemStatus.BadDump;
|
((Disk)item).ItemStatus = ItemStatus.BadDump;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (gc[i].ToLowerInvariant() == "nodump")
|
else if (quoteless.ToLowerInvariant() == "nodump")
|
||||||
{
|
{
|
||||||
if (item.Type == ItemType.Rom)
|
if (item.Type == ItemType.Rom)
|
||||||
{
|
{
|
||||||
@@ -1773,7 +1783,7 @@ namespace SabreTools.Helper.Dats
|
|||||||
((Disk)item).ItemStatus = ItemStatus.Nodump;
|
((Disk)item).ItemStatus = ItemStatus.Nodump;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (gc[i].ToLowerInvariant() == "verified")
|
else if (quoteless.ToLowerInvariant() == "verified")
|
||||||
{
|
{
|
||||||
if (item.Type == ItemType.Rom)
|
if (item.Type == ItemType.Rom)
|
||||||
{
|
{
|
||||||
@@ -1789,6 +1799,7 @@ namespace SabreTools.Helper.Dats
|
|||||||
if (item.Type == ItemType.Rom)
|
if (item.Type == ItemType.Rom)
|
||||||
{
|
{
|
||||||
i++;
|
i++;
|
||||||
|
quoteless = gc[i].Replace("\"", "");
|
||||||
((Rom)item).Date = quoteless + " " + gc[i + 1].Replace("\"", "");
|
((Rom)item).Date = quoteless + " " + gc[i + 1].Replace("\"", "");
|
||||||
}
|
}
|
||||||
i++;
|
i++;
|
||||||
|
|||||||
@@ -405,6 +405,7 @@ namespace SabreTools.Helper.Tools
|
|||||||
public static string[] SplitLineAsCMP(string s)
|
public static string[] SplitLineAsCMP(string s)
|
||||||
{
|
{
|
||||||
// Preprocess the string
|
// Preprocess the string
|
||||||
|
s = s.Trim();
|
||||||
s = Regex.Replace(s, @"^\S* \(", ""); // Remove item identifier and opening brace
|
s = Regex.Replace(s, @"^\S* \(", ""); // Remove item identifier and opening brace
|
||||||
s = Regex.Replace(s, @"#.*$", ""); // Remove trailing comments
|
s = Regex.Replace(s, @"#.*$", ""); // Remove trailing comments
|
||||||
s = s.TrimEnd(')'); // Remove closing brace
|
s = s.TrimEnd(')'); // Remove closing brace
|
||||||
|
|||||||
Reference in New Issue
Block a user