Move dedupe to Cleaner, remove StripHash

This commit is contained in:
Matt Nadareski
2020-08-30 23:11:05 -07:00
parent 6ed35bffee
commit a70dc3bad6
5 changed files with 16 additions and 36 deletions

View File

@@ -709,6 +709,12 @@ namespace SabreTools.Library.DatFiles
// Perform item-level cleaning
CleanDatItems(cleaner);
// Bucket and dedupe according to the flag
if (cleaner?.DedupeRoms == DedupeType.Full)
Items.BucketBy(Field.DatItem_CRC, cleaner.DedupeRoms);
else if (cleaner?.DedupeRoms == DedupeType.Game)
Items.BucketBy(Field.Machine_Name, cleaner.DedupeRoms);
// Process description to machine name
if (cleaner?.DescriptionAsName == true)
MachineDescriptionToName();
@@ -3437,14 +3443,6 @@ namespace SabreTools.Library.DatFiles
consoleOutput.ReplaceStatistics(Header.FileName, Items.Keys.Count(), Items);
}
// Bucket and dedupe according to the flag
// TODO: Can this be made into a cleaning flag instead of a header one?
// TODO: Should this be run as a cleaning step?
if (Header.DedupeRoms == DedupeType.Full)
Items.BucketBy(Field.DatItem_CRC, Header.DedupeRoms, norename: norename);
else if (Header.DedupeRoms == DedupeType.Game)
Items.BucketBy(Field.Machine_Name, Header.DedupeRoms, norename: norename);
// Bucket roms by game name, if not already
Items.BucketBy(Field.Machine_Name, DedupeType.None, norename: norename);

View File

@@ -265,22 +265,6 @@ namespace SabreTools.Library.DatFiles
#endregion
#region Filtering Fields
/// <summary>
/// Deduplicate items using the given method
/// </summary>
[JsonIgnore]
public DedupeType DedupeRoms { get; set; }
/// <summary>
/// Strip hash types from items
/// </summary>
[JsonIgnore]
public Hash StripHash { get; private set; }
#endregion
#region Write pre-processing
/// <summary>
@@ -501,8 +485,6 @@ namespace SabreTools.Library.DatFiles
ForceNodump = this.ForceNodump,
ForcePacking = this.ForcePacking,
DatFormat = this.DatFormat,
DedupeRoms = this.DedupeRoms,
StripHash = this.StripHash,
UseRomName = this.UseRomName,
Prefix = this.Prefix,
@@ -542,8 +524,6 @@ namespace SabreTools.Library.DatFiles
ForceNodump = this.ForceNodump,
ForcePacking = this.ForcePacking,
DatFormat = this.DatFormat,
DedupeRoms = this.DedupeRoms,
StripHash = this.StripHash,
};
}
@@ -555,8 +535,6 @@ namespace SabreTools.Library.DatFiles
return new DatHeader()
{
DatFormat = this.DatFormat,
DedupeRoms = this.DedupeRoms,
StripHash = this.StripHash,
UseRomName = this.UseRomName,
Prefix = this.Prefix,
@@ -631,9 +609,6 @@ namespace SabreTools.Library.DatFiles
if (datHeader.DatFormat != 0x00)
DatFormat = datHeader.DatFormat;
DedupeRoms = datHeader.DedupeRoms;
//StripHash = datHeader.StripHash;
if (!string.IsNullOrWhiteSpace(datHeader.Prefix))
Prefix = datHeader.Prefix;