diff --git a/SabreTools.DatItems/DatItem.cs b/SabreTools.DatItems/DatItem.cs
index 1e2e98d6..4b4aedb3 100644
--- a/SabreTools.DatItems/DatItem.cs
+++ b/SabreTools.DatItems/DatItem.cs
@@ -128,24 +128,24 @@ namespace SabreTools.DatItems
/// Create a specific type of DatItem to be used based on a BaseFile
///
/// BaseFile containing information to be created
- /// TreatAsFiles representing special format scanning
+ /// TreatAsFile representing special format scanning
/// DatItem of the specific internal type that corresponds to the inputs
- public static DatItem? Create(BaseFile? baseFile, TreatAsFile asFiles = 0x00)
+ public static DatItem? Create(BaseFile? baseFile, TreatAsFile asFile = 0x00)
{
return baseFile switch
{
// Disk
#if NET20 || NET35
- FileTypes.CHD.CHDFile when (asFiles & TreatAsFile.CHD) == 0 => new Disk(baseFile),
+ FileTypes.CHD.CHDFile when (asFile & TreatAsFile.CHD) == 0 => new Disk(baseFile),
#else
- FileTypes.CHD.CHDFile when !asFiles.HasFlag(TreatAsFile.CHD) => new Disk(baseFile),
+ FileTypes.CHD.CHDFile when !asFile.HasFlag(TreatAsFile.CHD) => new Disk(baseFile),
#endif
// Media
#if NET20 || NET35
- FileTypes.Aaru.AaruFormat when (asFiles & TreatAsFile.AaruFormat) == 0 => new Media(baseFile),
+ FileTypes.Aaru.AaruFormat when (asFile & TreatAsFile.AaruFormat) == 0 => new Media(baseFile),
#else
- FileTypes.Aaru.AaruFormat when !asFiles.HasFlag(TreatAsFile.AaruFormat) => new Media(baseFile),
+ FileTypes.Aaru.AaruFormat when !asFile.HasFlag(TreatAsFile.AaruFormat) => new Media(baseFile),
#endif
// Rom
diff --git a/SabreTools.DatItems/Enums.cs b/SabreTools.DatItems/Enums.cs
index a8320658..f4266445 100644
--- a/SabreTools.DatItems/Enums.cs
+++ b/SabreTools.DatItems/Enums.cs
@@ -3,6 +3,21 @@ using SabreTools.Core;
namespace SabreTools.DatItems
{
+ ///
+ /// Determines what sort of files only use external hashes
+ ///
+ /// TODO: Can FileType be used instead?
+ [Flags]
+ public enum TreatAsFile
+ {
+ CHD = 1 << 0,
+ Archive = 1 << 1,
+ AaruFormat = 1 << 2,
+
+ NonArchive = CHD | AaruFormat,
+ All = CHD | Archive | AaruFormat,
+ }
+
///
/// Determine the chip type
///
diff --git a/SabreTools.DatTools/DatFromDir.cs b/SabreTools.DatTools/DatFromDir.cs
index bdc6e5ef..ecf45cef 100644
--- a/SabreTools.DatTools/DatFromDir.cs
+++ b/SabreTools.DatTools/DatFromDir.cs
@@ -66,8 +66,8 @@ namespace SabreTools.DatTools
///
/// Current DatFile object to add to
/// Base folder to be used in creating the DAT
- /// TreatAsFiles representing CHD and Archive scanning
- public bool PopulateFromDir(DatFile datFile, string basePath, TreatAsFile asFiles = 0x00)
+ /// TreatAsFile representing CHD and Archive scanning
+ public bool PopulateFromDir(DatFile datFile, string basePath, TreatAsFile asFile = 0x00)
{
// Set the progress variables
long totalSize = 0;
@@ -109,7 +109,7 @@ namespace SabreTools.DatTools
{
currentSize += new FileInfo(item).Length;
- CheckFileForHashes(datFile, item, basePath, asFiles);
+ CheckFileForHashes(datFile, item, basePath, asFile);
logger.User(totalSize, currentSize, item);
}
@@ -125,7 +125,7 @@ namespace SabreTools.DatTools
logger.User(totalSize, currentSize);
string? parentPath = Path.GetDirectoryName(Path.GetDirectoryName(basePath));
- CheckFileForHashes(datFile, basePath, parentPath, asFiles);
+ CheckFileForHashes(datFile, basePath, parentPath, asFile);
logger.User(totalSize, totalSize, basePath);
}
@@ -139,8 +139,8 @@ namespace SabreTools.DatTools
/// Current DatFile object to add to
/// Filename of the item to be checked
/// Base folder to be used in creating the DAT
- /// TreatAsFiles representing CHD and Archive scanning
- private void CheckFileForHashes(DatFile datFile, string item, string? basePath, TreatAsFile asFiles)
+ /// TreatAsFile representing CHD and Archive scanning
+ private void CheckFileForHashes(DatFile datFile, string item, string? basePath, TreatAsFile asFile)
{
// If we're in depot mode, process it separately
if (CheckDepotFile(datFile, item))
@@ -157,9 +157,9 @@ namespace SabreTools.DatTools
// Skip if we're treating archives as files and skipping files
#if NET20 || NET35
- if ((asFiles & TreatAsFile.Archive) != 0 && _skipFileType == SkipFileType.File)
+ if ((asFile & TreatAsFile.Archive) != 0 && _skipFileType == SkipFileType.File)
#else
- if (asFiles.HasFlag(TreatAsFile.Archive) && _skipFileType == SkipFileType.File)
+ if (asFile.HasFlag(TreatAsFile.Archive) && _skipFileType == SkipFileType.File)
#endif
{
return;
@@ -173,9 +173,9 @@ namespace SabreTools.DatTools
// Process as archive if we're not treating archives as files
#if NET20 || NET35
- else if ((asFiles & TreatAsFile.Archive) == 0)
+ else if ((asFile & TreatAsFile.Archive) == 0)
#else
- else if (!asFiles.HasFlag(TreatAsFile.Archive))
+ else if (!asFile.HasFlag(TreatAsFile.Archive))
#endif
{
var extracted = archive.GetChildren();
@@ -192,7 +192,7 @@ namespace SabreTools.DatTools
// Process as file if we're treating archives as files
else
{
- ProcessFile(datFile, item, basePath, asFiles);
+ ProcessFile(datFile, item, basePath, asFile);
}
}
@@ -205,7 +205,7 @@ namespace SabreTools.DatTools
// Process as file
else
- ProcessFile(datFile, item, basePath, asFiles);
+ ProcessFile(datFile, item, basePath, asFile);
}
}
@@ -401,13 +401,13 @@ namespace SabreTools.DatTools
/// Current DatFile object to add to
/// File to be added
/// Path the represents the parent directory
- /// TreatAsFiles representing CHD and Archive scanning
- private void ProcessFile(DatFile datFile, string item, string? basePath, TreatAsFile asFiles)
+ /// TreatAsFile representing CHD and Archive scanning
+ private void ProcessFile(DatFile datFile, string item, string? basePath, TreatAsFile asFile)
{
logger.Verbose($"'{Path.GetFileName(item)}' treated like a file");
var header = datFile.Header.GetStringFieldValue(Models.Metadata.Header.HeaderKey);
BaseFile? baseFile = FileTypeTool.GetInfo(item, header, _hashes);
- DatItem? datItem = DatItem.Create(baseFile, asFiles);
+ DatItem? datItem = DatItem.Create(baseFile, asFile);
if (datItem != null)
ProcessFileHelper(datFile, item, datItem, basePath, string.Empty);
}
diff --git a/SabreTools.DatTools/Rebuilder.cs b/SabreTools.DatTools/Rebuilder.cs
index 98561ea3..aff1edaf 100644
--- a/SabreTools.DatTools/Rebuilder.cs
+++ b/SabreTools.DatTools/Rebuilder.cs
@@ -188,7 +188,7 @@ namespace SabreTools.DatTools
/// True if input files should be deleted, false otherwise
/// True if the DAT should be used as a filter instead of a template, false otherwise
/// Output format that files should be written to
- /// TreatAsFiles representing special format scanning
+ /// TreatAsFile representing special format scanning
/// True if rebuilding was a success, false otherwise
public static bool RebuildGeneric(
DatFile datFile,
@@ -199,7 +199,7 @@ namespace SabreTools.DatTools
bool delete = false,
bool inverse = false,
OutputFormat outputFormat = OutputFormat.Folder,
- TreatAsFile asFiles = 0x00)
+ TreatAsFile asFile = 0x00)
{
#region Perform setup
@@ -239,7 +239,7 @@ namespace SabreTools.DatTools
if (System.IO.File.Exists(input))
{
logger.User($"Checking file: {input}");
- bool rebuilt = RebuildGenericHelper(datFile, input, outDir, quickScan, date, inverse, outputFormat, asFiles);
+ bool rebuilt = RebuildGenericHelper(datFile, input, outDir, quickScan, date, inverse, outputFormat, asFile);
// If we are supposed to delete the file, do so
if (delete && rebuilt)
@@ -257,7 +257,7 @@ namespace SabreTools.DatTools
#endif
{
logger.User($"Checking file: {file}");
- bool rebuilt = RebuildGenericHelper(datFile, file, outDir, quickScan, date, inverse, outputFormat, asFiles);
+ bool rebuilt = RebuildGenericHelper(datFile, file, outDir, quickScan, date, inverse, outputFormat, asFile);
// If we are supposed to delete the file, do so
if (delete && rebuilt)
@@ -283,7 +283,7 @@ namespace SabreTools.DatTools
/// True if the date from the DAT should be used if available, false otherwise
/// True if the DAT should be used as a filter instead of a template, false otherwise
/// Output format that files should be written to
- /// TreatAsFiles representing special format scanning
+ /// TreatAsFile representing special format scanning
/// True if the file was used to rebuild, false otherwise
private static bool RebuildGenericHelper(
DatFile datFile,
@@ -293,7 +293,7 @@ namespace SabreTools.DatTools
bool date,
bool inverse,
OutputFormat outputFormat,
- TreatAsFile asFiles)
+ TreatAsFile asFile)
{
// If we somehow have a null filename, return
if (file == null)
@@ -331,15 +331,15 @@ namespace SabreTools.DatTools
if (internalFileInfo == null)
internalDatItem = null;
#if NET20 || NET35
- else if (internalFileInfo is FileTypes.Aaru.AaruFormat && (asFiles & TreatAsFile.AaruFormat) == 0)
+ else if (internalFileInfo is FileTypes.Aaru.AaruFormat && (asFile & TreatAsFile.AaruFormat) == 0)
#else
- else if (internalFileInfo is FileTypes.Aaru.AaruFormat && !asFiles.HasFlag(TreatAsFile.AaruFormat))
+ else if (internalFileInfo is FileTypes.Aaru.AaruFormat && !asFile.HasFlag(TreatAsFile.AaruFormat))
#endif
internalDatItem = new Media(internalFileInfo);
#if NET20 || NET35
- else if (internalFileInfo is FileTypes.CHD.CHDFile && (asFiles & TreatAsFile.CHD) == 0)
+ else if (internalFileInfo is FileTypes.CHD.CHDFile && (asFile & TreatAsFile.CHD) == 0)
#else
- else if (internalFileInfo is FileTypes.CHD.CHDFile && !asFiles.HasFlag(TreatAsFile.CHD))
+ else if (internalFileInfo is FileTypes.CHD.CHDFile && !asFile.HasFlag(TreatAsFile.CHD))
#endif
internalDatItem = new Disk(internalFileInfo);
else
diff --git a/SabreTools.FileTypes/Enums.cs b/SabreTools.FileTypes/Enums.cs
index 1d4f3eb4..497b1681 100644
--- a/SabreTools.FileTypes/Enums.cs
+++ b/SabreTools.FileTypes/Enums.cs
@@ -1245,19 +1245,4 @@ namespace SabreTools.FileTypes
Torrent7Zip,
TorrentRar,
}
-
- ///
- /// Determines what sort of files get externally hashed
- ///
- /// TODO: Can FileType be used instead?
- [Flags]
- public enum TreatAsFile
- {
- CHD = 1 << 0,
- Archive = 1 << 1,
- AaruFormat = 1 << 2,
-
- NonArchive = CHD | AaruFormat,
- All = CHD | Archive | AaruFormat,
- }
}
\ No newline at end of file
diff --git a/SabreTools/Features/BaseFeature.cs b/SabreTools/Features/BaseFeature.cs
index 961a57f1..bcbfd420 100644
--- a/SabreTools/Features/BaseFeature.cs
+++ b/SabreTools/Features/BaseFeature.cs
@@ -1,7 +1,7 @@
using System.Collections.Generic;
-using SabreTools.Core;
using SabreTools.Core.Filter;
using SabreTools.Core.Tools;
+using SabreTools.DatItems;
using SabreTools.DatFiles;
using SabreTools.DatTools;
using SabreTools.FileTypes;
@@ -1882,7 +1882,7 @@ Some special strings that can be used:
// Set threading flag, if necessary
#if NET452_OR_GREATER || NETCOREAPP
if (features.ContainsKey(ThreadsInt32Value))
- Globals.MaxThreads = GetInt32(features, ThreadsInt32Value);
+ Core.Globals.MaxThreads = GetInt32(features, ThreadsInt32Value);
#endif
// Failure conditions
@@ -1996,19 +1996,19 @@ Some special strings that can be used:
}
///
- /// Get TreatAsFiles from feature list
+ /// Get TreatAsFile from feature list
///
- protected static TreatAsFile GetTreatAsFiles(Dictionary features)
+ protected static TreatAsFile GetTreatAsFile(Dictionary features)
{
- TreatAsFile asFiles = 0x00;
+ TreatAsFile asFile = 0x00;
if (GetBoolean(features, AaruFormatsAsFilesValue))
- asFiles |= TreatAsFile.AaruFormat;
+ asFile |= TreatAsFile.AaruFormat;
if (GetBoolean(features, ArchivesAsFilesValue))
- asFiles |= TreatAsFile.Archive;
+ asFile |= TreatAsFile.Archive;
if (GetBoolean(features, ChdsAsFilesValue))
- asFiles |= TreatAsFile.CHD;
+ asFile |= TreatAsFile.CHD;
- return asFiles;
+ return asFile;
}
///
diff --git a/SabreTools/Features/DatFromDir.cs b/SabreTools/Features/DatFromDir.cs
index 76b561c5..0759bfac 100644
--- a/SabreTools/Features/DatFromDir.cs
+++ b/SabreTools/Features/DatFromDir.cs
@@ -2,8 +2,8 @@
using System.Collections.Generic;
using System.IO;
using SabreTools.DatFiles;
+using SabreTools.DatItems;
using SabreTools.DatTools;
-using SabreTools.FileTypes;
using SabreTools.Help;
namespace SabreTools.Features
@@ -60,7 +60,7 @@ namespace SabreTools.Features
// Get feature flags
bool addBlankFiles = GetBoolean(features, AddBlankFilesValue);
bool addFileDates = GetBoolean(features, AddDateValue);
- TreatAsFile asFiles = GetTreatAsFiles(features);
+ TreatAsFile asFile = GetTreatAsFile(features);
bool noAutomaticDate = GetBoolean(features, NoAutomaticDateValue);
var includeInScan = GetIncludeInScan(features);
var skipFileType = GetSkipFileType(features);
@@ -91,7 +91,7 @@ namespace SabreTools.Features
datdata.FillHeaderFromPath(basePath, noAutomaticDate);
// Now populate from the path
- bool success = dfd.PopulateFromDir(datdata, basePath, asFiles);
+ bool success = dfd.PopulateFromDir(datdata, basePath, asFile);
if (success)
{
// Perform additional processing steps
diff --git a/SabreTools/Features/Sort.cs b/SabreTools/Features/Sort.cs
index 1649d65e..0b02afe0 100644
--- a/SabreTools/Features/Sort.cs
+++ b/SabreTools/Features/Sort.cs
@@ -1,6 +1,7 @@
using System.Collections.Generic;
using System.IO;
using SabreTools.DatFiles;
+using SabreTools.DatItems;
using SabreTools.DatTools;
using SabreTools.FileTypes;
using SabreTools.Help;
@@ -59,7 +60,7 @@ namespace SabreTools.Features
return false;
// Get feature flags
- TreatAsFile asFiles = GetTreatAsFiles(features);
+ TreatAsFile asFile = GetTreatAsFile(features);
bool date = GetBoolean(features, AddDateValue);
bool delete = GetBoolean(features, DeleteValue);
bool inverse = GetBoolean(features, InverseValue);
@@ -112,7 +113,7 @@ namespace SabreTools.Features
if (inputDepot?.IsActive ?? false)
success = Rebuilder.RebuildDepot(datdata, Inputs, Path.Combine(OutputDir!, datdata.Header.GetStringFieldValue(DatHeader.FileNameKey)!), date, delete, inverse, outputFormat);
else
- success = Rebuilder.RebuildGeneric(datdata, Inputs, Path.Combine(OutputDir!, datdata.Header.GetStringFieldValue(DatHeader.FileNameKey)!), quickScan, date, delete, inverse, outputFormat, asFiles);
+ success = Rebuilder.RebuildGeneric(datdata, Inputs, Path.Combine(OutputDir!, datdata.Header.GetStringFieldValue(DatHeader.FileNameKey)!), quickScan, date, delete, inverse, outputFormat, asFile);
// If we have a success and we're updating the DAT, write it out
if (success && updateDat)
@@ -155,7 +156,7 @@ namespace SabreTools.Features
if (inputDepot?.IsActive ?? false)
success = Rebuilder.RebuildDepot(datdata, Inputs, OutputDir!, date, delete, inverse, outputFormat);
else
- success = Rebuilder.RebuildGeneric(datdata, Inputs, OutputDir!, quickScan, date, delete, inverse, outputFormat, asFiles);
+ success = Rebuilder.RebuildGeneric(datdata, Inputs, OutputDir!, quickScan, date, delete, inverse, outputFormat, asFile);
// If we have a success and we're updating the DAT, write it out
if (success && updateDat)
diff --git a/SabreTools/Features/Verify.cs b/SabreTools/Features/Verify.cs
index f2cdc00b..a8b7a3ea 100644
--- a/SabreTools/Features/Verify.cs
+++ b/SabreTools/Features/Verify.cs
@@ -1,7 +1,7 @@
using System.Collections.Generic;
using SabreTools.DatFiles;
+using SabreTools.DatItems;
using SabreTools.DatTools;
-using SabreTools.FileTypes;
using SabreTools.Hashing;
using SabreTools.Help;
using SabreTools.IO;
@@ -50,7 +50,7 @@ namespace SabreTools.Features
var datfilePaths = PathTool.GetFilesOnly(datfiles);
// Get feature flags
- TreatAsFile asFiles = GetTreatAsFiles(features);
+ TreatAsFile asFile = GetTreatAsFile(features);
bool hashOnly = GetBoolean(features, HashOnlyValue);
bool quickScan = GetBoolean(features, QuickValue);
HashType[] hashes = quickScan ? [HashType.CRC32] : [HashType.CRC32, HashType.MD5, HashType.SHA1];
@@ -93,7 +93,7 @@ namespace SabreTools.Features
logger.User("Processing files:\n");
foreach (string input in Inputs)
{
- dfd.PopulateFromDir(datdata, input, asFiles);
+ dfd.PopulateFromDir(datdata, input, asFile);
}
Verification.VerifyGeneric(datdata, hashOnly);
@@ -147,7 +147,7 @@ namespace SabreTools.Features
logger.User("Processing files:\n");
foreach (string input in Inputs)
{
- dfd.PopulateFromDir(datdata, input, asFiles);
+ dfd.PopulateFromDir(datdata, input, asFile);
}
Verification.VerifyGeneric(datdata, hashOnly);