Turn dupe type key into a metadata property

This commit is contained in:
Matt Nadareski
2026-04-02 20:41:14 -04:00
parent c87db265dd
commit c0fd4d1334
10 changed files with 24 additions and 28 deletions

View File

@@ -56,16 +56,12 @@ namespace SabreTools.Metadata.DatItems
[XmlInclude(typeof(SourceDetails))]
public abstract class DatItem : ModelBackedItem<Data.Models.Metadata.DatItem>, IEquatable<DatItem>, IComparable<DatItem>, ICloneable
{
#region Constants
#region Fields
/// <summary>
/// Duplicate type when compared to another item
/// </summary>
public const string DupeTypeKey = "DUPETYPE";
#endregion
#region Fields
public DupeType DupeType { get; set; } = 0x00;
/// <summary>
/// Item type for the object

View File

@@ -80,13 +80,13 @@ namespace SabreTools.Metadata.DatItems.Formats
public Disk() : base()
{
Write<DupeType>(DupeTypeKey, 0x00);
DupeType = 0x00;
Status = ItemStatus.None;
}
public Disk(Data.Models.Metadata.Disk item) : base(item)
{
Write<DupeType>(DupeTypeKey, 0x00);
DupeType = 0x00;
// Process hash values
string? md5 = ReadString(Data.Models.Metadata.Disk.MD5Key);
@@ -129,7 +129,7 @@ namespace SabreTools.Metadata.DatItems.Formats
rom.Write<DataArea?>(Rom.DataAreaKey, dataArea);
}
rom.Write(DupeTypeKey, Read<DupeType>(DupeTypeKey));
rom.DupeType = DupeType;
rom.Machine = Machine?.Clone() as Machine;
rom.Write(Rom.PartKey, Read<Part>(PartKey)?.Clone() as Part);
rom.RemoveFlag = RemoveFlag;

View File

@@ -120,7 +120,7 @@ namespace SabreTools.Metadata.DatItems.Formats
_sha256 = this._sha256,
Format = this.Format,
};
file.Write(DupeTypeKey, Read<DupeType>(DupeTypeKey));
file.DupeType = DupeType;
file.Machine = Machine!.Clone() as Machine ?? new Machine();
file.RemoveFlag = RemoveFlag;
file.Source = Source?.Clone() as Source;
@@ -143,7 +143,7 @@ namespace SabreTools.Metadata.DatItems.Formats
rom.Write<string?>(Data.Models.Metadata.Rom.SHA1Key, SHA1);
rom.Write<string?>(Data.Models.Metadata.Rom.SHA256Key, SHA256);
rom.Write(DupeTypeKey, Read<DupeType>(DupeTypeKey));
rom.DupeType = DupeType;
rom.Machine = Machine?.Clone() as Machine;
rom.RemoveFlag = RemoveFlag;
rom.Source = Source?.Clone() as Source;

View File

@@ -25,12 +25,12 @@ namespace SabreTools.Metadata.DatItems.Formats
public Media() : base()
{
Write<DupeType>(DupeTypeKey, 0x00);
DupeType = 0x00;
}
public Media(Data.Models.Metadata.Media item) : base(item)
{
Write<DupeType>(DupeTypeKey, 0x00);
DupeType = 0x00;
// Process hash values
string? md5 = ReadString(Data.Models.Metadata.Media.MD5Key);
@@ -67,7 +67,7 @@ namespace SabreTools.Metadata.DatItems.Formats
{
var rom = new Rom(_internal.ConvertToRom()!);
rom.Write(DupeTypeKey, Read<DupeType>(DupeTypeKey));
rom.DupeType = DupeType;
rom.Machine = Machine?.Clone() as Machine;
rom.RemoveFlag = RemoveFlag;
rom.Source = Source?.Clone() as Source;

View File

@@ -136,7 +136,7 @@ namespace SabreTools.Metadata.DatItems.Formats
public Rom() : base()
{
Write<DupeType>(DupeTypeKey, 0x00);
DupeType = 0x00;
Status = ItemStatus.None;
}
@@ -247,7 +247,7 @@ namespace SabreTools.Metadata.DatItems.Formats
public Rom(Data.Models.Metadata.Rom item) : base(item)
{
Write<DupeType>(DupeTypeKey, 0x00);
DupeType = 0x00;
// Process hash values
long? size = ReadLong(Data.Models.Metadata.Rom.SizeKey);