mirror of
https://github.com/claunia/SabreTools.git
synced 2025-12-16 19:14:27 +00:00
Move dedupe to Cleaner, remove StripHash
This commit is contained in:
@@ -709,6 +709,12 @@ namespace SabreTools.Library.DatFiles
|
|||||||
// Perform item-level cleaning
|
// Perform item-level cleaning
|
||||||
CleanDatItems(cleaner);
|
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
|
// Process description to machine name
|
||||||
if (cleaner?.DescriptionAsName == true)
|
if (cleaner?.DescriptionAsName == true)
|
||||||
MachineDescriptionToName();
|
MachineDescriptionToName();
|
||||||
@@ -3437,14 +3443,6 @@ namespace SabreTools.Library.DatFiles
|
|||||||
consoleOutput.ReplaceStatistics(Header.FileName, Items.Keys.Count(), Items);
|
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
|
// Bucket roms by game name, if not already
|
||||||
Items.BucketBy(Field.Machine_Name, DedupeType.None, norename: norename);
|
Items.BucketBy(Field.Machine_Name, DedupeType.None, norename: norename);
|
||||||
|
|
||||||
|
|||||||
@@ -265,22 +265,6 @@ namespace SabreTools.Library.DatFiles
|
|||||||
|
|
||||||
#endregion
|
#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
|
#region Write pre-processing
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -501,8 +485,6 @@ namespace SabreTools.Library.DatFiles
|
|||||||
ForceNodump = this.ForceNodump,
|
ForceNodump = this.ForceNodump,
|
||||||
ForcePacking = this.ForcePacking,
|
ForcePacking = this.ForcePacking,
|
||||||
DatFormat = this.DatFormat,
|
DatFormat = this.DatFormat,
|
||||||
DedupeRoms = this.DedupeRoms,
|
|
||||||
StripHash = this.StripHash,
|
|
||||||
|
|
||||||
UseRomName = this.UseRomName,
|
UseRomName = this.UseRomName,
|
||||||
Prefix = this.Prefix,
|
Prefix = this.Prefix,
|
||||||
@@ -542,8 +524,6 @@ namespace SabreTools.Library.DatFiles
|
|||||||
ForceNodump = this.ForceNodump,
|
ForceNodump = this.ForceNodump,
|
||||||
ForcePacking = this.ForcePacking,
|
ForcePacking = this.ForcePacking,
|
||||||
DatFormat = this.DatFormat,
|
DatFormat = this.DatFormat,
|
||||||
DedupeRoms = this.DedupeRoms,
|
|
||||||
StripHash = this.StripHash,
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -555,8 +535,6 @@ namespace SabreTools.Library.DatFiles
|
|||||||
return new DatHeader()
|
return new DatHeader()
|
||||||
{
|
{
|
||||||
DatFormat = this.DatFormat,
|
DatFormat = this.DatFormat,
|
||||||
DedupeRoms = this.DedupeRoms,
|
|
||||||
StripHash = this.StripHash,
|
|
||||||
|
|
||||||
UseRomName = this.UseRomName,
|
UseRomName = this.UseRomName,
|
||||||
Prefix = this.Prefix,
|
Prefix = this.Prefix,
|
||||||
@@ -631,9 +609,6 @@ namespace SabreTools.Library.DatFiles
|
|||||||
if (datHeader.DatFormat != 0x00)
|
if (datHeader.DatFormat != 0x00)
|
||||||
DatFormat = datHeader.DatFormat;
|
DatFormat = datHeader.DatFormat;
|
||||||
|
|
||||||
DedupeRoms = datHeader.DedupeRoms;
|
|
||||||
//StripHash = datHeader.StripHash;
|
|
||||||
|
|
||||||
if (!string.IsNullOrWhiteSpace(datHeader.Prefix))
|
if (!string.IsNullOrWhiteSpace(datHeader.Prefix))
|
||||||
Prefix = datHeader.Prefix;
|
Prefix = datHeader.Prefix;
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
|
||||||
|
using SabreTools.Library.DatFiles;
|
||||||
using SabreTools.Library.DatItems;
|
using SabreTools.Library.DatItems;
|
||||||
|
|
||||||
namespace SabreTools.Library.Filtering
|
namespace SabreTools.Library.Filtering
|
||||||
@@ -14,6 +15,12 @@ namespace SabreTools.Library.Filtering
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public bool Clean { get; set; }
|
public bool Clean { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Deduplicate items using the given method
|
||||||
|
/// </summary>
|
||||||
|
public DedupeType DedupeRoms { get; set; }
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Set Machine Description from Machine Name
|
/// Set Machine Description from Machine Name
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -2699,6 +2699,7 @@ Some special strings that can be used:
|
|||||||
Cleaner cleaner = new Cleaner()
|
Cleaner cleaner = new Cleaner()
|
||||||
{
|
{
|
||||||
Clean = GetBoolean(features, CleanValue),
|
Clean = GetBoolean(features, CleanValue),
|
||||||
|
DedupeRoms = GetDedupeType(features),
|
||||||
DescriptionAsName = GetBoolean(features, DescriptionAsNameValue),
|
DescriptionAsName = GetBoolean(features, DescriptionAsNameValue),
|
||||||
KeepEmptyGames = GetBoolean(features, KeepEmptyGamesValue),
|
KeepEmptyGames = GetBoolean(features, KeepEmptyGamesValue),
|
||||||
OneGamePerRegion = GetBoolean(features, OneGamePerRegionValue),
|
OneGamePerRegion = GetBoolean(features, OneGamePerRegionValue),
|
||||||
@@ -2732,7 +2733,6 @@ Some special strings that can be used:
|
|||||||
Category = GetString(features, CategoryStringValue),
|
Category = GetString(features, CategoryStringValue),
|
||||||
Comment = GetString(features, CommentStringValue),
|
Comment = GetString(features, CommentStringValue),
|
||||||
Date = GetString(features, DateStringValue),
|
Date = GetString(features, DateStringValue),
|
||||||
DedupeRoms = GetDedupeType(features),
|
|
||||||
Description = GetString(features, DescriptionStringValue),
|
Description = GetString(features, DescriptionStringValue),
|
||||||
Email = GetString(features, EmailStringValue),
|
Email = GetString(features, EmailStringValue),
|
||||||
FileName = GetString(features, FilenameStringValue),
|
FileName = GetString(features, FilenameStringValue),
|
||||||
|
|||||||
@@ -125,14 +125,14 @@ namespace SabreTools.Features
|
|||||||
{
|
{
|
||||||
Header.Name = (updateMode != 0 ? "DiffDAT" : "MergeDAT")
|
Header.Name = (updateMode != 0 ? "DiffDAT" : "MergeDAT")
|
||||||
+ (Header.Type == "SuperDAT" ? "-SuperDAT" : string.Empty)
|
+ (Header.Type == "SuperDAT" ? "-SuperDAT" : string.Empty)
|
||||||
+ (Header.DedupeRoms != DedupeType.None ? "-deduped" : string.Empty);
|
+ (Cleaner.DedupeRoms != DedupeType.None ? "-deduped" : string.Empty);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (string.IsNullOrWhiteSpace(Header.Description))
|
if (string.IsNullOrWhiteSpace(Header.Description))
|
||||||
{
|
{
|
||||||
Header.Description = (updateMode != 0 ? "DiffDAT" : "MergeDAT")
|
Header.Description = (updateMode != 0 ? "DiffDAT" : "MergeDAT")
|
||||||
+ (Header.Type == "SuperDAT" ? "-SuperDAT" : string.Empty)
|
+ (Header.Type == "SuperDAT" ? "-SuperDAT" : string.Empty)
|
||||||
+ (Header.DedupeRoms != DedupeType.None ? " - deduped" : string.Empty);
|
+ (Cleaner.DedupeRoms != DedupeType.None ? " - deduped" : string.Empty);
|
||||||
|
|
||||||
if (!GetBoolean(features, NoAutomaticDateValue))
|
if (!GetBoolean(features, NoAutomaticDateValue))
|
||||||
Header.Description += $" ({Header.Date})";
|
Header.Description += $" ({Header.Date})";
|
||||||
|
|||||||
Reference in New Issue
Block a user