mirror of
https://github.com/SabreTools/SabreTools.Serialization.git
synced 2026-07-08 18:06:41 +00:00
Change ItemType into concerete property
This commit is contained in:
@@ -85,7 +85,7 @@ namespace SabreTools.Metadata.DatItems
|
||||
/// <summary>
|
||||
/// Item type for the object
|
||||
/// </summary>
|
||||
protected abstract ItemType ItemType { get; }
|
||||
internal abstract Data.Models.Metadata.ItemType ItemType { get; }
|
||||
|
||||
#endregion
|
||||
|
||||
@@ -223,8 +223,8 @@ namespace SabreTools.Metadata.DatItems
|
||||
return false;
|
||||
|
||||
// Get the types for comparison
|
||||
ItemType selfType = ReadString(Data.Models.Metadata.DatItem.TypeKey).AsItemType();
|
||||
ItemType otherType = other.ReadString(Data.Models.Metadata.DatItem.TypeKey).AsItemType();
|
||||
Data.Models.Metadata.ItemType selfType = ItemType;
|
||||
Data.Models.Metadata.ItemType otherType = other.ItemType;
|
||||
|
||||
// If we don't have a matched type, return false
|
||||
if (selfType != otherType)
|
||||
|
||||
@@ -18,7 +18,6 @@ namespace SabreTools.Metadata.DatItems
|
||||
_internal = new T();
|
||||
|
||||
SetName(string.Empty);
|
||||
Write(Data.Models.Metadata.DatItem.TypeKey, ItemType);
|
||||
Write(MachineKey, new Machine());
|
||||
}
|
||||
|
||||
@@ -29,7 +28,6 @@ namespace SabreTools.Metadata.DatItems
|
||||
{
|
||||
_internal = item;
|
||||
|
||||
Write(Data.Models.Metadata.DatItem.TypeKey, ItemType);
|
||||
Write(MachineKey, new Machine());
|
||||
}
|
||||
|
||||
@@ -78,8 +76,8 @@ namespace SabreTools.Metadata.DatItems
|
||||
return false;
|
||||
|
||||
// Get the types for comparison
|
||||
ItemType selfType = ReadString(Data.Models.Metadata.DatItem.TypeKey).AsItemType();
|
||||
ItemType otherType = other.ReadString(Data.Models.Metadata.DatItem.TypeKey).AsItemType();
|
||||
Data.Models.Metadata.ItemType selfType = ItemType;
|
||||
Data.Models.Metadata.ItemType otherType = other.ItemType;
|
||||
|
||||
// If we don't have a matched type, return false
|
||||
if (selfType != otherType)
|
||||
|
||||
@@ -41,153 +41,6 @@ namespace SabreTools.Metadata.DatItems
|
||||
SpamSum,
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Determine what type of file an item is
|
||||
/// </summary>
|
||||
public enum ItemType
|
||||
{
|
||||
/// <summary>
|
||||
/// This is a fake flag that is used for filter only
|
||||
/// </summary>
|
||||
NULL = 0,
|
||||
|
||||
// "Actionable" item types
|
||||
|
||||
/// <summary>"rom"</summary>
|
||||
Rom,
|
||||
|
||||
/// <summary>"disk"</summary>
|
||||
Disk,
|
||||
|
||||
/// <summary>"file"</summary>
|
||||
File,
|
||||
|
||||
/// <summary>"media"</summary>
|
||||
Media,
|
||||
|
||||
// "Auxiliary" item types
|
||||
|
||||
/// <summary>"adjuster"</summary>
|
||||
Adjuster,
|
||||
|
||||
/// <summary>"analog"</summary>
|
||||
Analog,
|
||||
|
||||
/// <summary>"archive"</summary>
|
||||
Archive,
|
||||
|
||||
/// <summary>"biosset"</summary>
|
||||
BiosSet,
|
||||
|
||||
/// <summary>"chip"</summary>
|
||||
Chip,
|
||||
|
||||
/// <summary>"condition"</summary>
|
||||
Condition,
|
||||
|
||||
/// <summary>"configuration"</summary>
|
||||
Configuration,
|
||||
|
||||
/// <summary>"conflocation"</summary>
|
||||
ConfLocation,
|
||||
|
||||
/// <summary>"confsetting"</summary>
|
||||
ConfSetting,
|
||||
|
||||
/// <summary>"control"</summary>
|
||||
Control,
|
||||
|
||||
/// <summary>"dataarea"</summary>
|
||||
DataArea,
|
||||
|
||||
/// <summary>"device"</summary>
|
||||
Device,
|
||||
|
||||
/// <summary>"device_ref", "deviceref"</summary>
|
||||
DeviceRef,
|
||||
|
||||
/// <summary>"diplocation"</summary>
|
||||
DipLocation,
|
||||
|
||||
/// <summary>"dipswitch"</summary>
|
||||
DipSwitch,
|
||||
|
||||
/// <summary>"dipvalue"</summary>
|
||||
DipValue,
|
||||
|
||||
/// <summary>"diskarea"</summary>
|
||||
DiskArea,
|
||||
|
||||
/// <summary>"display"</summary>
|
||||
Display,
|
||||
|
||||
/// <summary>"driver"</summary>
|
||||
Driver,
|
||||
|
||||
/// <summary>"extension"</summary>
|
||||
Extension,
|
||||
|
||||
/// <summary>"feature"</summary>
|
||||
Feature,
|
||||
|
||||
/// <summary>"info"</summary>
|
||||
Info,
|
||||
|
||||
/// <summary>"input"</summary>
|
||||
Input,
|
||||
|
||||
/// <summary>"instance"</summary>
|
||||
Instance,
|
||||
|
||||
/// <summary>"original"</summary>
|
||||
Original,
|
||||
|
||||
/// <summary>"part"</summary>
|
||||
Part,
|
||||
|
||||
/// <summary>"part_feature", "partfeature"</summary>
|
||||
PartFeature,
|
||||
|
||||
/// <summary>"port"</summary>
|
||||
Port,
|
||||
|
||||
/// <summary>"ramoption", "ram_option"</summary>
|
||||
RamOption,
|
||||
|
||||
/// <summary>"release"</summary>
|
||||
Release,
|
||||
|
||||
/// <summary>"release_details", "releasedetails"</summary>
|
||||
ReleaseDetails,
|
||||
|
||||
/// <summary>"sample"</summary>
|
||||
Sample,
|
||||
|
||||
/// <summary>"serials"</summary>
|
||||
Serials,
|
||||
|
||||
/// <summary>"sharedfeat", "shared_feat", "sharedfeature", "shared_feature"</summary>
|
||||
SharedFeat,
|
||||
|
||||
/// <summary>"slot"</summary>
|
||||
Slot,
|
||||
|
||||
/// <summary>"slotoption", "slot_option"</summary>
|
||||
SlotOption,
|
||||
|
||||
/// <summary>"softwarelist", "software_list"</summary>
|
||||
SoftwareList,
|
||||
|
||||
/// <summary>"sound"</summary>
|
||||
Sound,
|
||||
|
||||
/// <summary>"source_details", "sourcedetails"</summary>
|
||||
SourceDetails,
|
||||
|
||||
/// <summary>"blank"</summary>
|
||||
Blank = 99, // This is not a real type, only used internally
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Determine what type of machine it is
|
||||
/// </summary>
|
||||
|
||||
@@ -9,58 +9,61 @@ namespace SabreTools.Metadata.DatItems
|
||||
/// </summary>
|
||||
/// <param name="value">String value to parse/param>
|
||||
/// <returns>Enum value representing the input, default on error</returns>
|
||||
public static ItemType AsItemType(this string? value)
|
||||
public static Data.Models.Metadata.ItemType AsItemType(this string? value)
|
||||
{
|
||||
return value?.ToLowerInvariant() switch
|
||||
{
|
||||
// "Actionable" item types
|
||||
"rom" => ItemType.Rom,
|
||||
"disk" => ItemType.Disk,
|
||||
"file" => ItemType.File,
|
||||
"media" => ItemType.Media,
|
||||
"rom" => Data.Models.Metadata.ItemType.Rom,
|
||||
"disk" => Data.Models.Metadata.ItemType.Disk,
|
||||
"file" => Data.Models.Metadata.ItemType.File,
|
||||
"media" => Data.Models.Metadata.ItemType.Media,
|
||||
|
||||
// "Auxiliary" item types
|
||||
"adjuster" => ItemType.Adjuster,
|
||||
"analog" => ItemType.Analog,
|
||||
"archive" => ItemType.Archive,
|
||||
"biosset" => ItemType.BiosSet,
|
||||
"chip" => ItemType.Chip,
|
||||
"condition" => ItemType.Condition,
|
||||
"configuration" => ItemType.Configuration,
|
||||
"conflocation" => ItemType.ConfLocation,
|
||||
"confsetting" => ItemType.ConfSetting,
|
||||
"control" => ItemType.Control,
|
||||
"dataarea" => ItemType.DataArea,
|
||||
"device" => ItemType.Device,
|
||||
"device_ref" or "deviceref" => ItemType.DeviceRef,
|
||||
"diplocation" => ItemType.DipLocation,
|
||||
"dipswitch" => ItemType.DipSwitch,
|
||||
"dipvalue" => ItemType.DipValue,
|
||||
"diskarea" => ItemType.DiskArea,
|
||||
"display" => ItemType.Display,
|
||||
"driver" => ItemType.Driver,
|
||||
"extension" => ItemType.Extension,
|
||||
"feature" => ItemType.Feature,
|
||||
"info" => ItemType.Info,
|
||||
"input" => ItemType.Input,
|
||||
"instance" => ItemType.Instance,
|
||||
"original" => ItemType.Original,
|
||||
"part" => ItemType.Part,
|
||||
"part_feature" or "partfeature" => ItemType.PartFeature,
|
||||
"port" => ItemType.Port,
|
||||
"ramoption" or "ram_option" => ItemType.RamOption,
|
||||
"release" => ItemType.Release,
|
||||
"release_details" or "releasedetails" => ItemType.ReleaseDetails,
|
||||
"sample" => ItemType.Sample,
|
||||
"serials" => ItemType.Serials,
|
||||
"sharedfeat" or "shared_feat" or "sharedfeature" or "shared_feature" => ItemType.SharedFeat,
|
||||
"slot" => ItemType.Slot,
|
||||
"slotoption" or "slot_option" => ItemType.SlotOption,
|
||||
"softwarelist" or "software_list" => ItemType.SoftwareList,
|
||||
"sound" => ItemType.Sound,
|
||||
"source_details" or "sourcedetails" => ItemType.SourceDetails,
|
||||
"blank" => ItemType.Blank,
|
||||
_ => ItemType.NULL,
|
||||
"adjuster" => Data.Models.Metadata.ItemType.Adjuster,
|
||||
"analog" => Data.Models.Metadata.ItemType.Analog,
|
||||
"archive" => Data.Models.Metadata.ItemType.Archive,
|
||||
"biosset" => Data.Models.Metadata.ItemType.BiosSet,
|
||||
"chip" => Data.Models.Metadata.ItemType.Chip,
|
||||
"condition" => Data.Models.Metadata.ItemType.Condition,
|
||||
"configuration" => Data.Models.Metadata.ItemType.Configuration,
|
||||
"conflocation" => Data.Models.Metadata.ItemType.ConfLocation,
|
||||
"confsetting" => Data.Models.Metadata.ItemType.ConfSetting,
|
||||
"control" => Data.Models.Metadata.ItemType.Control,
|
||||
"dataarea" => Data.Models.Metadata.ItemType.DataArea,
|
||||
"device" => Data.Models.Metadata.ItemType.Device,
|
||||
"device_ref" or "deviceref" => Data.Models.Metadata.ItemType.DeviceRef,
|
||||
"diplocation" => Data.Models.Metadata.ItemType.DipLocation,
|
||||
"dipswitch" => Data.Models.Metadata.ItemType.DipSwitch,
|
||||
"dipvalue" => Data.Models.Metadata.ItemType.DipValue,
|
||||
"diskarea" => Data.Models.Metadata.ItemType.DiskArea,
|
||||
"display" => Data.Models.Metadata.ItemType.Display,
|
||||
"driver" => Data.Models.Metadata.ItemType.Driver,
|
||||
"dump" => Data.Models.Metadata.ItemType.Dump,
|
||||
"extension" => Data.Models.Metadata.ItemType.Extension,
|
||||
"feature" => Data.Models.Metadata.ItemType.Feature,
|
||||
"info" => Data.Models.Metadata.ItemType.Info,
|
||||
"input" => Data.Models.Metadata.ItemType.Input,
|
||||
"instance" => Data.Models.Metadata.ItemType.Instance,
|
||||
"original" => Data.Models.Metadata.ItemType.Original,
|
||||
"part" => Data.Models.Metadata.ItemType.Part,
|
||||
"part_feature" or "partfeature" => Data.Models.Metadata.ItemType.PartFeature,
|
||||
"port" => Data.Models.Metadata.ItemType.Port,
|
||||
"ramoption" or "ram_option" => Data.Models.Metadata.ItemType.RamOption,
|
||||
"release" => Data.Models.Metadata.ItemType.Release,
|
||||
"release_details" or "releasedetails" => Data.Models.Metadata.ItemType.ReleaseDetails,
|
||||
"sample" => Data.Models.Metadata.ItemType.Sample,
|
||||
"serials" => Data.Models.Metadata.ItemType.Serials,
|
||||
"sharedfeat" or "shared_feat" or "sharedfeature" or "shared_feature" => Data.Models.Metadata.ItemType.SharedFeat,
|
||||
"slot" => Data.Models.Metadata.ItemType.Slot,
|
||||
"slotoption" or "slot_option" => Data.Models.Metadata.ItemType.SlotOption,
|
||||
"software" => Data.Models.Metadata.ItemType.Software,
|
||||
"softwarelist" or "software_list" => Data.Models.Metadata.ItemType.SoftwareList,
|
||||
"sound" => Data.Models.Metadata.ItemType.Sound,
|
||||
"source_details" or "sourcedetails" => Data.Models.Metadata.ItemType.SourceDetails,
|
||||
"video" => Data.Models.Metadata.ItemType.Video,
|
||||
"blank" => Data.Models.Metadata.ItemType.Blank,
|
||||
_ => Data.Models.Metadata.ItemType.NULL,
|
||||
};
|
||||
}
|
||||
|
||||
@@ -90,60 +93,62 @@ namespace SabreTools.Metadata.DatItems
|
||||
/// </summary>
|
||||
/// <param name="value">Enum value to parse/param>
|
||||
/// <returns>String value representing the input, default on error</returns>
|
||||
public static string? AsStringValue(this ItemType value)
|
||||
public static string? AsStringValue(this Data.Models.Metadata.ItemType value)
|
||||
{
|
||||
return value switch
|
||||
{
|
||||
// "Actionable" item types
|
||||
ItemType.Rom => "rom",
|
||||
ItemType.Disk => "disk",
|
||||
ItemType.File => "file",
|
||||
ItemType.Media => "media",
|
||||
Data.Models.Metadata.ItemType.Rom => "rom",
|
||||
Data.Models.Metadata.ItemType.Disk => "disk",
|
||||
Data.Models.Metadata.ItemType.File => "file",
|
||||
Data.Models.Metadata.ItemType.Media => "media",
|
||||
|
||||
// "Auxiliary" item types
|
||||
Data.Models.Metadata.ItemType.Adjuster => "adjuster",
|
||||
Data.Models.Metadata.ItemType.Analog => "analog",
|
||||
Data.Models.Metadata.ItemType.Archive => "archive",
|
||||
Data.Models.Metadata.ItemType.BiosSet => "biosset",
|
||||
Data.Models.Metadata.ItemType.Chip => "chip",
|
||||
Data.Models.Metadata.ItemType.Condition => "condition",
|
||||
Data.Models.Metadata.ItemType.Configuration => "configuration",
|
||||
Data.Models.Metadata.ItemType.ConfLocation => "conflocation",
|
||||
Data.Models.Metadata.ItemType.ConfSetting => "confsetting",
|
||||
Data.Models.Metadata.ItemType.Control => "control",
|
||||
Data.Models.Metadata.ItemType.DataArea => "dataarea",
|
||||
Data.Models.Metadata.ItemType.Device => "device",
|
||||
Data.Models.Metadata.ItemType.DeviceRef => "device_ref",
|
||||
Data.Models.Metadata.ItemType.DipLocation => "diplocation",
|
||||
Data.Models.Metadata.ItemType.DipSwitch => "dipswitch",
|
||||
Data.Models.Metadata.ItemType.DipValue => "dipvalue",
|
||||
Data.Models.Metadata.ItemType.DiskArea => "diskarea",
|
||||
Data.Models.Metadata.ItemType.Display => "display",
|
||||
Data.Models.Metadata.ItemType.Driver => "driver",
|
||||
Data.Models.Metadata.ItemType.Dump => "dump",
|
||||
Data.Models.Metadata.ItemType.Extension => "extension",
|
||||
Data.Models.Metadata.ItemType.Feature => "feature",
|
||||
Data.Models.Metadata.ItemType.Info => "info",
|
||||
Data.Models.Metadata.ItemType.Input => "input",
|
||||
Data.Models.Metadata.ItemType.Instance => "instance",
|
||||
Data.Models.Metadata.ItemType.Original => "original",
|
||||
Data.Models.Metadata.ItemType.Part => "part",
|
||||
Data.Models.Metadata.ItemType.PartFeature => "part_feature",
|
||||
Data.Models.Metadata.ItemType.Port => "port",
|
||||
Data.Models.Metadata.ItemType.RamOption => "ramoption",
|
||||
Data.Models.Metadata.ItemType.Release => "release",
|
||||
Data.Models.Metadata.ItemType.ReleaseDetails => "release_details",
|
||||
Data.Models.Metadata.ItemType.Sample => "sample",
|
||||
Data.Models.Metadata.ItemType.Serials => "serials",
|
||||
Data.Models.Metadata.ItemType.SharedFeat => "sharedfeat",
|
||||
Data.Models.Metadata.ItemType.Slot => "slot",
|
||||
Data.Models.Metadata.ItemType.SlotOption => "slotoption",
|
||||
Data.Models.Metadata.ItemType.Software => "software",
|
||||
Data.Models.Metadata.ItemType.SoftwareList => "softwarelist",
|
||||
Data.Models.Metadata.ItemType.Sound => "sound",
|
||||
Data.Models.Metadata.ItemType.SourceDetails => "source_details",
|
||||
Data.Models.Metadata.ItemType.Video => "video",
|
||||
Data.Models.Metadata.ItemType.Blank => "blank",
|
||||
|
||||
ItemType.Adjuster => "adjuster",
|
||||
ItemType.Analog => "analog",
|
||||
ItemType.Archive => "archive",
|
||||
ItemType.BiosSet => "biosset",
|
||||
ItemType.Chip => "chip",
|
||||
ItemType.Condition => "condition",
|
||||
ItemType.Configuration => "configuration",
|
||||
ItemType.ConfLocation => "conflocation",
|
||||
ItemType.ConfSetting => "confsetting",
|
||||
ItemType.Control => "control",
|
||||
ItemType.DataArea => "dataarea",
|
||||
ItemType.Device => "device",
|
||||
ItemType.DeviceRef => "device_ref",
|
||||
ItemType.DipLocation => "diplocation",
|
||||
ItemType.DipSwitch => "dipswitch",
|
||||
ItemType.DipValue => "dipvalue",
|
||||
ItemType.DiskArea => "diskarea",
|
||||
ItemType.Display => "display",
|
||||
ItemType.Driver => "driver",
|
||||
ItemType.Extension => "extension",
|
||||
ItemType.Feature => "feature",
|
||||
ItemType.Info => "info",
|
||||
ItemType.Input => "input",
|
||||
ItemType.Instance => "instance",
|
||||
ItemType.Original => "original",
|
||||
ItemType.Part => "part",
|
||||
ItemType.PartFeature => "part_feature",
|
||||
ItemType.Port => "port",
|
||||
ItemType.RamOption => "ramoption",
|
||||
ItemType.Release => "release",
|
||||
ItemType.ReleaseDetails => "release_details",
|
||||
ItemType.Sample => "sample",
|
||||
ItemType.Serials => "serials",
|
||||
ItemType.SharedFeat => "sharedfeat",
|
||||
ItemType.Slot => "slot",
|
||||
ItemType.SlotOption => "slotoption",
|
||||
ItemType.SoftwareList => "softwarelist",
|
||||
ItemType.Sound => "sound",
|
||||
ItemType.SourceDetails => "source_details",
|
||||
ItemType.Blank => "blank",
|
||||
|
||||
ItemType.NULL => null,
|
||||
Data.Models.Metadata.ItemType.NULL => null,
|
||||
_ => null,
|
||||
};
|
||||
}
|
||||
|
||||
@@ -13,7 +13,7 @@ namespace SabreTools.Metadata.DatItems.Formats
|
||||
#region Fields
|
||||
|
||||
/// <inheritdoc>/>
|
||||
protected override ItemType ItemType => ItemType.Adjuster;
|
||||
internal override Data.Models.Metadata.ItemType ItemType => Data.Models.Metadata.ItemType.Adjuster;
|
||||
|
||||
[JsonIgnore]
|
||||
public bool ConditionsSpecified
|
||||
|
||||
@@ -13,7 +13,7 @@ namespace SabreTools.Metadata.DatItems.Formats
|
||||
#region Fields
|
||||
|
||||
/// <inheritdoc>/>
|
||||
protected override ItemType ItemType => ItemType.Analog;
|
||||
internal override Data.Models.Metadata.ItemType ItemType => Data.Models.Metadata.ItemType.Analog;
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ namespace SabreTools.Metadata.DatItems.Formats
|
||||
#region Fields
|
||||
|
||||
/// <inheritdoc>/>
|
||||
protected override ItemType ItemType => ItemType.Archive;
|
||||
internal override Data.Models.Metadata.ItemType ItemType => Data.Models.Metadata.ItemType.Archive;
|
||||
|
||||
// TODO: None of the following are used or checked
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ namespace SabreTools.Metadata.DatItems.Formats
|
||||
#region Fields
|
||||
|
||||
/// <inheritdoc>/>
|
||||
protected override ItemType ItemType => ItemType.BiosSet;
|
||||
internal override Data.Models.Metadata.ItemType ItemType => Data.Models.Metadata.ItemType.BiosSet;
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ namespace SabreTools.Metadata.DatItems.Formats
|
||||
#region Fields
|
||||
|
||||
/// <inheritdoc>/>
|
||||
protected override ItemType ItemType => ItemType.Blank;
|
||||
internal override Data.Models.Metadata.ItemType ItemType => Data.Models.Metadata.ItemType.Blank;
|
||||
|
||||
#endregion
|
||||
|
||||
@@ -21,10 +21,7 @@ namespace SabreTools.Metadata.DatItems.Formats
|
||||
/// <summary>
|
||||
/// Create a default, empty Blank object
|
||||
/// </summary>
|
||||
public Blank()
|
||||
{
|
||||
Write(Data.Models.Metadata.DatItem.TypeKey, ItemType);
|
||||
}
|
||||
public Blank() { }
|
||||
|
||||
#endregion
|
||||
|
||||
@@ -37,7 +34,6 @@ namespace SabreTools.Metadata.DatItems.Formats
|
||||
blank.Write(MachineKey, GetMachine());
|
||||
blank.Write(RemoveKey, ReadBool(RemoveKey));
|
||||
blank.Write<Source?>(SourceKey, Read<Source?>(SourceKey));
|
||||
blank.Write<string?>(Data.Models.Metadata.DatItem.TypeKey, ReadString(Data.Models.Metadata.DatItem.TypeKey).AsItemType().AsStringValue());
|
||||
|
||||
return blank;
|
||||
}
|
||||
@@ -80,7 +76,7 @@ namespace SabreTools.Metadata.DatItems.Formats
|
||||
public override bool Equals(DatItem? other)
|
||||
{
|
||||
// If we don't have a blank, return false
|
||||
if (ReadString(Data.Models.Metadata.DatItem.TypeKey) != other?.ReadString(Data.Models.Metadata.DatItem.TypeKey))
|
||||
if (ItemType != other?.ItemType)
|
||||
return false;
|
||||
|
||||
// Otherwise, treat it as a Blank
|
||||
|
||||
@@ -13,7 +13,7 @@ namespace SabreTools.Metadata.DatItems.Formats
|
||||
#region Fields
|
||||
|
||||
/// <inheritdoc>/>
|
||||
protected override ItemType ItemType => ItemType.Chip;
|
||||
internal override Data.Models.Metadata.ItemType ItemType => Data.Models.Metadata.ItemType.Chip;
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ namespace SabreTools.Metadata.DatItems.Formats
|
||||
#region Fields
|
||||
|
||||
/// <inheritdoc>/>
|
||||
protected override ItemType ItemType => ItemType.Condition;
|
||||
internal override Data.Models.Metadata.ItemType ItemType => Data.Models.Metadata.ItemType.Condition;
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ namespace SabreTools.Metadata.DatItems.Formats
|
||||
#region Fields
|
||||
|
||||
/// <inheritdoc>/>
|
||||
protected override ItemType ItemType => ItemType.ConfLocation;
|
||||
internal override Data.Models.Metadata.ItemType ItemType => Data.Models.Metadata.ItemType.ConfLocation;
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ namespace SabreTools.Metadata.DatItems.Formats
|
||||
#region Fields
|
||||
|
||||
/// <inheritdoc>/>
|
||||
protected override ItemType ItemType => ItemType.ConfSetting;
|
||||
internal override Data.Models.Metadata.ItemType ItemType => Data.Models.Metadata.ItemType.ConfSetting;
|
||||
|
||||
[JsonIgnore]
|
||||
public bool ConditionsSpecified
|
||||
|
||||
@@ -14,7 +14,7 @@ namespace SabreTools.Metadata.DatItems.Formats
|
||||
#region Fields
|
||||
|
||||
/// <inheritdoc>/>
|
||||
protected override ItemType ItemType => ItemType.Configuration;
|
||||
internal override Data.Models.Metadata.ItemType ItemType => Data.Models.Metadata.ItemType.Configuration;
|
||||
|
||||
[JsonIgnore]
|
||||
public bool ConditionsSpecified
|
||||
|
||||
@@ -13,7 +13,7 @@ namespace SabreTools.Metadata.DatItems.Formats
|
||||
#region Fields
|
||||
|
||||
/// <inheritdoc>/>
|
||||
protected override ItemType ItemType => ItemType.Control;
|
||||
internal override Data.Models.Metadata.ItemType ItemType => Data.Models.Metadata.ItemType.Control;
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@ namespace SabreTools.Metadata.DatItems.Formats
|
||||
#region Fields
|
||||
|
||||
/// <inheritdoc>/>
|
||||
protected override ItemType ItemType => ItemType.DataArea;
|
||||
internal override Data.Models.Metadata.ItemType ItemType => Data.Models.Metadata.ItemType.DataArea;
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@ namespace SabreTools.Metadata.DatItems.Formats
|
||||
#region Fields
|
||||
|
||||
/// <inheritdoc>/>
|
||||
protected override ItemType ItemType => ItemType.Device;
|
||||
internal override Data.Models.Metadata.ItemType ItemType => Data.Models.Metadata.ItemType.Device;
|
||||
|
||||
[JsonIgnore]
|
||||
public bool InstancesSpecified
|
||||
|
||||
@@ -13,7 +13,7 @@ namespace SabreTools.Metadata.DatItems.Formats
|
||||
#region Fields
|
||||
|
||||
/// <inheritdoc>/>
|
||||
protected override ItemType ItemType => ItemType.DeviceRef;
|
||||
internal override Data.Models.Metadata.ItemType ItemType => Data.Models.Metadata.ItemType.DeviceRef;
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ namespace SabreTools.Metadata.DatItems.Formats
|
||||
#region Fields
|
||||
|
||||
/// <inheritdoc>/>
|
||||
protected override ItemType ItemType => ItemType.DipLocation;
|
||||
internal override Data.Models.Metadata.ItemType ItemType => Data.Models.Metadata.ItemType.DipLocation;
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@ namespace SabreTools.Metadata.DatItems.Formats
|
||||
#region Fields
|
||||
|
||||
/// <inheritdoc>/>
|
||||
protected override ItemType ItemType => ItemType.DipSwitch;
|
||||
internal override Data.Models.Metadata.ItemType ItemType => Data.Models.Metadata.ItemType.DipSwitch;
|
||||
|
||||
[JsonIgnore]
|
||||
public bool ConditionsSpecified
|
||||
|
||||
@@ -13,7 +13,7 @@ namespace SabreTools.Metadata.DatItems.Formats
|
||||
#region Fields
|
||||
|
||||
/// <inheritdoc>/>
|
||||
protected override ItemType ItemType => ItemType.DipValue;
|
||||
internal override Data.Models.Metadata.ItemType ItemType => Data.Models.Metadata.ItemType.DipValue;
|
||||
|
||||
[JsonIgnore]
|
||||
public bool ConditionsSpecified
|
||||
|
||||
@@ -29,7 +29,7 @@ namespace SabreTools.Metadata.DatItems.Formats
|
||||
#region Fields
|
||||
|
||||
/// <inheritdoc>/>
|
||||
protected override ItemType ItemType => ItemType.Disk;
|
||||
internal override ItemType ItemType => ItemType.Disk;
|
||||
|
||||
[JsonIgnore]
|
||||
public bool DiskAreaSpecified
|
||||
|
||||
@@ -14,7 +14,7 @@ namespace SabreTools.Metadata.DatItems.Formats
|
||||
#region Fields
|
||||
|
||||
/// <inheritdoc>/>
|
||||
protected override ItemType ItemType => ItemType.DiskArea;
|
||||
internal override Data.Models.Metadata.ItemType ItemType => Data.Models.Metadata.ItemType.DiskArea;
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@ namespace SabreTools.Metadata.DatItems.Formats
|
||||
#region Fields
|
||||
|
||||
/// <inheritdoc>/>
|
||||
protected override ItemType ItemType => ItemType.Display;
|
||||
internal override Data.Models.Metadata.ItemType ItemType => Data.Models.Metadata.ItemType.Display;
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ namespace SabreTools.Metadata.DatItems.Formats
|
||||
#region Fields
|
||||
|
||||
/// <inheritdoc>/>
|
||||
protected override ItemType ItemType => ItemType.Driver;
|
||||
internal override Data.Models.Metadata.ItemType ItemType => Data.Models.Metadata.ItemType.Driver;
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ namespace SabreTools.Metadata.DatItems.Formats
|
||||
#region Fields
|
||||
|
||||
/// <inheritdoc>/>
|
||||
protected override ItemType ItemType => ItemType.Extension;
|
||||
internal override Data.Models.Metadata.ItemType ItemType => Data.Models.Metadata.ItemType.Extension;
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ namespace SabreTools.Metadata.DatItems.Formats
|
||||
#region Fields
|
||||
|
||||
/// <inheritdoc>/>
|
||||
protected override ItemType ItemType => ItemType.Feature;
|
||||
internal override Data.Models.Metadata.ItemType ItemType => Data.Models.Metadata.ItemType.Feature;
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
@@ -27,7 +27,7 @@ namespace SabreTools.Metadata.DatItems.Formats
|
||||
#region Fields
|
||||
|
||||
/// <inheritdoc>/>
|
||||
protected override ItemType ItemType => ItemType.File;
|
||||
internal override Data.Models.Metadata.ItemType ItemType => Data.Models.Metadata.ItemType.File;
|
||||
|
||||
/// <summary>
|
||||
/// ID value
|
||||
@@ -100,10 +100,7 @@ namespace SabreTools.Metadata.DatItems.Formats
|
||||
/// <summary>
|
||||
/// Create a default, empty File object
|
||||
/// </summary>
|
||||
public File()
|
||||
{
|
||||
Write(Data.Models.Metadata.DatItem.TypeKey, ItemType);
|
||||
}
|
||||
public File() { }
|
||||
|
||||
#endregion
|
||||
|
||||
@@ -164,7 +161,7 @@ namespace SabreTools.Metadata.DatItems.Formats
|
||||
bool dupefound = false;
|
||||
|
||||
// If we don't have a file, return false
|
||||
if (ReadString(Data.Models.Metadata.DatItem.TypeKey) != other?.ReadString(Data.Models.Metadata.DatItem.TypeKey))
|
||||
if (ItemType != other?.ItemType)
|
||||
return dupefound;
|
||||
|
||||
// Otherwise, treat it as a File
|
||||
|
||||
@@ -13,7 +13,7 @@ namespace SabreTools.Metadata.DatItems.Formats
|
||||
#region Fields
|
||||
|
||||
/// <inheritdoc>/>
|
||||
protected override ItemType ItemType => ItemType.Info;
|
||||
internal override Data.Models.Metadata.ItemType ItemType => Data.Models.Metadata.ItemType.Info;
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@ namespace SabreTools.Metadata.DatItems.Formats
|
||||
#region Fields
|
||||
|
||||
/// <inheritdoc>/>
|
||||
protected override ItemType ItemType => ItemType.Input;
|
||||
internal override Data.Models.Metadata.ItemType ItemType => Data.Models.Metadata.ItemType.Input;
|
||||
|
||||
[JsonIgnore]
|
||||
public bool ControlsSpecified
|
||||
|
||||
@@ -13,7 +13,7 @@ namespace SabreTools.Metadata.DatItems.Formats
|
||||
#region Fields
|
||||
|
||||
/// <inheritdoc>/>
|
||||
protected override ItemType ItemType => ItemType.Instance;
|
||||
internal override Data.Models.Metadata.ItemType ItemType => Data.Models.Metadata.ItemType.Instance;
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@ namespace SabreTools.Metadata.DatItems.Formats
|
||||
#region Fields
|
||||
|
||||
/// <inheritdoc>/>
|
||||
protected override ItemType ItemType => ItemType.Media;
|
||||
internal override Data.Models.Metadata.ItemType ItemType => Data.Models.Metadata.ItemType.Media;
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@ namespace SabreTools.Metadata.DatItems.Formats
|
||||
#region Fields
|
||||
|
||||
/// <inheritdoc>/>
|
||||
protected override ItemType ItemType => ItemType.Part;
|
||||
internal override Data.Models.Metadata.ItemType ItemType => Data.Models.Metadata.ItemType.Part;
|
||||
|
||||
[JsonIgnore]
|
||||
public bool FeaturesSpecified
|
||||
|
||||
@@ -22,7 +22,7 @@ namespace SabreTools.Metadata.DatItems.Formats
|
||||
#region Fields
|
||||
|
||||
/// <inheritdoc>/>
|
||||
protected override ItemType ItemType => ItemType.PartFeature;
|
||||
internal override Data.Models.Metadata.ItemType ItemType => Data.Models.Metadata.ItemType.PartFeature;
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@ namespace SabreTools.Metadata.DatItems.Formats
|
||||
#region Fields
|
||||
|
||||
/// <inheritdoc>/>
|
||||
protected override ItemType ItemType => ItemType.Port;
|
||||
internal override Data.Models.Metadata.ItemType ItemType => Data.Models.Metadata.ItemType.Port;
|
||||
|
||||
[JsonIgnore]
|
||||
public bool AnalogsSpecified
|
||||
|
||||
@@ -13,7 +13,7 @@ namespace SabreTools.Metadata.DatItems.Formats
|
||||
#region Fields
|
||||
|
||||
/// <inheritdoc>/>
|
||||
protected override ItemType ItemType => ItemType.RamOption;
|
||||
internal override Data.Models.Metadata.ItemType ItemType => Data.Models.Metadata.ItemType.RamOption;
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ namespace SabreTools.Metadata.DatItems.Formats
|
||||
#region Fields
|
||||
|
||||
/// <inheritdoc>/>
|
||||
protected override ItemType ItemType => ItemType.Release;
|
||||
internal override Data.Models.Metadata.ItemType ItemType => Data.Models.Metadata.ItemType.Release;
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ namespace SabreTools.Metadata.DatItems.Formats
|
||||
#region Fields
|
||||
|
||||
/// <inheritdoc>/>
|
||||
protected override ItemType ItemType => ItemType.ReleaseDetails;
|
||||
internal override Data.Models.Metadata.ItemType ItemType => Data.Models.Metadata.ItemType.ReleaseDetails;
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
@@ -29,7 +29,7 @@ namespace SabreTools.Metadata.DatItems.Formats
|
||||
#region Fields
|
||||
|
||||
/// <inheritdoc>/>
|
||||
protected override ItemType ItemType => ItemType.Rom;
|
||||
internal override ItemType ItemType => ItemType.Rom;
|
||||
|
||||
[JsonIgnore]
|
||||
public bool ItemStatusSpecified
|
||||
@@ -118,7 +118,7 @@ namespace SabreTools.Metadata.DatItems.Formats
|
||||
SetName(name);
|
||||
Write<string?>(Data.Models.Metadata.Rom.OffsetKey, rom.ReadString(Data.Models.Metadata.Rom.StartKey));
|
||||
Write<string?>(Data.Models.Metadata.Rom.OpenMSXMediaType, subType?.AsStringValue());
|
||||
Write<string?>(Data.Models.Metadata.Rom.OpenMSXType, rom.ReadString(Data.Models.Metadata.Rom.OpenMSXType) ?? rom.ReadString(Data.Models.Metadata.DatItem.TypeKey));
|
||||
Write<string?>(Data.Models.Metadata.Rom.OpenMSXType, rom.ReadString(Data.Models.Metadata.Rom.OpenMSXType) ?? rom.ItemType.ToString());
|
||||
Write<string?>(Data.Models.Metadata.Rom.RemarkKey, rom.ReadString(Data.Models.Metadata.Rom.RemarkKey));
|
||||
Write<string?>(Data.Models.Metadata.Rom.SHA1Key, rom.ReadString(Data.Models.Metadata.Rom.SHA1Key));
|
||||
Write<string?>(Data.Models.Metadata.Rom.StartKey, rom.ReadString(Data.Models.Metadata.Rom.StartKey));
|
||||
|
||||
@@ -13,7 +13,7 @@ namespace SabreTools.Metadata.DatItems.Formats
|
||||
#region Fields
|
||||
|
||||
/// <inheritdoc>/>
|
||||
protected override ItemType ItemType => ItemType.Sample;
|
||||
internal override Data.Models.Metadata.ItemType ItemType => Data.Models.Metadata.ItemType.Sample;
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ namespace SabreTools.Metadata.DatItems.Formats
|
||||
#region Fields
|
||||
|
||||
/// <inheritdoc>/>
|
||||
protected override ItemType ItemType => ItemType.Serials;
|
||||
internal override Data.Models.Metadata.ItemType ItemType => Data.Models.Metadata.ItemType.Serials;
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ namespace SabreTools.Metadata.DatItems.Formats
|
||||
#region Fields
|
||||
|
||||
/// <inheritdoc>/>
|
||||
protected override ItemType ItemType => ItemType.SharedFeat;
|
||||
internal override Data.Models.Metadata.ItemType ItemType => Data.Models.Metadata.ItemType.SharedFeat;
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@ namespace SabreTools.Metadata.DatItems.Formats
|
||||
#region Fields
|
||||
|
||||
/// <inheritdoc>/>
|
||||
protected override ItemType ItemType => ItemType.Slot;
|
||||
internal override Data.Models.Metadata.ItemType ItemType => Data.Models.Metadata.ItemType.Slot;
|
||||
|
||||
[JsonIgnore]
|
||||
public bool SlotOptionsSpecified
|
||||
|
||||
@@ -13,7 +13,7 @@ namespace SabreTools.Metadata.DatItems.Formats
|
||||
#region Fields
|
||||
|
||||
/// <inheritdoc>/>
|
||||
protected override ItemType ItemType => ItemType.SlotOption;
|
||||
internal override Data.Models.Metadata.ItemType ItemType => Data.Models.Metadata.ItemType.SlotOption;
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ namespace SabreTools.Metadata.DatItems.Formats
|
||||
#region Fields
|
||||
|
||||
/// <inheritdoc>/>
|
||||
protected override ItemType ItemType => ItemType.SoftwareList;
|
||||
internal override Data.Models.Metadata.ItemType ItemType => Data.Models.Metadata.ItemType.SoftwareList;
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ namespace SabreTools.Metadata.DatItems.Formats
|
||||
#region Fields
|
||||
|
||||
/// <inheritdoc>/>
|
||||
protected override ItemType ItemType => ItemType.Sound;
|
||||
internal override Data.Models.Metadata.ItemType ItemType => Data.Models.Metadata.ItemType.Sound;
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ namespace SabreTools.Metadata.DatItems.Formats
|
||||
#region Fields
|
||||
|
||||
/// <inheritdoc>/>
|
||||
protected override ItemType ItemType => ItemType.SourceDetails;
|
||||
internal override Data.Models.Metadata.ItemType ItemType => Data.Models.Metadata.ItemType.SourceDetails;
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
@@ -30,6 +30,10 @@
|
||||
<None Include="README.md" Pack="true" PackagePath="" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<InternalsVisibleTo Include="SabreTools.Metadata.DatItems.Test" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Newtonsoft.Json" Version="13.0.4" />
|
||||
<PackageReference Include="SabreTools.Hashing" Version="[2.0.0]" />
|
||||
|
||||
Reference in New Issue
Block a user