DedupeType influences sort more than anything

This commit is contained in:
Matt Nadareski
2025-01-21 11:07:39 -05:00
parent e17809d104
commit e62c14d1b7
8 changed files with 41 additions and 70 deletions

View File

@@ -108,12 +108,12 @@ namespace SabreTools.DatTools
if (DedupeRoms == DedupeType.Full)
{
datFile.BucketBy(ItemKey.CRC);
datFile.Deduplicate(DedupeRoms);
datFile.Deduplicate();
}
else if (DedupeRoms == DedupeType.Game)
{
datFile.BucketBy(ItemKey.Machine);
datFile.Deduplicate(DedupeRoms);
datFile.Deduplicate();
}
// Process description to machine name

View File

@@ -1,5 +1,28 @@
namespace SabreTools.DatTools
{
/// <summary>
/// Determines the DAT deduplication type
/// </summary>
public enum DedupeType
{
/// <summary>
/// No deduplication
/// </summary>
None = 0,
/// <summary>
/// Deduplicate across all available fields
/// </summary>
/// <remarks>Requires sorting by any hash</remarks>
Full,
/// <summary>
/// Deduplicate on a per-machine basis
/// </summary>
/// <remarks>Requires sorting by machine</remarks>
Game,
}
/// <summary>
/// Determines which files should be skipped in DFD
/// </summary>

View File

@@ -211,12 +211,12 @@ namespace SabreTools.DatTools
if (hashOnly)
{
datFile.BucketBy(ItemKey.CRC);
datFile.Deduplicate(DedupeType.Full);
datFile.Deduplicate();
}
else
{
datFile.BucketBy(ItemKey.Machine);
datFile.Deduplicate(DedupeType.Full);
datFile.Deduplicate();
}
// Then mark items for removal
@@ -261,12 +261,12 @@ namespace SabreTools.DatTools
if (hashOnly)
{
datFile.BucketBy(ItemKey.CRC);
datFile.Deduplicate(DedupeType.Full);
datFile.Deduplicate();
}
else
{
datFile.BucketBy(ItemKey.Machine);
datFile.Deduplicate(DedupeType.Full);
datFile.Deduplicate();
}
// Then mark items for removal