diff --git a/SabreTools.Core/Tools/Converters.cs b/SabreTools.Core/Tools/Converters.cs
index c5dc93ef..e69e85c8 100644
--- a/SabreTools.Core/Tools/Converters.cs
+++ b/SabreTools.Core/Tools/Converters.cs
@@ -67,28 +67,6 @@ namespace SabreTools.Core.Tools
return fields;
}
- ///
- /// Get the default OutputFormat associated with each PackingFlag
- ///
- ///
- ///
- public static OutputFormat AsOutputFormat(this PackingFlag packing)
- {
- switch (packing)
- {
- case PackingFlag.Zip:
- return OutputFormat.TorrentZip;
- case PackingFlag.Unzip:
- case PackingFlag.Partial:
- return OutputFormat.Folder;
- case PackingFlag.Flat:
- return OutputFormat.ParentFolder;
- case PackingFlag.None:
- default:
- return OutputFormat.Folder;
- }
- }
-
#endregion
#region String to Enum
diff --git a/SabreTools.DatFiles/DatFile.Rebuilding.cs b/SabreTools.DatFiles/DatFile.Rebuilding.cs
index ea27d6dc..3c6e1301 100644
--- a/SabreTools.DatFiles/DatFile.Rebuilding.cs
+++ b/SabreTools.DatFiles/DatFile.Rebuilding.cs
@@ -48,7 +48,7 @@ namespace SabreTools.DatFiles
// Now we want to get forcepack flag if it's not overridden
if (outputFormat == OutputFormat.Folder && Header.ForcePacking != PackingFlag.None)
- outputFormat = Header.ForcePacking.AsOutputFormat();
+ outputFormat = GetOutputFormat(Header.ForcePacking);
// Preload the Skipper list
SkipperMatch.Init();
@@ -188,7 +188,7 @@ namespace SabreTools.DatFiles
// Now we want to get forcepack flag if it's not overridden
if (outputFormat == OutputFormat.Folder && Header.ForcePacking != PackingFlag.None)
- outputFormat = Header.ForcePacking.AsOutputFormat();
+ outputFormat = GetOutputFormat(Header.ForcePacking);
// Preload the Skipper list
SkipperMatch.Init();
@@ -630,6 +630,38 @@ namespace SabreTools.DatFiles
return true;
}
+ ///
+ /// Get the default OutputFormat associated with each PackingFlag
+ ///
+ public OutputFormat GetOutputFormat(PackingFlag packing)
+ {
+#if NET_FRAMEWORK
+ switch (packing)
+ {
+ case PackingFlag.Zip:
+ return OutputFormat.TorrentZip;
+ case PackingFlag.Unzip:
+ case PackingFlag.Partial:
+ return OutputFormat.Folder;
+ case PackingFlag.Flat:
+ return OutputFormat.ParentFolder;
+ case PackingFlag.None:
+ default:
+ return OutputFormat.Folder;
+ }
+#else
+ return packing switch
+ {
+ PackingFlag.Zip => OutputFormat.TorrentZip,
+ PackingFlag.Unzip => OutputFormat.Folder,
+ PackingFlag.Partial => OutputFormat.Folder,
+ PackingFlag.Flat => OutputFormat.ParentFolder,
+ PackingFlag.None => OutputFormat.Folder,
+ _ => OutputFormat.Folder,
+ };
+#endif
+ }
+
///
/// Get preconfigured Folder for rebuilding
///
diff --git a/SabreTools.DatFiles/DatFile.cs b/SabreTools.DatFiles/DatFile.cs
index daf958cf..cd4f29ca 100644
--- a/SabreTools.DatFiles/DatFile.cs
+++ b/SabreTools.DatFiles/DatFile.cs
@@ -3,6 +3,7 @@ using System.Linq;
using System.Xml.Serialization;
using SabreTools.Core;
+using SabreTools.DatFiles.Formats;
using SabreTools.Logging;
using Newtonsoft.Json;
diff --git a/SabreTools.DatFiles/DatHeader.cs b/SabreTools.DatFiles/DatHeader.cs
index 63a50c08..1f7b377e 100644
--- a/SabreTools.DatFiles/DatHeader.cs
+++ b/SabreTools.DatFiles/DatHeader.cs
@@ -6,6 +6,7 @@ using System.Xml.Serialization;
using SabreTools.Core;
using SabreTools.Core.Tools;
+using SabreTools.DatFiles.Formats;
using SabreTools.IO;
using Newtonsoft.Json;
diff --git a/SabreTools.DatFiles/AttractMode.cs b/SabreTools.DatFiles/Formats/AttractMode.cs
similarity index 99%
rename from SabreTools.DatFiles/AttractMode.cs
rename to SabreTools.DatFiles/Formats/AttractMode.cs
index ac57a552..13ee8cfd 100644
--- a/SabreTools.DatFiles/AttractMode.cs
+++ b/SabreTools.DatFiles/Formats/AttractMode.cs
@@ -7,7 +7,7 @@ using SabreTools.Core;
using SabreTools.DatItems;
using SabreTools.IO;
-namespace SabreTools.DatFiles
+namespace SabreTools.DatFiles.Formats
{
///
/// Represents parsing and writing of an AttractMode DAT
diff --git a/SabreTools.DatFiles/Auxiliary.cs b/SabreTools.DatFiles/Formats/Auxiliary.cs
similarity index 92%
rename from SabreTools.DatFiles/Auxiliary.cs
rename to SabreTools.DatFiles/Formats/Auxiliary.cs
index 9f2cf06b..8071b42d 100644
--- a/SabreTools.DatFiles/Auxiliary.cs
+++ b/SabreTools.DatFiles/Formats/Auxiliary.cs
@@ -1,7 +1,7 @@
///
/// This holds all of the auxiliary types needed for proper parsing
///
-namespace SabreTools.DatFiles
+namespace SabreTools.DatFiles.Formats
{
#region DatHeader
diff --git a/SabreTools.DatFiles/ClrMamePro.cs b/SabreTools.DatFiles/Formats/ClrMamePro.cs
similarity index 99%
rename from SabreTools.DatFiles/ClrMamePro.cs
rename to SabreTools.DatFiles/Formats/ClrMamePro.cs
index 5f18ae2c..903ae476 100644
--- a/SabreTools.DatFiles/ClrMamePro.cs
+++ b/SabreTools.DatFiles/Formats/ClrMamePro.cs
@@ -8,7 +8,7 @@ using SabreTools.Core.Tools;
using SabreTools.DatItems;
using SabreTools.IO;
-namespace SabreTools.DatFiles
+namespace SabreTools.DatFiles.Formats
{
///
/// Represents parsing and writing of a ClrMamePro DAT
diff --git a/SabreTools.DatFiles/DosCenter.cs b/SabreTools.DatFiles/Formats/DosCenter.cs
similarity index 99%
rename from SabreTools.DatFiles/DosCenter.cs
rename to SabreTools.DatFiles/Formats/DosCenter.cs
index bfa18118..868517dc 100644
--- a/SabreTools.DatFiles/DosCenter.cs
+++ b/SabreTools.DatFiles/Formats/DosCenter.cs
@@ -9,7 +9,7 @@ using SabreTools.Core.Tools;
using SabreTools.DatItems;
using SabreTools.IO;
-namespace SabreTools.DatFiles
+namespace SabreTools.DatFiles.Formats
{
///
/// Represents parsing and writing of a DosCenter DAT
diff --git a/SabreTools.DatFiles/EverdriveSmdb.cs b/SabreTools.DatFiles/Formats/EverdriveSmdb.cs
similarity index 99%
rename from SabreTools.DatFiles/EverdriveSmdb.cs
rename to SabreTools.DatFiles/Formats/EverdriveSmdb.cs
index 0c34357b..d4dda99c 100644
--- a/SabreTools.DatFiles/EverdriveSmdb.cs
+++ b/SabreTools.DatFiles/Formats/EverdriveSmdb.cs
@@ -7,7 +7,7 @@ using SabreTools.Core;
using SabreTools.DatItems;
using SabreTools.IO;
-namespace SabreTools.DatFiles
+namespace SabreTools.DatFiles.Formats
{
///
/// Represents parsing and writing of an Everdrive SMDB file
diff --git a/SabreTools.DatFiles/Hashfile.cs b/SabreTools.DatFiles/Formats/Hashfile.cs
similarity index 99%
rename from SabreTools.DatFiles/Hashfile.cs
rename to SabreTools.DatFiles/Formats/Hashfile.cs
index a99790a6..82f2bf85 100644
--- a/SabreTools.DatFiles/Hashfile.cs
+++ b/SabreTools.DatFiles/Formats/Hashfile.cs
@@ -7,7 +7,7 @@ using SabreTools.Core;
using SabreTools.DatItems;
using SabreTools.IO;
-namespace SabreTools.DatFiles
+namespace SabreTools.DatFiles.Formats
{
///
/// Represents parsing and writing of a hashfile such as an SFV, MD5, or SHA-1 file
diff --git a/SabreTools.DatFiles/Listrom.cs b/SabreTools.DatFiles/Formats/Listrom.cs
similarity index 99%
rename from SabreTools.DatFiles/Listrom.cs
rename to SabreTools.DatFiles/Formats/Listrom.cs
index 702b2e5f..28c7ca2e 100644
--- a/SabreTools.DatFiles/Listrom.cs
+++ b/SabreTools.DatFiles/Formats/Listrom.cs
@@ -9,7 +9,7 @@ using SabreTools.Core.Tools;
using SabreTools.DatItems;
using SabreTools.IO;
-namespace SabreTools.DatFiles
+namespace SabreTools.DatFiles.Formats
{
///
/// Represents parsing and writing of a MAME Listrom DAT
diff --git a/SabreTools.DatFiles/Listxml.cs b/SabreTools.DatFiles/Formats/Listxml.cs
similarity index 99%
rename from SabreTools.DatFiles/Listxml.cs
rename to SabreTools.DatFiles/Formats/Listxml.cs
index 3e86f431..a3d4b2a5 100644
--- a/SabreTools.DatFiles/Listxml.cs
+++ b/SabreTools.DatFiles/Formats/Listxml.cs
@@ -11,7 +11,7 @@ using SabreTools.Core.Tools;
using SabreTools.DatItems;
using SabreTools.IO;
-namespace SabreTools.DatFiles
+namespace SabreTools.DatFiles.Formats
{
///
/// Represents parsing and writing of a MAME XML DAT
diff --git a/SabreTools.DatFiles/Logiqx.cs b/SabreTools.DatFiles/Formats/Logiqx.cs
similarity index 99%
rename from SabreTools.DatFiles/Logiqx.cs
rename to SabreTools.DatFiles/Formats/Logiqx.cs
index 196248d9..b062b73e 100644
--- a/SabreTools.DatFiles/Logiqx.cs
+++ b/SabreTools.DatFiles/Formats/Logiqx.cs
@@ -12,7 +12,7 @@ using SabreTools.Core.Tools;
using SabreTools.DatItems;
using SabreTools.IO;
-namespace SabreTools.DatFiles
+namespace SabreTools.DatFiles.Formats
{
///
/// Represents parsing and writing of a Logiqx-derived DAT
diff --git a/SabreTools.DatFiles/Missfile.cs b/SabreTools.DatFiles/Formats/Missfile.cs
similarity index 99%
rename from SabreTools.DatFiles/Missfile.cs
rename to SabreTools.DatFiles/Formats/Missfile.cs
index 515c3813..fa376a6d 100644
--- a/SabreTools.DatFiles/Missfile.cs
+++ b/SabreTools.DatFiles/Formats/Missfile.cs
@@ -5,7 +5,7 @@ using System.Text;
using SabreTools.DatItems;
-namespace SabreTools.DatFiles
+namespace SabreTools.DatFiles.Formats
{
///
/// Represents parsing and writing of a Missfile
diff --git a/SabreTools.DatFiles/OfflineList.cs b/SabreTools.DatFiles/Formats/OfflineList.cs
similarity index 99%
rename from SabreTools.DatFiles/OfflineList.cs
rename to SabreTools.DatFiles/Formats/OfflineList.cs
index ce2a4791..88ecc141 100644
--- a/SabreTools.DatFiles/OfflineList.cs
+++ b/SabreTools.DatFiles/Formats/OfflineList.cs
@@ -10,7 +10,7 @@ using SabreTools.Core.Tools;
using SabreTools.DatItems;
using SabreTools.IO;
-namespace SabreTools.DatFiles
+namespace SabreTools.DatFiles.Formats
{
///
/// Represents parsing and writing of an OfflineList XML DAT
diff --git a/SabreTools.DatFiles/OpenMSX.cs b/SabreTools.DatFiles/Formats/OpenMSX.cs
similarity index 99%
rename from SabreTools.DatFiles/OpenMSX.cs
rename to SabreTools.DatFiles/Formats/OpenMSX.cs
index a1a83473..384f82a2 100644
--- a/SabreTools.DatFiles/OpenMSX.cs
+++ b/SabreTools.DatFiles/Formats/OpenMSX.cs
@@ -10,7 +10,7 @@ using SabreTools.Core.Tools;
using SabreTools.DatItems;
using SabreTools.IO;
-namespace SabreTools.DatFiles
+namespace SabreTools.DatFiles.Formats
{
///
/// Represents parsing and writing of a openMSX softawre list XML DAT
diff --git a/SabreTools.DatFiles/RomCenter.cs b/SabreTools.DatFiles/Formats/RomCenter.cs
similarity index 99%
rename from SabreTools.DatFiles/RomCenter.cs
rename to SabreTools.DatFiles/Formats/RomCenter.cs
index 3b6a96a3..d295a852 100644
--- a/SabreTools.DatFiles/RomCenter.cs
+++ b/SabreTools.DatFiles/Formats/RomCenter.cs
@@ -8,7 +8,7 @@ using SabreTools.Core.Tools;
using SabreTools.DatItems;
using SabreTools.IO;
-namespace SabreTools.DatFiles
+namespace SabreTools.DatFiles.Formats
{
///
/// Represents parsing and writing of a RomCenter DAT
diff --git a/SabreTools.DatFiles/SabreJSON.cs b/SabreTools.DatFiles/Formats/SabreJSON.cs
similarity index 99%
rename from SabreTools.DatFiles/SabreJSON.cs
rename to SabreTools.DatFiles/Formats/SabreJSON.cs
index 43ef459e..a731c34e 100644
--- a/SabreTools.DatFiles/SabreJSON.cs
+++ b/SabreTools.DatFiles/Formats/SabreJSON.cs
@@ -11,7 +11,7 @@ using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using Newtonsoft.Json.Serialization;
-namespace SabreTools.DatFiles
+namespace SabreTools.DatFiles.Formats
{
///
/// Represents parsing and writing of a reference SabreDAT JSON
diff --git a/SabreTools.DatFiles/SabreXML.cs b/SabreTools.DatFiles/Formats/SabreXML.cs
similarity index 99%
rename from SabreTools.DatFiles/SabreXML.cs
rename to SabreTools.DatFiles/Formats/SabreXML.cs
index 8aa4a026..bd668750 100644
--- a/SabreTools.DatFiles/SabreXML.cs
+++ b/SabreTools.DatFiles/Formats/SabreXML.cs
@@ -8,7 +8,7 @@ using System.Xml.Serialization;
using SabreTools.DatItems;
-namespace SabreTools.DatFiles
+namespace SabreTools.DatFiles.Formats
{
///
/// Represents parsing and writing of a SabreDAT XML
diff --git a/SabreTools.DatFiles/SeparatedValue.cs b/SabreTools.DatFiles/Formats/SeparatedValue.cs
similarity index 99%
rename from SabreTools.DatFiles/SeparatedValue.cs
rename to SabreTools.DatFiles/Formats/SeparatedValue.cs
index 2eaf22a3..e5571513 100644
--- a/SabreTools.DatFiles/SeparatedValue.cs
+++ b/SabreTools.DatFiles/Formats/SeparatedValue.cs
@@ -8,7 +8,7 @@ using SabreTools.Core.Tools;
using SabreTools.DatItems;
using SabreTools.IO;
-namespace SabreTools.DatFiles
+namespace SabreTools.DatFiles.Formats
{
///
/// Represents parsing and writing of a value-separated DAT
diff --git a/SabreTools.DatFiles/SoftwareList.cs b/SabreTools.DatFiles/Formats/SoftwareList.cs
similarity index 99%
rename from SabreTools.DatFiles/SoftwareList.cs
rename to SabreTools.DatFiles/Formats/SoftwareList.cs
index 63c220e0..08960865 100644
--- a/SabreTools.DatFiles/SoftwareList.cs
+++ b/SabreTools.DatFiles/Formats/SoftwareList.cs
@@ -12,7 +12,7 @@ using SabreTools.DatItems;
using SabreTools.IO;
// TODO: Use softwarelist.dtd and *try* to make this write more correctly
-namespace SabreTools.DatFiles
+namespace SabreTools.DatFiles.Formats
{
///
/// Represents parsing and writing of a SoftwareList