[DatTools] Create new ListDuplicates method

This commit is contained in:
Matt Nadareski
2016-06-13 12:05:45 -07:00
parent 3a655ed954
commit 80594872f2

View File

@@ -1573,6 +1573,37 @@ namespace SabreTools.Helper
return outroms;
}
/// <summary>
/// List all duplicates found in a DAT based on a rom
/// </summary>
/// <param name="lastrom">Rom to use as a base</param>
/// <param name="datdata">DAT to match against</param>
/// <returns>List of matched RomData objects</returns>
public static List<RomData> ListDuplicates(RomData lastrom, DatData datdata)
{
List<RomData> output = new List<RomData>();
// Check for an empty rom list first
if (datdata.Roms == null || datdata.Roms.Count == 0)
{
return output;
}
// Try to find duplicates
foreach (List<RomData> roms in datdata.Roms.Values)
{
foreach (RomData rom in roms)
{
if (RomDuplicate(rom, lastrom))
{
output.Add(rom);
}
}
}
return output;
}
/// <summary>
/// Determine if a file is a duplicate using partial matching logic
/// </summary>