mirror of
https://github.com/claunia/SabreTools.git
synced 2025-12-16 19:14:27 +00:00
[DatTools] Make DOSCenter dats compatible
This commit is contained in:
@@ -272,7 +272,7 @@ namespace SabreTools.Helper
|
|||||||
{
|
{
|
||||||
GroupCollection gc = Regex.Match(line, Constants.HeaderPatternCMP).Groups;
|
GroupCollection gc = Regex.Match(line, Constants.HeaderPatternCMP).Groups;
|
||||||
|
|
||||||
if (gc[1].Value == "clrmamepro" || gc[1].Value == "romvault")
|
if (gc[1].Value == "clrmamepro" || gc[1].Value == "romvault" || gc[1].Value.ToLowerInvariant() == "doscenter")
|
||||||
{
|
{
|
||||||
blockname = "header";
|
blockname = "header";
|
||||||
}
|
}
|
||||||
@@ -281,7 +281,7 @@ namespace SabreTools.Helper
|
|||||||
}
|
}
|
||||||
|
|
||||||
// If the line is a rom or disk and we're in a block
|
// If the line is a rom or disk and we're in a block
|
||||||
else if ((line.Trim().StartsWith("rom (") || line.Trim().StartsWith("disk (")) && block)
|
else if ((line.Trim().StartsWith("rom (") || line.Trim().StartsWith("disk (") || line.Trim().StartsWith("file (")) && block)
|
||||||
{
|
{
|
||||||
Rom rom = new Rom
|
Rom rom = new Rom
|
||||||
{
|
{
|
||||||
@@ -347,6 +347,10 @@ namespace SabreTools.Helper
|
|||||||
rom.Nodump = true;
|
rom.Nodump = true;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case "date":
|
||||||
|
rom.Date = gc[i].Replace("\"", "") + " " + gc[i+1].Replace("\"", "");
|
||||||
|
i++;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
attrib = "";
|
attrib = "";
|
||||||
@@ -404,6 +408,10 @@ namespace SabreTools.Helper
|
|||||||
rom.Nodump = true;
|
rom.Nodump = true;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case "date":
|
||||||
|
rom.Date = gc[i].Replace("\"", "") + " " + gc[i + 1].Replace("\"", "");
|
||||||
|
i++;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
quote = false;
|
quote = false;
|
||||||
@@ -455,6 +463,7 @@ namespace SabreTools.Helper
|
|||||||
switch (gc[1].Value)
|
switch (gc[1].Value)
|
||||||
{
|
{
|
||||||
case "name":
|
case "name":
|
||||||
|
case "Name:":
|
||||||
datdata.Name = (String.IsNullOrEmpty(datdata.Name) ? itemval : datdata.Name);
|
datdata.Name = (String.IsNullOrEmpty(datdata.Name) ? itemval : datdata.Name);
|
||||||
superdat = superdat || itemval.Contains(" - SuperDAT");
|
superdat = superdat || itemval.Contains(" - SuperDAT");
|
||||||
if (keep && superdat)
|
if (keep && superdat)
|
||||||
@@ -463,6 +472,7 @@ namespace SabreTools.Helper
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case "description":
|
case "description":
|
||||||
|
case "Description:":
|
||||||
datdata.Description = (String.IsNullOrEmpty(datdata.Description) ? itemval : datdata.Description);
|
datdata.Description = (String.IsNullOrEmpty(datdata.Description) ? itemval : datdata.Description);
|
||||||
break;
|
break;
|
||||||
case "rootdir":
|
case "rootdir":
|
||||||
@@ -472,24 +482,29 @@ namespace SabreTools.Helper
|
|||||||
datdata.Category = (String.IsNullOrEmpty(datdata.Category) ? itemval : datdata.Category);
|
datdata.Category = (String.IsNullOrEmpty(datdata.Category) ? itemval : datdata.Category);
|
||||||
break;
|
break;
|
||||||
case "version":
|
case "version":
|
||||||
|
case "Version:":
|
||||||
datdata.Version = (String.IsNullOrEmpty(datdata.Version) ? itemval : datdata.Version);
|
datdata.Version = (String.IsNullOrEmpty(datdata.Version) ? itemval : datdata.Version);
|
||||||
break;
|
break;
|
||||||
case "date":
|
case "date":
|
||||||
|
case "Date:":
|
||||||
datdata.Date = (String.IsNullOrEmpty(datdata.Date) ? itemval : datdata.Date);
|
datdata.Date = (String.IsNullOrEmpty(datdata.Date) ? itemval : datdata.Date);
|
||||||
break;
|
break;
|
||||||
case "author":
|
case "author":
|
||||||
|
case "Author:":
|
||||||
datdata.Author = (String.IsNullOrEmpty(datdata.Author) ? itemval : datdata.Author);
|
datdata.Author = (String.IsNullOrEmpty(datdata.Author) ? itemval : datdata.Author);
|
||||||
break;
|
break;
|
||||||
case "email":
|
case "email":
|
||||||
datdata.Email = (String.IsNullOrEmpty(datdata.Email) ? itemval : datdata.Email);
|
datdata.Email = (String.IsNullOrEmpty(datdata.Email) ? itemval : datdata.Email);
|
||||||
break;
|
break;
|
||||||
case "homepage":
|
case "homepage":
|
||||||
|
case "Homepage:":
|
||||||
datdata.Homepage = (String.IsNullOrEmpty(datdata.Homepage) ? itemval : datdata.Homepage);
|
datdata.Homepage = (String.IsNullOrEmpty(datdata.Homepage) ? itemval : datdata.Homepage);
|
||||||
break;
|
break;
|
||||||
case "url":
|
case "url":
|
||||||
datdata.Url = (String.IsNullOrEmpty(datdata.Url) ? itemval : datdata.Url);
|
datdata.Url = (String.IsNullOrEmpty(datdata.Url) ? itemval : datdata.Url);
|
||||||
break;
|
break;
|
||||||
case "comment":
|
case "comment":
|
||||||
|
case "Comment:":
|
||||||
datdata.Comment = (String.IsNullOrEmpty(datdata.Comment) ? itemval : datdata.Comment);
|
datdata.Comment = (String.IsNullOrEmpty(datdata.Comment) ? itemval : datdata.Comment);
|
||||||
break;
|
break;
|
||||||
case "header":
|
case "header":
|
||||||
|
|||||||
@@ -250,9 +250,9 @@ namespace SabreTools.Helper
|
|||||||
});
|
});
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception)
|
||||||
{
|
{
|
||||||
Console.WriteLine(ex);
|
// Absorb the error
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user