diff --git a/SabreTools.Library/DatFiles/ClrMamePro.cs b/SabreTools.Library/DatFiles/ClrMamePro.cs index 56688a6a..fb0f3824 100644 --- a/SabreTools.Library/DatFiles/ClrMamePro.cs +++ b/SabreTools.Library/DatFiles/ClrMamePro.cs @@ -199,7 +199,7 @@ namespace SabreTools.Library.DatFiles bool containsItems = false; Machine machine = new Machine() { - MachineType = (resource ? MachineType.Bios : MachineType.None), + MachineType = (resource ? MachineType.Bios : MachineType.NULL), }; // If there's no subtree to the header, skip it diff --git a/SabreTools.Library/DatFiles/DosCenter.cs b/SabreTools.Library/DatFiles/DosCenter.cs index f12e890f..7beff913 100644 --- a/SabreTools.Library/DatFiles/DosCenter.cs +++ b/SabreTools.Library/DatFiles/DosCenter.cs @@ -150,7 +150,7 @@ namespace SabreTools.Library.DatFiles bool containsItems = false; Machine machine = new Machine() { - MachineType = MachineType.None, + MachineType = MachineType.NULL, }; // If there's no subtree to the header, skip it diff --git a/SabreTools.Library/DatFiles/Listxml.cs b/SabreTools.Library/DatFiles/Listxml.cs index f938df2d..0b94f45c 100644 --- a/SabreTools.Library/DatFiles/Listxml.cs +++ b/SabreTools.Library/DatFiles/Listxml.cs @@ -145,7 +145,7 @@ namespace SabreTools.Library.DatFiles CloneOf = reader.GetAttribute("cloneof"), RomOf = reader.GetAttribute("romof"), SampleOf = reader.GetAttribute("sampleof"), - MachineType = (machineType == MachineType.NULL ? MachineType.None : machineType), + MachineType = (machineType == MachineType.NULL ? MachineType.NULL : machineType), SourceFile = reader.GetAttribute("sourcefile"), Runnable = reader.GetAttribute("runnable").AsRunnable(), diff --git a/SabreTools.Library/DatFiles/Logiqx.cs b/SabreTools.Library/DatFiles/Logiqx.cs index 83a2c884..bb7e120d 100644 --- a/SabreTools.Library/DatFiles/Logiqx.cs +++ b/SabreTools.Library/DatFiles/Logiqx.cs @@ -321,7 +321,7 @@ namespace SabreTools.Library.DatFiles RomOf = reader.GetAttribute("romof"), SampleOf = reader.GetAttribute("sampleof"), - MachineType = (machineType == MachineType.NULL ? MachineType.None : machineType), + MachineType = (machineType == MachineType.NULL ? MachineType.NULL : machineType), }; if (Header.Type == "SuperDAT" && !keep) diff --git a/SabreTools.Library/DatFiles/SoftwareList.cs b/SabreTools.Library/DatFiles/SoftwareList.cs index ae9865d5..9c1c9b4d 100644 --- a/SabreTools.Library/DatFiles/SoftwareList.cs +++ b/SabreTools.Library/DatFiles/SoftwareList.cs @@ -149,7 +149,7 @@ namespace SabreTools.Library.DatFiles SharedFeatures = new List(), DipSwitches = new List(), - MachineType = (machineType == MachineType.NULL ? MachineType.None : machineType), + MachineType = (machineType != MachineType.NULL ? machineType : MachineType.NULL), }; while (!reader.EOF) diff --git a/SabreTools.Library/DatItems/Enums.cs b/SabreTools.Library/DatItems/Enums.cs index ad9f9fac..423742e4 100644 --- a/SabreTools.Library/DatItems/Enums.cs +++ b/SabreTools.Library/DatItems/Enums.cs @@ -236,15 +236,10 @@ namespace SabreTools.Library.DatItems [Flags] public enum MachineType { - /// - /// This is a fake flag that is used for filter only - /// NULL = 0x00, - - None = 1 << 0, - Bios = 1 << 1, - Device = 1 << 2, - Mechanical = 1 << 3, + Bios = 1 << 0, + Device = 1 << 1, + Mechanical = 1 << 2, } /// diff --git a/SabreTools.Library/DatItems/Machine.cs b/SabreTools.Library/DatItems/Machine.cs index 8e5b45fa..06e685fd 100644 --- a/SabreTools.Library/DatItems/Machine.cs +++ b/SabreTools.Library/DatItems/Machine.cs @@ -5,6 +5,7 @@ using System.Linq; using SabreTools.Library.Filtering; using SabreTools.Library.Tools; using Newtonsoft.Json; +using Newtonsoft.Json.Converters; namespace SabreTools.Library.DatItems { @@ -83,6 +84,7 @@ namespace SabreTools.Library.DatItems /// Type of the machine /// [JsonProperty("type", DefaultValueHandling = DefaultValueHandling.Ignore)] + [JsonConverter(typeof(StringEnumConverter))] public MachineType MachineType { get; set; } = MachineType.NULL; #endregion diff --git a/SabreTools.Library/Tools/Converters.cs b/SabreTools.Library/Tools/Converters.cs index 411cfd88..198bc785 100644 --- a/SabreTools.Library/Tools/Converters.cs +++ b/SabreTools.Library/Tools/Converters.cs @@ -603,7 +603,7 @@ namespace SabreTools.Library.Tools return MachineType.Mechanical; case "none": default: - return MachineType.None; + return MachineType.NULL; } #else return gametype?.ToLowerInvariant() switch @@ -613,8 +613,8 @@ namespace SabreTools.Library.Tools "device" => MachineType.Device, "mech" => MachineType.Mechanical, "mechanical" => MachineType.Mechanical, - "none" => MachineType.None, - _ => MachineType.None, + "none" => MachineType.NULL, + _ => MachineType.NULL, }; #endif }