diff --git a/DATabase/DATabase.cs b/DATabase/DATabase.cs
index 1213bb2b..bc19b178 100644
--- a/DATabase/DATabase.cs
+++ b/DATabase/DATabase.cs
@@ -67,6 +67,7 @@ namespace SabreTools
add = false,
bare = false,
cascade = false,
+ clean = false,
convertMiss = false,
convertCMP = false,
convertRC = false,
@@ -144,6 +145,10 @@ namespace SabreTools
case "--convert-cmp":
convertCMP = true;
break;
+ case "-clean":
+ case "--clean":
+ clean = true;
+ break;
case "-cm":
case "--convert-miss":
convertMiss = true;
@@ -430,7 +435,7 @@ namespace SabreTools
{
foreach (string input in inputs)
{
- InitConvert(input, OutputFormat.ClrMamePro, outdir);
+ InitConvert(input, OutputFormat.ClrMamePro, outdir, clean);
}
}
@@ -439,7 +444,7 @@ namespace SabreTools
{
foreach (string input in inputs)
{
- InitConvert(input, OutputFormat.RomCenter, outdir);
+ InitConvert(input, OutputFormat.RomCenter, outdir, clean);
}
}
@@ -448,7 +453,7 @@ namespace SabreTools
{
foreach (string input in inputs)
{
- InitConvert(input, OutputFormat.SabreDat, outdir);
+ InitConvert(input, OutputFormat.SabreDat, outdir, clean);
}
}
@@ -1375,7 +1380,7 @@ Make a selection:
///
///
///
- private static void InitConvert(string filename, OutputFormat outputFormat, string outdir = "")
+ private static void InitConvert(string filename, OutputFormat outputFormat, string outdir = "", bool clean = false)
{
// Clean the input strings
outdir = outdir.Replace("\"", "");
@@ -1393,7 +1398,7 @@ Make a selection:
OutputFormat = outputFormat,
MergeRoms = false,
};
- datdata = RomManipulation.Parse(filename, 0, 0, datdata, _logger, true);
+ datdata = RomManipulation.Parse(filename, 0, 0, datdata, _logger, true, clean);
// Sometimes the description doesn't match the filename, change this
if (datdata.Description != Path.GetFileNameWithoutExtension(filename))
@@ -1422,7 +1427,7 @@ Make a selection:
OutputFormat = outputFormat,
MergeRoms = false,
};
- datdata = RomManipulation.Parse(file, 0, 0, datdata, _logger, true);
+ datdata = RomManipulation.Parse(file, 0, 0, datdata, _logger, true, clean);
// If the extension matches, append ".new" to the filename
string extension = (datdata.OutputFormat == OutputFormat.Xml || datdata.OutputFormat == OutputFormat.SabreDat ? ".xml" : ".dat");
diff --git a/SabreHelper/Data/Build.cs b/SabreHelper/Data/Build.cs
index 8edd0c56..c217978c 100644
--- a/SabreHelper/Data/Build.cs
+++ b/SabreHelper/Data/Build.cs
@@ -78,6 +78,7 @@ Options:
-source= Source name (source only)
-url= URL (source only)
-cc, --convert-cmp Convert any DAT to CMP
+ -clean Clean game names according to WoD standards
-out= Output directory
-cm, --convert-miss Convert from DAT to miss
-r, --roms Output roms to miss instead of sets
@@ -90,10 +91,13 @@ Options:
-ro, --romba Output roms in Romba format (requires SHA-1)
-tsv, --tsv Output roms in Tab-Separated Value format
-cs, --convert-sd Convert any DAT to SabreDAT
+ -clean Clean game names according to WoD standards
-out= Output directory
-cr, --convert-rc Convert any DAT to RomCenter
+ -clean Clean game names according to WoD standards
-out= Output directory
-cx, --convert-xml Convert any DAT to XML
+ -clean Clean game names according to WoD standards
-out= Output directory
-es, --ext-split Split a DAT by two file extensions
-exta= First extension to split by