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
///