From 80594872f2d6354f78ee6f326bfaa49348d59f8e Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Mon, 13 Jun 2016 12:05:45 -0700 Subject: [PATCH] [DatTools] Create new ListDuplicates method --- SabreTools.Helper/Tools/DatTools.cs | 31 +++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/SabreTools.Helper/Tools/DatTools.cs b/SabreTools.Helper/Tools/DatTools.cs index 1a681c21..4593d4c7 100644 --- a/SabreTools.Helper/Tools/DatTools.cs +++ b/SabreTools.Helper/Tools/DatTools.cs @@ -1573,6 +1573,37 @@ namespace SabreTools.Helper return outroms; } + /// + /// List all duplicates found in a DAT based on a rom + /// + /// Rom to use as a base + /// DAT to match against + /// List of matched RomData objects + public static List ListDuplicates(RomData lastrom, DatData datdata) + { + List output = new List(); + + // Check for an empty rom list first + if (datdata.Roms == null || datdata.Roms.Count == 0) + { + return output; + } + + // Try to find duplicates + foreach (List roms in datdata.Roms.Values) + { + foreach (RomData rom in roms) + { + if (RomDuplicate(rom, lastrom)) + { + output.Add(rom); + } + } + } + + return output; + } + /// /// Determine if a file is a duplicate using partial matching logic ///