diff --git a/SabreTools.Helper/Data/Build.cs b/SabreTools.Helper/Data/Build.cs
index 89d7e9b3..bc4a53dc 100644
--- a/SabreTools.Helper/Data/Build.cs
+++ b/SabreTools.Helper/Data/Build.cs
@@ -163,6 +163,7 @@ Options:
Supported values are:
None, Zip, Unzip
-clean Clean game names according to WoD standards
+ -sl Use Software List name instead of description
-trim Trim file names to fit NTFS length
-rd=, --root-dir= Set the root directory for calc
-si, --single All game names replaced by '!'
diff --git a/SabreTools.Helper/Tools/DatTools.cs b/SabreTools.Helper/Tools/DatTools.cs
index bf22367f..7f4f16f2 100644
--- a/SabreTools.Helper/Tools/DatTools.cs
+++ b/SabreTools.Helper/Tools/DatTools.cs
@@ -77,7 +77,7 @@ namespace SabreTools.Helper
/// True if full pathnames are to be kept, false otherwise (default)
/// True if game names are sanitized, false otherwise (default)
/// DatData object representing the read-in data
- public static Dat Parse(string filename, int sysid, int srcid, Dat datdata, Logger logger, bool keep = false, bool clean = false)
+ public static Dat Parse(string filename, int sysid, int srcid, Dat datdata, Logger logger, bool keep = false, bool clean = false, bool sl = false)
{
// If the output filename isn't set already, get the internal filename
if (String.IsNullOrEmpty(datdata.FileName))
@@ -106,7 +106,7 @@ namespace SabreTools.Helper
return ParseRC(filename, sysid, srcid, datdata, logger, clean);
case OutputFormat.SabreDat:
case OutputFormat.Xml:
- return ParseXML(filename, sysid, srcid, datdata, logger, keep, clean);
+ return ParseXML(filename, sysid, srcid, datdata, logger, keep, clean, sl);
default:
return datdata;
}
@@ -619,8 +619,9 @@ namespace SabreTools.Helper
/// Logger object for console and/or file output
/// True if full pathnames are to be kept, false otherwise (default)
/// True if game names are sanitized, false otherwise (default)
+ /// True if SL XML names should be kept, false otherwise (default)
/// DatData object representing the read-in data
- public static Dat ParseXML(string filename, int sysid, int srcid, Dat datdata, Logger logger, bool keep, bool clean)
+ public static Dat ParseXML(string filename, int sysid, int srcid, Dat datdata, Logger logger, bool keep, bool clean, bool sl)
{
// Prepare all internal variables
XmlReader subreader, headreader, flagreader;
@@ -956,7 +957,7 @@ namespace SabreTools.Helper
// If we have a subtree, add what is possible
if (subreader != null)
{
- if (temptype == "software" && subreader.ReadToFollowing("description"))
+ if (!sl && temptype == "software" && subreader.ReadToFollowing("description"))
{
tempname = subreader.ReadElementContentAsString();
tempname = tempname.Replace('/', '_').Replace("\"", "''");