diff --git a/SabreTools.Helper/Data/Structs.cs b/SabreTools.Helper/Data/Structs.cs index 3c1e2b46..a846a6ab 100644 --- a/SabreTools.Helper/Data/Structs.cs +++ b/SabreTools.Helper/Data/Structs.cs @@ -6,7 +6,7 @@ namespace SabreTools.Helper /// /// Intermediate struct for holding and processing rom data /// - public struct RomData + public struct RomData : IComparable { public string Manufacturer; public string System; @@ -24,6 +24,28 @@ namespace SabreTools.Helper public DupeType Dupe; public bool Nodump; public string Date; + + public int CompareTo(object obj) + { + try + { + RomData comp = (RomData)obj; + if (this.Game == comp.Game && + this.Name == comp.Name && + RomTools.IsDuplicate(this, comp)) + { + return 0; + } + else + { + return 1; + } + } + catch + { + return 1; + } + } } ///