diff --git a/SabreTools.Library/DatFiles/DatFile.cs b/SabreTools.Library/DatFiles/DatFile.cs
index 0c8e17f2..496d84fc 100644
--- a/SabreTools.Library/DatFiles/DatFile.cs
+++ b/SabreTools.Library/DatFiles/DatFile.cs
@@ -1973,7 +1973,6 @@ namespace SabreTools.Library.DatFiles
/// TreatAsFiles representing CHD and Archive scanning
/// Type of files that should be skipped
/// True if blank items should be created for empty folders, false otherwise
- /// True if dates should be archived for all files, false otherwise
/// Output directory to
/// True if archive header should be used, false otherwise
public bool PopulateFromDir(
@@ -1981,7 +1980,6 @@ namespace SabreTools.Library.DatFiles
TreatAsFile asFiles = 0x00,
SkipFileType skipFileType = SkipFileType.None,
bool addBlanks = false,
- bool addDate = false,
bool quickScan = false)
{
// Clean the temp directory path
@@ -1996,7 +1994,7 @@ namespace SabreTools.Library.DatFiles
List files = Directory.EnumerateFiles(basePath, "*", SearchOption.AllDirectories).ToList();
Parallel.ForEach(files, Globals.ParallelOptions, item =>
{
- CheckFileForHashes(item, basePath, asFiles, skipFileType, addBlanks, addDate, quickScan);
+ CheckFileForHashes(item, basePath, asFiles, skipFileType, addBlanks, quickScan);
});
// Now find all folders that are empty, if we are supposed to
@@ -2043,7 +2041,6 @@ namespace SabreTools.Library.DatFiles
asFiles,
skipFileType,
addBlanks,
- addDate,
quickScan);
}
@@ -2064,7 +2061,6 @@ namespace SabreTools.Library.DatFiles
/// TreatAsFiles representing CHD and Archive scanning
/// Type of files that should be skipped
/// True if blank items should be created for empty folders, false otherwise
- /// True if dates should be archived for all files, false otherwise
/// True if archive header should be used, false otherwise
private void CheckFileForHashes(
string item,
@@ -2072,7 +2068,6 @@ namespace SabreTools.Library.DatFiles
TreatAsFile asFiles,
SkipFileType skipFileType,
bool addBlanks,
- bool addDate,
bool quickScan)
{
// If we're in depot mode, process it separately
@@ -2085,7 +2080,7 @@ namespace SabreTools.Library.DatFiles
// If we have an archive and we're supposed to scan it
if (archive != null && !asFiles.HasFlag(TreatAsFile.Archive))
- extracted = archive.GetChildren(date: addDate);
+ extracted = archive.GetChildren();
// If the file should be skipped based on type, do so now
if ((extracted != null && skipFileType == SkipFileType.Archive)
@@ -2096,7 +2091,7 @@ namespace SabreTools.Library.DatFiles
// If the extracted list is null, just scan the item itself
if (extracted == null)
- ProcessFile(item, basePath, addDate, asFiles);
+ ProcessFile(item, basePath, asFiles);
// Otherwise, add all of the found items
else
@@ -2179,12 +2174,11 @@ namespace SabreTools.Library.DatFiles
///
/// File to be added
/// Path the represents the parent directory
- /// True if dates should be archived for all files, false otherwise
/// TreatAsFiles representing CHD and Archive scanning
- private void ProcessFile(string item, string basePath, bool addDate, TreatAsFile asFiles)
+ private void ProcessFile(string item, string basePath, TreatAsFile asFiles)
{
Globals.Logger.Verbose($"'{Path.GetFileName(item)}' treated like a file");
- BaseFile baseFile = FileExtensions.GetInfo(item, addDate, Header.HeaderSkipper, asFiles);
+ BaseFile baseFile = FileExtensions.GetInfo(item, date: true, header: Header.HeaderSkipper, asFiles: asFiles);
DatItem datItem = DatItem.Create(baseFile);
ProcessFileHelper(item, datItem, basePath, string.Empty);
}
@@ -2576,7 +2570,7 @@ namespace SabreTools.Library.DatFiles
// Now get all extracted items from the archive
if (archive != null)
- entries = archive.GetChildren(date: date);
+ entries = archive.GetChildren();
// If the entries list is null, we encountered an error or have a file and should scan externally
if (entries == null && File.Exists(file))
diff --git a/SabreTools.Library/FileTypes/BaseArchive.cs b/SabreTools.Library/FileTypes/BaseArchive.cs
index 0d0e1d46..af504f3f 100644
--- a/SabreTools.Library/FileTypes/BaseArchive.cs
+++ b/SabreTools.Library/FileTypes/BaseArchive.cs
@@ -153,10 +153,8 @@ namespace SabreTools.Library.FileTypes
///
/// Generate a list of DatItem objects from the header values in an archive
///
- /// True if entry dates should be included, false otherwise (default)
/// List of DatItem objects representing the found data
- /// TODO: All instances of Hash.DeepHashes should be made into 0x0 eventually
- public override abstract List GetChildren(bool date = false);
+ public override abstract List GetChildren();
///
/// Generate a list of empty folders in an archive
diff --git a/SabreTools.Library/FileTypes/Folder.cs b/SabreTools.Library/FileTypes/Folder.cs
index ebb839da..1b7d9a37 100644
--- a/SabreTools.Library/FileTypes/Folder.cs
+++ b/SabreTools.Library/FileTypes/Folder.cs
@@ -256,16 +256,15 @@ namespace SabreTools.Library.FileTypes
///
/// Generate a list of immediate children from the current folder
///
- /// True if entry dates should be included, false otherwise (default)
/// List of BaseFile objects representing the found data
- public virtual List GetChildren(bool date = false)
+ public virtual List GetChildren()
{
if (_children == null || _children.Count == 0)
{
_children = new List();
foreach (string file in Directory.EnumerateFiles(this.Filename, "*", SearchOption.TopDirectoryOnly))
{
- BaseFile nf = FileExtensions.GetInfo(file, date: date);
+ BaseFile nf = FileExtensions.GetInfo(file);
_children.Add(nf);
}
diff --git a/SabreTools.Library/FileTypes/GZipArchive.cs b/SabreTools.Library/FileTypes/GZipArchive.cs
index c78c3dbe..07b39174 100644
--- a/SabreTools.Library/FileTypes/GZipArchive.cs
+++ b/SabreTools.Library/FileTypes/GZipArchive.cs
@@ -5,7 +5,6 @@ using System.Linq;
using System.Text.RegularExpressions;
using SabreTools.Library.Data;
-using SabreTools.Library.DatFiles;
using SabreTools.Library.DatItems;
using SabreTools.Library.IO;
using SabreTools.Library.Tools;
@@ -189,10 +188,8 @@ namespace SabreTools.Library.FileTypes
///
/// Generate a list of DatItem objects from the header values in an archive
///
- /// True if entry dates should be included, false otherwise (default)
/// List of DatItem objects representing the found data
- /// TODO: All instances of Hash.DeepHashes should be made into 0x0 eventually
- public override List GetChildren(bool date = false)
+ public override List GetChildren()
{
if (_children == null || _children.Count == 0)
{
@@ -235,7 +232,7 @@ namespace SabreTools.Library.FileTypes
BaseFile gzipEntryRom = gzstream.GetInfo();
gzipEntryRom.Filename = gz.Filename(0);
gzipEntryRom.Parent = gamename;
- gzipEntryRom.Date = (date && gz.TimeStamp > 0 ? gz.TimeStamp.ToString() : null);
+ gzipEntryRom.Date = (gz.TimeStamp > 0 ? gz.TimeStamp.ToString() : null);
_children.Add(gzipEntryRom);
gzstream.Dispose();
}
diff --git a/SabreTools.Library/FileTypes/LRZipArchive.cs b/SabreTools.Library/FileTypes/LRZipArchive.cs
index 3574e5ac..4a184527 100644
--- a/SabreTools.Library/FileTypes/LRZipArchive.cs
+++ b/SabreTools.Library/FileTypes/LRZipArchive.cs
@@ -2,7 +2,6 @@
using System.Collections.Generic;
using System.IO;
-using SabreTools.Library.DatFiles;
using SabreTools.Library.DatItems;
namespace SabreTools.Library.FileTypes
@@ -78,10 +77,8 @@ namespace SabreTools.Library.FileTypes
///
/// Generate a list of DatItem objects from the header values in an archive
///
- /// True if entry dates should be included, false otherwise (default)
/// List of DatItem objects representing the found data
- /// TODO: All instances of Hash.DeepHashes should be made into 0x0 eventually
- public override List GetChildren(bool date = false)
+ public override List GetChildren()
{
throw new NotImplementedException();
}
diff --git a/SabreTools.Library/FileTypes/LZ4Archive.cs b/SabreTools.Library/FileTypes/LZ4Archive.cs
index f1f56edf..2f3dc069 100644
--- a/SabreTools.Library/FileTypes/LZ4Archive.cs
+++ b/SabreTools.Library/FileTypes/LZ4Archive.cs
@@ -2,7 +2,6 @@
using System.Collections.Generic;
using System.IO;
-using SabreTools.Library.DatFiles;
using SabreTools.Library.DatItems;
namespace SabreTools.Library.FileTypes
@@ -78,10 +77,8 @@ namespace SabreTools.Library.FileTypes
///
/// Generate a list of DatItem objects from the header values in an archive
///
- /// True if entry dates should be included, false otherwise (default)
/// List of DatItem objects representing the found data
- /// TODO: All instances of Hash.DeepHashes should be made into 0x0 eventually
- public override List GetChildren(bool date = false)
+ public override List GetChildren()
{
throw new NotImplementedException();
}
diff --git a/SabreTools.Library/FileTypes/RarArchive.cs b/SabreTools.Library/FileTypes/RarArchive.cs
index f2490842..81a5afc1 100644
--- a/SabreTools.Library/FileTypes/RarArchive.cs
+++ b/SabreTools.Library/FileTypes/RarArchive.cs
@@ -4,7 +4,6 @@ using System.IO;
using System.Linq;
using SabreTools.Library.Data;
-using SabreTools.Library.DatFiles;
using SabreTools.Library.DatItems;
using SabreTools.Library.IO;
using SharpCompress.Archives;
@@ -175,10 +174,8 @@ namespace SabreTools.Library.FileTypes
///
/// Generate a list of DatItem objects from the header values in an archive
///
- /// True if entry dates should be included, false otherwise (default)
/// List of DatItem objects representing the found data
- /// TODO: All instances of Hash.DeepHashes should be made into 0x0 eventually
- public override List GetChildren(bool date = false)
+ public override List GetChildren()
{
List found = new List();
string gamename = Path.GetFileNameWithoutExtension(this.Filename);
@@ -196,7 +193,7 @@ namespace SabreTools.Library.FileTypes
Filename = entry.Key,
Size = entry.Size,
CRC = BitConverter.GetBytes(entry.Crc),
- Date = (date && entry.LastModifiedTime != null ? entry.LastModifiedTime?.ToString("yyyy/MM/dd hh:mm:ss") : null),
+ Date = (entry.LastModifiedTime != null ? entry.LastModifiedTime?.ToString("yyyy/MM/dd hh:mm:ss") : null),
Parent = gamename,
});
diff --git a/SabreTools.Library/FileTypes/SevenZipArchive.cs b/SabreTools.Library/FileTypes/SevenZipArchive.cs
index 21defa9c..078f50b2 100644
--- a/SabreTools.Library/FileTypes/SevenZipArchive.cs
+++ b/SabreTools.Library/FileTypes/SevenZipArchive.cs
@@ -4,7 +4,6 @@ using System.IO;
using System.Linq;
using SabreTools.Library.Data;
-using SabreTools.Library.DatFiles;
using SabreTools.Library.DatItems;
using SabreTools.Library.IO;
using SabreTools.Library.Tools;
@@ -259,10 +258,8 @@ namespace SabreTools.Library.FileTypes
///
/// Generate a list of DatItem objects from the header values in an archive
///
- /// True if entry dates should be included, false otherwise (default)
/// List of DatItem objects representing the found data
- /// TODO: All instances of Hash.DeepHashes should be made into 0x0 eventually
- public override List GetChildren(bool date = false)
+ public override List GetChildren()
{
List found = new List();
string gamename = Path.GetFileNameWithoutExtension(this.Filename);
diff --git a/SabreTools.Library/FileTypes/TapeArchive.cs b/SabreTools.Library/FileTypes/TapeArchive.cs
index 514a9fcc..f8679689 100644
--- a/SabreTools.Library/FileTypes/TapeArchive.cs
+++ b/SabreTools.Library/FileTypes/TapeArchive.cs
@@ -4,7 +4,6 @@ using System.IO;
using System.Linq;
using SabreTools.Library.Data;
-using SabreTools.Library.DatFiles;
using SabreTools.Library.DatItems;
using SabreTools.Library.IO;
using SabreTools.Library.Tools;
@@ -180,10 +179,8 @@ namespace SabreTools.Library.FileTypes
///
/// Generate a list of DatItem objects from the header values in an archive
///
- /// True if entry dates should be included, false otherwise (default)
/// List of DatItem objects representing the found data
- /// TODO: All instances of Hash.DeepHashes should be made into 0x0 eventually
- public override List GetChildren(bool date = false)
+ public override List GetChildren()
{
List found = new List();
string gamename = Path.GetFileNameWithoutExtension(this.Filename);
@@ -201,7 +198,7 @@ namespace SabreTools.Library.FileTypes
Filename = entry.Key,
Size = entry.Size,
CRC = BitConverter.GetBytes(entry.Crc),
- Date = (date && entry.LastModifiedTime != null ? entry.LastModifiedTime?.ToString("yyyy/MM/dd hh:mm:ss") : null),
+ Date = (entry.LastModifiedTime != null ? entry.LastModifiedTime?.ToString("yyyy/MM/dd hh:mm:ss") : null),
Parent = gamename,
});
diff --git a/SabreTools.Library/FileTypes/XZArchive.cs b/SabreTools.Library/FileTypes/XZArchive.cs
index 67f9f3e7..063778c2 100644
--- a/SabreTools.Library/FileTypes/XZArchive.cs
+++ b/SabreTools.Library/FileTypes/XZArchive.cs
@@ -4,7 +4,6 @@ using System.IO;
using System.Text.RegularExpressions;
using SabreTools.Library.Data;
-using SabreTools.Library.DatFiles;
using SabreTools.Library.DatItems;
using SabreTools.Library.IO;
using SabreTools.Library.Tools;
@@ -181,10 +180,8 @@ namespace SabreTools.Library.FileTypes
///
/// Generate a list of DatItem objects from the header values in an archive
///
- /// True if entry dates should be included, false otherwise (default)
/// List of DatItem objects representing the found data
- /// TODO: All instances of Hash.DeepHashes should be made into 0x0 eventually
- public override List GetChildren(bool date = false)
+ public override List GetChildren()
{
if (_children == null || _children.Count == 0)
{
diff --git a/SabreTools.Library/FileTypes/ZPAQArchive.cs b/SabreTools.Library/FileTypes/ZPAQArchive.cs
index 991953a4..5f4d5a25 100644
--- a/SabreTools.Library/FileTypes/ZPAQArchive.cs
+++ b/SabreTools.Library/FileTypes/ZPAQArchive.cs
@@ -2,7 +2,6 @@
using System.Collections.Generic;
using System.IO;
-using SabreTools.Library.DatFiles;
using SabreTools.Library.DatItems;
namespace SabreTools.Library.FileTypes
@@ -78,10 +77,8 @@ namespace SabreTools.Library.FileTypes
///
/// Generate a list of DatItem objects from the header values in an archive
///
- /// True if entry dates should be included, false otherwise (default)
/// List of DatItem objects representing the found data
- /// TODO: All instances of Hash.DeepHashes should be made into 0x0 eventually
- public override List GetChildren(bool date = false)
+ public override List GetChildren()
{
throw new NotImplementedException();
}
diff --git a/SabreTools.Library/FileTypes/ZipArchive.cs b/SabreTools.Library/FileTypes/ZipArchive.cs
index cbd4e196..30eab327 100644
--- a/SabreTools.Library/FileTypes/ZipArchive.cs
+++ b/SabreTools.Library/FileTypes/ZipArchive.cs
@@ -4,7 +4,6 @@ using System.IO;
using System.Linq;
using SabreTools.Library.Data;
-using SabreTools.Library.DatFiles;
using SabreTools.Library.DatItems;
using SabreTools.Library.IO;
using SabreTools.Library.Tools;
@@ -260,10 +259,8 @@ namespace SabreTools.Library.FileTypes
///
/// Generate a list of DatItem objects from the header values in an archive
///
- /// True if entry dates should be included, false otherwise (default)
/// List of DatItem objects representing the found data
- /// TODO: All instances of Hash.DeepHashes should be made into 0x0 eventually
- public override List GetChildren(bool date = false)
+ public override List GetChildren()
{
List found = new List();
string gamename = Path.GetFileNameWithoutExtension(this.Filename);
@@ -312,7 +309,7 @@ namespace SabreTools.Library.FileTypes
Filename = newname,
Size = newsize,
CRC = newcrc,
- Date = (date ? convertedDate : null),
+ Date = convertedDate,
Parent = gamename,
});
@@ -324,7 +321,7 @@ namespace SabreTools.Library.FileTypes
zipEntryRom.Filename = zf.Filename(i);
zipEntryRom.Parent = gamename;
string convertedDate = zf.LastModified(i).ToString("yyyy/MM/dd hh:mm:ss");
- zipEntryRom.Date = (date ? convertedDate : null);
+ zipEntryRom.Date = convertedDate;
found.Add(zipEntryRom);
}
}
diff --git a/SabreTools.Library/FileTypes/ZstdArchive.cs b/SabreTools.Library/FileTypes/ZstdArchive.cs
index 42b6b50b..da0010c4 100644
--- a/SabreTools.Library/FileTypes/ZstdArchive.cs
+++ b/SabreTools.Library/FileTypes/ZstdArchive.cs
@@ -2,8 +2,6 @@
using System.Collections.Generic;
using System.IO;
-using SabreTools.Library.Data;
-using SabreTools.Library.DatFiles;
using SabreTools.Library.DatItems;
namespace SabreTools.Library.FileTypes
@@ -79,10 +77,8 @@ namespace SabreTools.Library.FileTypes
///
/// Generate a list of DatItem objects from the header values in an archive
///
- /// True if entry dates should be included, false otherwise (default)
/// List of DatItem objects representing the found data
- /// TODO: All instances of Hash.DeepHashes should be made into 0x0 eventually
- public override List GetChildren(bool date = false)
+ public override List GetChildren()
{
throw new NotImplementedException();
}
diff --git a/SabreTools.Library/IO/FileExtensions.cs b/SabreTools.Library/IO/FileExtensions.cs
index 99f1c932..5e1c82dd 100644
--- a/SabreTools.Library/IO/FileExtensions.cs
+++ b/SabreTools.Library/IO/FileExtensions.cs
@@ -339,11 +339,10 @@ namespace SabreTools.Library.IO
/// Retrieve file information for a single file
///
/// Filename to get information from
- /// True if the file Date should be included, false otherwise (default)
/// Populated string representing the name of the skipper to use, a blank string to use the first available checker, null otherwise
/// TreatAsFiles representing special format scanning
/// Populated BaseFile object if success, empty one on error
- public static BaseFile GetInfo(string input, bool date = false, string header = null, TreatAsFile asFiles = 0x00)
+ public static BaseFile GetInfo(string input, string header = null, TreatAsFile asFiles = 0x00)
{
// Add safeguard if file doesn't exist
if (!File.Exists(input))
@@ -384,7 +383,7 @@ namespace SabreTools.Library.IO
// Add unique data from the file
baseFile.Filename = Path.GetFileName(input);
- baseFile.Date = (date ? new FileInfo(input).LastWriteTime.ToString("yyyy/MM/dd HH:mm:ss") : string.Empty);
+ baseFile.Date = new FileInfo(input).LastWriteTime.ToString("yyyy/MM/dd HH:mm:ss");
return baseFile;
}
diff --git a/SabreTools/Features/Batch.cs b/SabreTools/Features/Batch.cs
index 4e9dc876..c156c1a9 100644
--- a/SabreTools/Features/Batch.cs
+++ b/SabreTools/Features/Batch.cs
@@ -157,7 +157,10 @@ Reset the internal state: reset();";
}
// TODO: We might not want to remove higher order hashes in the future
- datFile.ApplyCleaning(new Cleaner() { ExcludeFields = Hash.DeepHashes.AsFields() });
+ // TODO: We might not want to remove dates in the future
+ Cleaner dfdCleaner = new Cleaner() { ExcludeFields = Hash.DeepHashes.AsFields() };
+ dfdCleaner.ExcludeFields.Add(Field.DatItem_Date);
+ datFile.ApplyCleaning(dfdCleaner);
break;
diff --git a/SabreTools/Features/DatFromDir.cs b/SabreTools/Features/DatFromDir.cs
index 30de1c95..9359a3cf 100644
--- a/SabreTools/Features/DatFromDir.cs
+++ b/SabreTools/Features/DatFromDir.cs
@@ -66,11 +66,13 @@ namespace SabreTools.Features
var skipFileType = GetSkipFileType(features);
var splitType = GetSplitType(features);
- // Apply the omit from scan values to the cleaner
+ // Apply the specialized field removals to the cleaner
if (Cleaner.ExcludeFields == null)
Cleaner.ExcludeFields = new List();
Cleaner.ExcludeFields.AddRange(omitFromScan.AsFields());
+ if (!addFileDates)
+ Cleaner.ExcludeFields.Add(Field.DatItem_Date);
// Create a new DATFromDir object and process the inputs
DatFile basedat = DatFile.Create(Header);
@@ -94,7 +96,6 @@ namespace SabreTools.Features
asFiles,
skipFileType,
addBlankFiles,
- addFileDates,
quickScan: omitFromScan == Hash.SecureHashes);
if (success)