From 451e89afff9dc5b15f196f4bffd1f7a40a78c08c Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Wed, 1 Apr 2026 21:59:16 -0400 Subject: [PATCH] Boolean stuff convert to property --- .../MetadataExtensionsTests.cs | 10 +- .../MetadataExtensions.cs | 98 ++++++++++++++- SabreTools.Data.Models/AttractMode/Row.cs | 2 +- SabreTools.Data.Models/ClrMamePro/BiosSet.cs | 6 +- .../ClrMamePro/ClrMamePro.cs | 4 +- .../ClrMamePro/DipSwitch.cs | 6 +- SabreTools.Data.Models/ClrMamePro/Input.cs | 16 +-- SabreTools.Data.Models/ClrMamePro/Release.cs | 10 +- SabreTools.Data.Models/ClrMamePro/Rom.cs | 4 +- SabreTools.Data.Models/Listxml/Chip.cs | 2 +- .../Listxml/ConfLocation.cs | 2 +- SabreTools.Data.Models/Listxml/Control.cs | 2 +- SabreTools.Data.Models/Listxml/DipLocation.cs | 2 +- SabreTools.Data.Models/Listxml/Disk.cs | 4 +- SabreTools.Data.Models/Listxml/Display.cs | 2 +- SabreTools.Data.Models/Listxml/Driver.cs | 8 +- SabreTools.Data.Models/Listxml/GameBase.cs | 8 +- SabreTools.Data.Models/Listxml/Input.cs | 4 +- SabreTools.Data.Models/Listxml/Mame.cs | 2 +- SabreTools.Data.Models/Listxml/RamOption.cs | 1 + SabreTools.Data.Models/Listxml/Rom.cs | 6 +- SabreTools.Data.Models/Logiqx/Datafile.cs | 2 +- SabreTools.Data.Models/Logiqx/Driver.cs | 8 +- SabreTools.Data.Models/Logiqx/GameBase.cs | 8 +- SabreTools.Data.Models/Logiqx/Rom.cs | 4 +- SabreTools.Data.Models/Logiqx/RomCenter.cs | 6 +- SabreTools.Data.Models/Metadata/Adjuster.cs | 1 + SabreTools.Data.Models/Metadata/BiosSet.cs | 1 + SabreTools.Data.Models/Metadata/Chip.cs | 6 +- .../Metadata/ConfLocation.cs | 6 +- .../Metadata/ConfSetting.cs | 1 + SabreTools.Data.Models/Metadata/Control.cs | 10 +- .../Metadata/DipLocation.cs | 6 +- SabreTools.Data.Models/Metadata/DipSwitch.cs | 1 + SabreTools.Data.Models/Metadata/DipValue.cs | 1 + SabreTools.Data.Models/Metadata/Disk.cs | 12 +- SabreTools.Data.Models/Metadata/Display.cs | 8 +- SabreTools.Data.Models/Metadata/Driver.cs | 28 +++-- SabreTools.Data.Models/Metadata/Header.cs | 30 ++--- SabreTools.Data.Models/Metadata/Input.cs | 16 ++- SabreTools.Data.Models/Metadata/Machine.cs | 25 ++-- SabreTools.Data.Models/Metadata/RamOption.cs | 1 + SabreTools.Data.Models/Metadata/Release.cs | 1 + SabreTools.Data.Models/Metadata/Rom.cs | 36 +++--- SabreTools.Data.Models/Metadata/SlotOption.cs | 1 + .../OfflineList/InfoBase.cs | 4 +- SabreTools.Data.Models/OfflineList/To.cs | 2 +- SabreTools.Data.Models/SoftwareList/Disk.cs | 2 +- .../DatFileTests.FromMetadata.cs | 116 +++++++++--------- .../DatFileTests.Splitting.cs | 32 ++--- .../DatFileTests.ToMetadata.cs | 58 ++++----- .../DatFile.FromMetadata.cs | 20 +-- .../DatFile.Splitting.cs | 12 +- SabreTools.Metadata.DatFiles/DatHeader.cs | 30 +++++ .../Formats/DiskTests.cs | 4 +- SabreTools.Metadata.DatItems/Formats/Chip.cs | 15 ++- .../Formats/ConfLocation.cs | 18 +-- .../Formats/Control.cs | 14 ++- .../Formats/DipLocation.cs | 18 +-- SabreTools.Metadata.DatItems/Formats/Disk.cs | 20 +-- .../Formats/Display.cs | 14 ++- .../Formats/Driver.cs | 44 ++++--- SabreTools.Metadata.DatItems/Formats/Input.cs | 20 +-- SabreTools.Metadata.DatItems/Formats/Rom.cs | 96 +++++++++------ SabreTools.Metadata.DatItems/Machine.cs | 40 ++++-- SabreTools.Metadata.Filter/FilterObject.cs | 99 +++++++++++++++ SabreTools.Metadata.Filter/FilterRunner.cs | 6 +- .../AttractModeTests.cs | 4 +- .../ClrMameProTests.cs | 20 +-- .../ListxmlTests.cs | 86 ++++++------- .../LogiqxTests.cs | 58 ++++----- .../M1Tests.cs | 80 ++++++------ .../MessTests.cs | 80 ++++++------ .../SoftwareListTests.cs | 4 +- .../AttractMode.Deserializer.cs | 2 +- .../AttractMode.Serializer.cs | 2 +- .../ClrMamePro.Deserializer.cs | 10 +- .../ClrMamePro.Serializer.cs | 10 +- .../Listrom.Deserializer.cs | 2 +- .../Listrom.Serializer.cs | 2 +- .../Listxml.Deserializer.cs | 42 +++---- .../Listxml.Serializer.cs | 42 +++---- .../Logiqx.Deserializer.cs | 28 ++--- .../Logiqx.Serializer.cs | 28 ++--- ...SabreTools.Serialization.CrossModel.csproj | 1 + .../SoftwareList.Deserializer.cs | 2 +- .../SoftwareList.Serializer.cs | 2 +- .../AttractModeTests.cs | 4 +- .../ClrMameProTests.cs | 20 +-- .../ListxmlTests.cs | 86 ++++++------- .../LogiqxTests.cs | 58 ++++----- .../M1Tests.cs | 80 ++++++------ .../MessTests.cs | 80 ++++++------ .../SoftwareListTests.cs | 4 +- .../AttractMode.cs | 3 +- .../ClrMamePro.cs | 10 +- SabreTools.Serialization.Readers/Listxml.cs | 42 +++---- SabreTools.Serialization.Readers/Logiqx.cs | 28 ++--- SabreTools.Serialization.Readers/M1.cs | 40 +++--- SabreTools.Serialization.Readers/Mess.cs | 40 +++--- .../SoftwareList.cs | 2 +- .../AttractMode.cs | 2 +- .../ClrMamePro.cs | 10 +- SabreTools.Serialization.Writers/Listxml.cs | 42 +++---- SabreTools.Serialization.Writers/Logiqx.cs | 28 ++--- SabreTools.Serialization.Writers/M1.cs | 40 +++--- SabreTools.Serialization.Writers/Mess.cs | 40 +++--- .../SoftwareList.cs | 2 +- 108 files changed, 1298 insertions(+), 970 deletions(-) diff --git a/SabreTools.Data.Extensions.Test/MetadataExtensionsTests.cs b/SabreTools.Data.Extensions.Test/MetadataExtensionsTests.cs index 05672d49..22501218 100644 --- a/SabreTools.Data.Extensions.Test/MetadataExtensionsTests.cs +++ b/SabreTools.Data.Extensions.Test/MetadataExtensionsTests.cs @@ -23,13 +23,13 @@ namespace SabreTools.Data.Extensions.Test Rom? actual = self.ConvertToRom(); Assert.NotNull(actual); - Assert.Equal(6, actual.Count); + Assert.Equal(5, actual.Count); Assert.Equal(ItemType.Rom, actual.ItemType); Assert.Null(actual.Name); Assert.Null(actual[Rom.MergeKey]); Assert.Null(actual[Rom.RegionKey]); Assert.Null(actual[Rom.StatusKey]); - Assert.Null(actual[Rom.OptionalKey]); + Assert.Null(actual.Optional); Assert.Null(actual[Rom.MD5Key]); Assert.Null(actual[Rom.SHA1Key]); } @@ -43,7 +43,7 @@ namespace SabreTools.Data.Extensions.Test [Disk.MergeKey] = "XXXXXX", [Disk.RegionKey] = "XXXXXX", [Disk.StatusKey] = "XXXXXX", - [Disk.OptionalKey] = "XXXXXX", + Optional = true, [Disk.MD5Key] = "XXXXXX", [Disk.SHA1Key] = "XXXXXX", }; @@ -51,13 +51,13 @@ namespace SabreTools.Data.Extensions.Test Rom? actual = self.ConvertToRom(); Assert.NotNull(actual); - Assert.Equal(6, actual.Count); + Assert.Equal(5, actual.Count); Assert.Equal(ItemType.Rom, actual.ItemType); Assert.Equal("XXXXXX.chd", actual.Name); Assert.Equal("XXXXXX", actual[Rom.MergeKey]); Assert.Equal("XXXXXX", actual[Rom.RegionKey]); Assert.Equal("XXXXXX", actual[Rom.StatusKey]); - Assert.Equal("XXXXXX", actual[Rom.OptionalKey]); + Assert.Equal(true, actual.Optional); Assert.Equal("XXXXXX", actual[Rom.MD5Key]); Assert.Equal("XXXXXX", actual[Rom.SHA1Key]); } diff --git a/SabreTools.Data.Extensions/MetadataExtensions.cs b/SabreTools.Data.Extensions/MetadataExtensions.cs index 36d8c2ca..1be262c0 100644 --- a/SabreTools.Data.Extensions/MetadataExtensions.cs +++ b/SabreTools.Data.Extensions/MetadataExtensions.cs @@ -137,12 +137,108 @@ namespace SabreTools.Data.Extensions /// /// Deep clone a DictionaryBase object /// + /// TODO: Move this to Clone methods in each file when keys go away entirely public static DictionaryBase? Clone(this DictionaryBase self) { // If construction failed, we can't do anything if (Activator.CreateInstance(self.GetType()) is not DictionaryBase clone) return null; + // Handle individual type properties + if (self is Adjuster selfAdjuster && clone is Adjuster cloneAdjuster) + { + cloneAdjuster.Default = selfAdjuster.Default; + } + else if (self is BiosSet selfBiosSet && clone is BiosSet cloneBiosSet) + { + cloneBiosSet.Default = selfBiosSet.Default; + } + else if (self is Chip selfChip && clone is Chip cloneChip) + { + cloneChip.SoundOnly = selfChip.SoundOnly; + } + else if (self is ConfLocation selfConfLocation && clone is ConfLocation cloneConfLocation) + { + cloneConfLocation.Inverted = selfConfLocation.Inverted; + } + else if (self is ConfSetting selfConfSetting && clone is ConfSetting cloneConfSetting) + { + cloneConfSetting.Default = selfConfSetting.Default; + } + else if (self is Control selfControl && clone is Control cloneControl) + { + cloneControl.Reverse = selfControl.Reverse; + } + else if (self is DipLocation selfDipLocation && clone is DipLocation cloneDipLocation) + { + cloneDipLocation.Inverted = selfDipLocation.Inverted; + } + else if (self is DipSwitch selfDipSwitch && clone is DipSwitch cloneDipSwitch) + { + cloneDipSwitch.Default = selfDipSwitch.Default; + } + else if (self is DipValue selfDipValue && clone is DipValue cloneDipValue) + { + cloneDipValue.Default = selfDipValue.Default; + } + else if (self is Disk selfDisk && clone is Disk cloneDisk) + { + cloneDisk.Optional = selfDisk.Optional; + cloneDisk.Writable = selfDisk.Writable; + } + else if (self is Display selfDisplay && clone is Display cloneDisplay) + { + cloneDisplay.FlipX = selfDisplay.FlipX; + } + else if (self is Driver selfDriver && clone is Driver cloneDriver) + { + cloneDriver.Incomplete = selfDriver.Incomplete; + cloneDriver.NoSoundHardware = selfDriver.NoSoundHardware; + cloneDriver.RequiresArtwork = selfDriver.RequiresArtwork; + cloneDriver.Unofficial = selfDriver.Unofficial; + } + else if (self is Header selfHeader && clone is Header cloneHeader) + { + cloneHeader.Debug = selfHeader.Debug; + cloneHeader.ForceZipping = selfHeader.ForceZipping; + cloneHeader.LockBiosMode = selfHeader.LockBiosMode; + cloneHeader.LockRomMode = selfHeader.LockRomMode; + cloneHeader.LockSampleMode = selfHeader.LockSampleMode; + } + else if (self is Input selfInput && clone is Input cloneInput) + { + cloneInput.Service = selfInput.Service; + cloneInput.Tilt = selfInput.Tilt; + } + else if (self is Machine selfMachine && clone is Machine cloneMachine) + { + cloneMachine.IsBios = selfMachine.IsBios; + cloneMachine.IsDevice = selfMachine.IsDevice; + cloneMachine.IsMechanical = selfMachine.IsMechanical; + cloneMachine.Runnable = selfMachine.Runnable; + } + else if (self is RamOption selfRamOption && clone is RamOption cloneRamOption) + { + cloneRamOption.Default = selfRamOption.Default; + } + else if (self is Release selfRelease && clone is Release cloneRelease) + { + cloneRelease.Default = selfRelease.Default; + } + else if (self is Rom selfRom && clone is Rom cloneRom) + { + cloneRom.Dispose = selfRom.Dispose; + cloneRom.FileIsAvailable = selfRom.FileIsAvailable; + cloneRom.Inverted = selfRom.Inverted; + cloneRom.MIA = selfRom.MIA; + cloneRom.Optional = selfRom.Optional; + cloneRom.SoundOnly = selfRom.SoundOnly; + } + else if (self is SlotOption selfSlotOption && clone is SlotOption cloneSlotOption) + { + cloneSlotOption.Default = selfSlotOption.Default; + } + // Handle known properties clone.SetName(self.GetName()); @@ -213,7 +309,7 @@ namespace SabreTools.Data.Extensions [Rom.MergeKey] = disk.ReadString(Disk.MergeKey), [Rom.RegionKey] = disk.ReadString(Disk.RegionKey), [Rom.StatusKey] = disk.ReadString(Disk.StatusKey), - [Rom.OptionalKey] = disk.ReadString(Disk.OptionalKey), + Optional = disk.Optional, [Rom.MD5Key] = disk.ReadString(Disk.MD5Key), [Rom.SHA1Key] = disk.ReadString(Disk.SHA1Key), }; diff --git a/SabreTools.Data.Models/AttractMode/Row.cs b/SabreTools.Data.Models/AttractMode/Row.cs index 06867ab5..6f4c648e 100644 --- a/SabreTools.Data.Models/AttractMode/Row.cs +++ b/SabreTools.Data.Models/AttractMode/Row.cs @@ -46,6 +46,6 @@ namespace SabreTools.Data.Models.AttractMode public string? PlayedTime { get; set; } - public string? FileIsAvailable { get; set; } + public bool? FileIsAvailable { get; set; } } } diff --git a/SabreTools.Data.Models/ClrMamePro/BiosSet.cs b/SabreTools.Data.Models/ClrMamePro/BiosSet.cs index c9a79177..a6d069ea 100644 --- a/SabreTools.Data.Models/ClrMamePro/BiosSet.cs +++ b/SabreTools.Data.Models/ClrMamePro/BiosSet.cs @@ -3,15 +3,15 @@ namespace SabreTools.Data.Models.ClrMamePro /// biosset public class BiosSet { - /// name + /// "name" [Required] public string? Name { get; set; } - /// description + /// "description" [Required] public string? Description { get; set; } - /// default + /// "default", (yes|no) "no" public bool? Default { get; set; } } } diff --git a/SabreTools.Data.Models/ClrMamePro/ClrMamePro.cs b/SabreTools.Data.Models/ClrMamePro/ClrMamePro.cs index 4cc061bd..b9255253 100644 --- a/SabreTools.Data.Models/ClrMamePro/ClrMamePro.cs +++ b/SabreTools.Data.Models/ClrMamePro/ClrMamePro.cs @@ -42,8 +42,8 @@ namespace SabreTools.Data.Models.ClrMamePro /// forcemerging public string? ForceMerging { get; set; } - /// forcezipping - public string? ForceZipping { get; set; } + /// forcezipping, (yes|no) "no" + public bool? ForceZipping { get; set; } /// forcepacking public string? ForcePacking { get; set; } diff --git a/SabreTools.Data.Models/ClrMamePro/DipSwitch.cs b/SabreTools.Data.Models/ClrMamePro/DipSwitch.cs index b75d2785..49a970ff 100644 --- a/SabreTools.Data.Models/ClrMamePro/DipSwitch.cs +++ b/SabreTools.Data.Models/ClrMamePro/DipSwitch.cs @@ -4,14 +4,14 @@ namespace SabreTools.Data.Models.ClrMamePro /// dipswitch public class DipSwitch { - /// name + /// "name" [Required] public string? Name { get; set; } - /// entry + /// "entry" public string[]? Entry { get; set; } - /// default, (yes|no) "no" + /// "default", (yes|no) "no" public bool? Default { get; set; } } } diff --git a/SabreTools.Data.Models/ClrMamePro/Input.cs b/SabreTools.Data.Models/ClrMamePro/Input.cs index 3a413113..a956575a 100644 --- a/SabreTools.Data.Models/ClrMamePro/Input.cs +++ b/SabreTools.Data.Models/ClrMamePro/Input.cs @@ -4,24 +4,24 @@ namespace SabreTools.Data.Models.ClrMamePro /// input public class Input { - /// players, Numeric/remarks> + /// "players", Numeric/remarks> [Required] public string? Players { get; set; } - /// control + /// "control" public string? Control { get; set; } - /// buttons, Numeric + /// "buttons", Numeric [Required] public string? Buttons { get; set; } - /// coins, Numeric + /// "coins", Numeric public string? Coins { get; set; } - /// tilt, (yes|no) "no" - public string? Tilt { get; set; } + /// "tilt", (yes|no) "no" + public bool? Tilt { get; set; } - /// service, (yes|no) "no" - public string? Service { get; set; } + /// "service", (yes|no) "no" + public bool? Service { get; set; } } } diff --git a/SabreTools.Data.Models/ClrMamePro/Release.cs b/SabreTools.Data.Models/ClrMamePro/Release.cs index 7c6bf0f7..afb313d8 100644 --- a/SabreTools.Data.Models/ClrMamePro/Release.cs +++ b/SabreTools.Data.Models/ClrMamePro/Release.cs @@ -4,21 +4,21 @@ namespace SabreTools.Data.Models.ClrMamePro /// release public class Release { - /// name + /// "name" [Required] public string? Name { get; set; } - /// region + /// "region" [Required] public string? Region { get; set; } - /// language + /// "language" public string? Language { get; set; } - /// date + /// "date" public string? Date { get; set; } - /// default + /// "default", (yes|no) "no" public bool? Default { get; set; } } } diff --git a/SabreTools.Data.Models/ClrMamePro/Rom.cs b/SabreTools.Data.Models/ClrMamePro/Rom.cs index 4034798e..6e64c274 100644 --- a/SabreTools.Data.Models/ClrMamePro/Rom.cs +++ b/SabreTools.Data.Models/ClrMamePro/Rom.cs @@ -101,10 +101,10 @@ namespace SabreTools.Data.Models.ClrMamePro #region RomVault Extensions /// inverted; Boolean; Appears after Date - public string? Inverted { get; set; } + public bool? Inverted { get; set; } /// mia; Boolean; Appears after Inverted - public string? MIA { get; set; } + public bool? MIA { get; set; } #endregion } diff --git a/SabreTools.Data.Models/Listxml/Chip.cs b/SabreTools.Data.Models/Listxml/Chip.cs index 993a967f..c0d48393 100644 --- a/SabreTools.Data.Models/Listxml/Chip.cs +++ b/SabreTools.Data.Models/Listxml/Chip.cs @@ -20,7 +20,7 @@ namespace SabreTools.Data.Models.Listxml /// Only present in older versions [XmlAttribute("soundonly")] - public string? SoundOnly { get; set; } + public bool? SoundOnly { get; set; } [XmlAttribute("clock")] public string? Clock { get; set; } diff --git a/SabreTools.Data.Models/Listxml/ConfLocation.cs b/SabreTools.Data.Models/Listxml/ConfLocation.cs index dd1da1dc..b6fe99b3 100644 --- a/SabreTools.Data.Models/Listxml/ConfLocation.cs +++ b/SabreTools.Data.Models/Listxml/ConfLocation.cs @@ -17,6 +17,6 @@ namespace SabreTools.Data.Models.Listxml /// (yes|no) "no" [XmlAttribute("inverted")] - public string? Inverted { get; set; } + public bool? Inverted { get; set; } } } diff --git a/SabreTools.Data.Models/Listxml/Control.cs b/SabreTools.Data.Models/Listxml/Control.cs index e5b0f134..3deb7c4e 100644 --- a/SabreTools.Data.Models/Listxml/Control.cs +++ b/SabreTools.Data.Models/Listxml/Control.cs @@ -41,7 +41,7 @@ namespace SabreTools.Data.Models.Listxml /// (yes|no) "no" [XmlAttribute("reverse")] - public string? Reverse { get; set; } + public bool? Reverse { get; set; } /// Numeric? [XmlAttribute("ways")] diff --git a/SabreTools.Data.Models/Listxml/DipLocation.cs b/SabreTools.Data.Models/Listxml/DipLocation.cs index f669f3e5..597ffc4a 100644 --- a/SabreTools.Data.Models/Listxml/DipLocation.cs +++ b/SabreTools.Data.Models/Listxml/DipLocation.cs @@ -17,6 +17,6 @@ namespace SabreTools.Data.Models.Listxml /// (yes|no) "no" [XmlAttribute("inverted")] - public string? Inverted { get; set; } + public bool? Inverted { get; set; } } } diff --git a/SabreTools.Data.Models/Listxml/Disk.cs b/SabreTools.Data.Models/Listxml/Disk.cs index 3b4c6158..79908639 100644 --- a/SabreTools.Data.Models/Listxml/Disk.cs +++ b/SabreTools.Data.Models/Listxml/Disk.cs @@ -29,7 +29,7 @@ namespace SabreTools.Data.Models.Listxml /// (yes|no) "no" [XmlAttribute("writable")] - public string? Writable { get; set; } + public bool? Writable { get; set; } /// (baddump|nodump|good) "good" [XmlAttribute("status")] @@ -37,6 +37,6 @@ namespace SabreTools.Data.Models.Listxml /// (yes|no) "no" [XmlAttribute("optional")] - public string? Optional { get; set; } + public bool? Optional { get; set; } } } diff --git a/SabreTools.Data.Models/Listxml/Display.cs b/SabreTools.Data.Models/Listxml/Display.cs index 885cb5f3..420e5892 100644 --- a/SabreTools.Data.Models/Listxml/Display.cs +++ b/SabreTools.Data.Models/Listxml/Display.cs @@ -20,7 +20,7 @@ namespace SabreTools.Data.Models.Listxml /// (yes|no) "no" [XmlAttribute("flipx")] - public string? FlipX { get; set; } + public bool? FlipX { get; set; } /// Numeric [XmlAttribute("width")] diff --git a/SabreTools.Data.Models/Listxml/Driver.cs b/SabreTools.Data.Models/Listxml/Driver.cs index 56efb119..98f55f50 100644 --- a/SabreTools.Data.Models/Listxml/Driver.cs +++ b/SabreTools.Data.Models/Listxml/Driver.cs @@ -40,18 +40,18 @@ namespace SabreTools.Data.Models.Listxml /// (yes|no) "no" [XmlAttribute("requiresartwork")] - public string? RequiresArtwork { get; set; } + public bool? RequiresArtwork { get; set; } /// (yes|no) "no" [XmlAttribute("unofficial")] - public string? Unofficial { get; set; } + public bool? Unofficial { get; set; } /// (yes|no) "no" [XmlAttribute("nosoundhardware")] - public string? NoSoundHardware { get; set; } + public bool? NoSoundHardware { get; set; } /// (yes|no) "no" [XmlAttribute("incomplete")] - public string? Incomplete { get; set; } + public bool? Incomplete { get; set; } } } diff --git a/SabreTools.Data.Models/Listxml/GameBase.cs b/SabreTools.Data.Models/Listxml/GameBase.cs index bec36fcd..6de1140e 100644 --- a/SabreTools.Data.Models/Listxml/GameBase.cs +++ b/SabreTools.Data.Models/Listxml/GameBase.cs @@ -18,19 +18,19 @@ namespace SabreTools.Data.Models.Listxml /// (yes|no) "no", Machine only [XmlAttribute("isbios")] - public string? IsBios { get; set; } + public bool? IsBios { get; set; } /// (yes|no) "no", Machine only [XmlAttribute("isdevice")] - public string? IsDevice { get; set; } + public bool? IsDevice { get; set; } /// (yes|no) "no", Machine only [XmlAttribute("ismechanical")] - public string? IsMechanical { get; set; } + public bool? IsMechanical { get; set; } /// (yes|no) "no" [XmlAttribute("runnable")] - public string? Runnable { get; set; } + public bool? Runnable { get; set; } [XmlAttribute("cloneof")] public string? CloneOf { get; set; } diff --git a/SabreTools.Data.Models/Listxml/Input.cs b/SabreTools.Data.Models/Listxml/Input.cs index f856df6d..438e7a6c 100644 --- a/SabreTools.Data.Models/Listxml/Input.cs +++ b/SabreTools.Data.Models/Listxml/Input.cs @@ -8,11 +8,11 @@ namespace SabreTools.Data.Models.Listxml { /// (yes|no) "no" [XmlAttribute("service")] - public string? Service { get; set; } + public bool? Service { get; set; } /// (yes|no) "no" [XmlAttribute("tilt")] - public string? Tilt { get; set; } + public bool? Tilt { get; set; } /// Numeric [Required] diff --git a/SabreTools.Data.Models/Listxml/Mame.cs b/SabreTools.Data.Models/Listxml/Mame.cs index 06faa831..a52584c6 100644 --- a/SabreTools.Data.Models/Listxml/Mame.cs +++ b/SabreTools.Data.Models/Listxml/Mame.cs @@ -11,7 +11,7 @@ namespace SabreTools.Data.Models.Listxml /// (yes|no) "no" [XmlAttribute("debug")] - public string? Debug { get; set; } + public bool? Debug { get; set; } [Required] [XmlAttribute("mameconfig")] diff --git a/SabreTools.Data.Models/Listxml/RamOption.cs b/SabreTools.Data.Models/Listxml/RamOption.cs index 337d60ba..78c105cc 100644 --- a/SabreTools.Data.Models/Listxml/RamOption.cs +++ b/SabreTools.Data.Models/Listxml/RamOption.cs @@ -10,6 +10,7 @@ namespace SabreTools.Data.Models.Listxml [XmlAttribute("name")] public string? Name { get; set; } + /// (yes|no) "no" [XmlAttribute("default")] public bool? Default { get; set; } diff --git a/SabreTools.Data.Models/Listxml/Rom.cs b/SabreTools.Data.Models/Listxml/Rom.cs index edaecf51..6448731f 100644 --- a/SabreTools.Data.Models/Listxml/Rom.cs +++ b/SabreTools.Data.Models/Listxml/Rom.cs @@ -40,14 +40,14 @@ namespace SabreTools.Data.Models.Listxml /// (yes|no) "no" [XmlAttribute("optional")] - public string? Optional { get; set; } + public bool? Optional { get; set; } /// (yes|no) "no", Only present in older versions [XmlAttribute("dispose")] - public string? Dispose { get; set; } + public bool? Dispose { get; set; } /// (yes|no) "no", Only present in older versions [XmlAttribute("soundonly")] - public string? SoundOnly { get; set; } + public bool? SoundOnly { get; set; } } } diff --git a/SabreTools.Data.Models/Logiqx/Datafile.cs b/SabreTools.Data.Models/Logiqx/Datafile.cs index 3c0b8eb6..4a9eca43 100644 --- a/SabreTools.Data.Models/Logiqx/Datafile.cs +++ b/SabreTools.Data.Models/Logiqx/Datafile.cs @@ -11,7 +11,7 @@ namespace SabreTools.Data.Models.Logiqx /// (yes|no) "no" [XmlAttribute("debug")] - public string? Debug { get; set; } + public bool? Debug { get; set; } /// No-Intro extension [XmlAttribute(Namespace = "http://www.w3.org/2001/XMLSchema-instance", AttributeName = "schemaLocation")] diff --git a/SabreTools.Data.Models/Logiqx/Driver.cs b/SabreTools.Data.Models/Logiqx/Driver.cs index b58fdd42..72991aea 100644 --- a/SabreTools.Data.Models/Logiqx/Driver.cs +++ b/SabreTools.Data.Models/Logiqx/Driver.cs @@ -28,18 +28,18 @@ namespace SabreTools.Data.Models.Logiqx /// (yes|no) "no" [XmlAttribute("requiresartwork")] - public string? RequiresArtwork { get; set; } + public bool? RequiresArtwork { get; set; } /// (yes|no) "no" [XmlAttribute("unofficial")] - public string? Unofficial { get; set; } + public bool? Unofficial { get; set; } /// (yes|no) "no" [XmlAttribute("nosoundhardware")] - public string? NoSoundHardware { get; set; } + public bool? NoSoundHardware { get; set; } /// (yes|no) "no" [XmlAttribute("incomplete")] - public string? Incomplete { get; set; } + public bool? Incomplete { get; set; } } } diff --git a/SabreTools.Data.Models/Logiqx/GameBase.cs b/SabreTools.Data.Models/Logiqx/GameBase.cs index 28e6d4ab..be9ed2c6 100644 --- a/SabreTools.Data.Models/Logiqx/GameBase.cs +++ b/SabreTools.Data.Models/Logiqx/GameBase.cs @@ -17,15 +17,15 @@ namespace SabreTools.Data.Models.Logiqx /// (yes|no) "no" [XmlAttribute("isbios")] - public string? IsBios { get; set; } + public bool? IsBios { get; set; } /// (yes|no) "no", MAME extension [XmlAttribute("isdevice")] - public string? IsDevice { get; set; } + public bool? IsDevice { get; set; } /// (yes|no) "no", MAME extension [XmlAttribute("ismechanical")] - public string? IsMechanical { get; set; } + public bool? IsMechanical { get; set; } [XmlAttribute("cloneof")] public string? CloneOf { get; set; } @@ -52,7 +52,7 @@ namespace SabreTools.Data.Models.Logiqx /// (no|partial|yes) "no" [XmlAttribute("runnable")] - public string? Runnable { get; set; } + public bool? Runnable { get; set; } [XmlElement("comment")] public string[]? Comment { get; set; } diff --git a/SabreTools.Data.Models/Logiqx/Rom.cs b/SabreTools.Data.Models/Logiqx/Rom.cs index e20d4efb..be687492 100644 --- a/SabreTools.Data.Models/Logiqx/Rom.cs +++ b/SabreTools.Data.Models/Logiqx/Rom.cs @@ -92,10 +92,10 @@ namespace SabreTools.Data.Models.Logiqx /// Boolean; RomVault extension [XmlAttribute("inverted")] - public string? Inverted { get; set; } + public bool? Inverted { get; set; } /// Boolean; RomVault extension [XmlAttribute("mia")] - public string? MIA { get; set; } + public bool? MIA { get; set; } } } diff --git a/SabreTools.Data.Models/Logiqx/RomCenter.cs b/SabreTools.Data.Models/Logiqx/RomCenter.cs index 157776dc..2840f518 100644 --- a/SabreTools.Data.Models/Logiqx/RomCenter.cs +++ b/SabreTools.Data.Models/Logiqx/RomCenter.cs @@ -23,14 +23,14 @@ namespace SabreTools.Data.Models.Logiqx /// (yes|no) "no" [XmlAttribute("lockrommode")] - public string? LockRomMode { get; set; } + public bool? LockRomMode { get; set; } /// (yes|no) "no" [XmlAttribute("lockbiosmode")] - public string? LockBiosMode { get; set; } + public bool? LockBiosMode { get; set; } /// (yes|no) "no" [XmlAttribute("locksamplemode")] - public string? LockSampleMode { get; set; } + public bool? LockSampleMode { get; set; } } } diff --git a/SabreTools.Data.Models/Metadata/Adjuster.cs b/SabreTools.Data.Models/Metadata/Adjuster.cs index 4e312236..c9c8388c 100644 --- a/SabreTools.Data.Models/Metadata/Adjuster.cs +++ b/SabreTools.Data.Models/Metadata/Adjuster.cs @@ -8,6 +8,7 @@ namespace SabreTools.Data.Models.Metadata { #region Properties + /// (yes|no) "no" public bool? Default { get; set; } public string? Name { get; set; } diff --git a/SabreTools.Data.Models/Metadata/BiosSet.cs b/SabreTools.Data.Models/Metadata/BiosSet.cs index 19b1c6c7..d7187d2b 100644 --- a/SabreTools.Data.Models/Metadata/BiosSet.cs +++ b/SabreTools.Data.Models/Metadata/BiosSet.cs @@ -8,6 +8,7 @@ namespace SabreTools.Data.Models.Metadata { #region Properties + /// (yes|no) "no" public bool? Default { get; set; } public string? Name { get; set; } diff --git a/SabreTools.Data.Models/Metadata/Chip.cs b/SabreTools.Data.Models/Metadata/Chip.cs index 0a8860cc..79d6699e 100644 --- a/SabreTools.Data.Models/Metadata/Chip.cs +++ b/SabreTools.Data.Models/Metadata/Chip.cs @@ -10,6 +10,9 @@ namespace SabreTools.Data.Models.Metadata public string? Name { get; set; } + /// (yes|no) "no" + public bool? SoundOnly { get; set; } + #endregion #region Keys @@ -20,9 +23,6 @@ namespace SabreTools.Data.Models.Metadata /// string public const string FlagsKey = "flags"; - /// (yes|no) "no" - public const string SoundOnlyKey = "soundonly"; - /// string public const string TagKey = "tag"; diff --git a/SabreTools.Data.Models/Metadata/ConfLocation.cs b/SabreTools.Data.Models/Metadata/ConfLocation.cs index 9fe02618..211330c0 100644 --- a/SabreTools.Data.Models/Metadata/ConfLocation.cs +++ b/SabreTools.Data.Models/Metadata/ConfLocation.cs @@ -8,15 +8,15 @@ namespace SabreTools.Data.Models.Metadata { #region Properties + /// (yes|no) "no" + public bool? Inverted { get; set; } + public string? Name { get; set; } #endregion #region Keys - /// (yes|no) "no" - public const string InvertedKey = "inverted"; - /// string, possibly long public const string NumberKey = "number"; diff --git a/SabreTools.Data.Models/Metadata/ConfSetting.cs b/SabreTools.Data.Models/Metadata/ConfSetting.cs index 3be87b52..bd91065f 100644 --- a/SabreTools.Data.Models/Metadata/ConfSetting.cs +++ b/SabreTools.Data.Models/Metadata/ConfSetting.cs @@ -8,6 +8,7 @@ namespace SabreTools.Data.Models.Metadata { #region Properties + /// (yes|no) "no" public bool? Default { get; set; } public string? Name { get; set; } diff --git a/SabreTools.Data.Models/Metadata/Control.cs b/SabreTools.Data.Models/Metadata/Control.cs index c14b816d..28222d70 100644 --- a/SabreTools.Data.Models/Metadata/Control.cs +++ b/SabreTools.Data.Models/Metadata/Control.cs @@ -6,6 +6,13 @@ namespace SabreTools.Data.Models.Metadata [JsonObject("control"), XmlRoot("control")] public class Control : DatItem { + #region Properties + + /// (yes|no) "no" + public bool? Reverse { get; set; } + + #endregion + #region Keys /// long @@ -26,9 +33,6 @@ namespace SabreTools.Data.Models.Metadata /// long public const string ReqButtonsKey = "reqbuttons"; - /// (yes|no) "no" - public const string ReverseKey = "reverse"; - /// long public const string SensitivityKey = "sensitivity"; diff --git a/SabreTools.Data.Models/Metadata/DipLocation.cs b/SabreTools.Data.Models/Metadata/DipLocation.cs index 58dde81e..65c36fbc 100644 --- a/SabreTools.Data.Models/Metadata/DipLocation.cs +++ b/SabreTools.Data.Models/Metadata/DipLocation.cs @@ -8,15 +8,15 @@ namespace SabreTools.Data.Models.Metadata { #region Properties + /// (yes|no) "no" + public bool? Inverted { get; set; } + public string? Name { get; set; } #endregion #region Keys - /// (yes|no) "no" - public const string InvertedKey = "inverted"; - /// string, possibly long public const string NumberKey = "number"; diff --git a/SabreTools.Data.Models/Metadata/DipSwitch.cs b/SabreTools.Data.Models/Metadata/DipSwitch.cs index 58bacdfb..7207d926 100644 --- a/SabreTools.Data.Models/Metadata/DipSwitch.cs +++ b/SabreTools.Data.Models/Metadata/DipSwitch.cs @@ -8,6 +8,7 @@ namespace SabreTools.Data.Models.Metadata { #region Properties + /// (yes|no) "no" public bool? Default { get; set; } public string? Name { get; set; } diff --git a/SabreTools.Data.Models/Metadata/DipValue.cs b/SabreTools.Data.Models/Metadata/DipValue.cs index f3906878..99ab2c6b 100644 --- a/SabreTools.Data.Models/Metadata/DipValue.cs +++ b/SabreTools.Data.Models/Metadata/DipValue.cs @@ -8,6 +8,7 @@ namespace SabreTools.Data.Models.Metadata { #region Properties + /// (yes|no) "no" public bool? Default { get; set; } public string? Name { get; set; } diff --git a/SabreTools.Data.Models/Metadata/Disk.cs b/SabreTools.Data.Models/Metadata/Disk.cs index f67a0b8e..17510762 100644 --- a/SabreTools.Data.Models/Metadata/Disk.cs +++ b/SabreTools.Data.Models/Metadata/Disk.cs @@ -10,6 +10,12 @@ namespace SabreTools.Data.Models.Metadata public string? Name { get; set; } + /// (yes|no) "no" + public bool? Optional { get; set; } + + /// (yes|no) "no" + public bool? Writable { get; set; } + #endregion #region Keys @@ -26,9 +32,6 @@ namespace SabreTools.Data.Models.Metadata /// string public const string MergeKey = "merge"; - /// (yes|no) "no" - public const string OptionalKey = "optional"; - /// string public const string RegionKey = "region"; @@ -38,9 +41,6 @@ namespace SabreTools.Data.Models.Metadata /// (baddump|nodump|good|verified) "good" public const string StatusKey = "status"; - /// (yes|no) "no" - public const string WritableKey = "writable"; - #endregion public Disk() => ItemType = ItemType.Disk; diff --git a/SabreTools.Data.Models/Metadata/Display.cs b/SabreTools.Data.Models/Metadata/Display.cs index edbf05dd..e81b6ceb 100644 --- a/SabreTools.Data.Models/Metadata/Display.cs +++ b/SabreTools.Data.Models/Metadata/Display.cs @@ -6,10 +6,14 @@ namespace SabreTools.Data.Models.Metadata [JsonObject("display"), XmlRoot("display")] public class Display : DatItem { - #region Keys + #region Properties /// (yes|no) "no" - public const string FlipXKey = "flipx"; + public bool? FlipX { get; set; } + + #endregion + + #region Keys /// long public const string HBEndKey = "hbend"; diff --git a/SabreTools.Data.Models/Metadata/Driver.cs b/SabreTools.Data.Models/Metadata/Driver.cs index 9860acfc..4060acd5 100644 --- a/SabreTools.Data.Models/Metadata/Driver.cs +++ b/SabreTools.Data.Models/Metadata/Driver.cs @@ -6,6 +6,22 @@ namespace SabreTools.Data.Models.Metadata [JsonObject("driver"), XmlRoot("driver")] public class Driver : DatItem { + #region Properties + + /// (yes|no) "no" + public bool? Incomplete { get; set; } + + /// (yes|no) "no" + public bool? NoSoundHardware { get; set; } + + /// (yes|no) "no" + public bool? RequiresArtwork { get; set; } + + /// (yes|no) "no" + public bool? Unofficial { get; set; } + + #endregion + #region Keys /// (plain|dirty) @@ -20,18 +36,9 @@ namespace SabreTools.Data.Models.Metadata /// (good|imperfect|preliminary) public const string EmulationKey = "emulation"; - /// (yes|no) "no" - public const string IncompleteKey = "incomplete"; - - /// (yes|no) "no" - public const string NoSoundHardwareKey = "nosoundhardware"; - /// string, possibly long public const string PaletteSizeKey = "palettesize"; - /// (yes|no) "no" - public const string RequiresArtworkKey = "requiresartwork"; - /// (supported|unsupported) public const string SaveStateKey = "savestate"; @@ -41,9 +48,6 @@ namespace SabreTools.Data.Models.Metadata /// (good|imperfect|preliminary|test) public const string StatusKey = "status"; - /// (yes|no) "no" - public const string UnofficialKey = "unofficial"; - #endregion public Driver() => ItemType = ItemType.Driver; diff --git a/SabreTools.Data.Models/Metadata/Header.cs b/SabreTools.Data.Models/Metadata/Header.cs index 9ed506ee..f4e98ea4 100644 --- a/SabreTools.Data.Models/Metadata/Header.cs +++ b/SabreTools.Data.Models/Metadata/Header.cs @@ -8,6 +8,21 @@ namespace SabreTools.Data.Models.Metadata { #region Properties + /// (yes|no) "no" + public bool? Debug { get; set; } + + /// (yes|no) "yes" + public bool? ForceZipping { get; set; } + + /// (yes|no) "no" + public bool? LockBiosMode { get; set; } + + /// (yes|no) "no" + public bool? LockRomMode { get; set; } + + /// (yes|no) "no" + public bool? LockSampleMode { get; set; } + public string? Name { get; set; } #endregion @@ -40,9 +55,6 @@ namespace SabreTools.Data.Models.Metadata /// string public const string DatVersionKey = "datversion"; - /// (yes|no) "no" - public const string DebugKey = "debug"; - /// string public const string DescriptionKey = "description"; @@ -61,9 +73,6 @@ namespace SabreTools.Data.Models.Metadata /// (zip|unzip) "zip" public const string ForcePackingKey = "forcepacking"; - /// (yes|no) "yes" - public const string ForceZippingKey = "forcezipping"; - /// string, string[] public const string HeaderKey = "header"; @@ -86,15 +95,6 @@ namespace SabreTools.Data.Models.Metadata [NoFilter] public const string InfosKey = "infos"; - /// (yes|no) "no" - public const string LockBiosModeKey = "lockbiosmode"; - - /// (yes|no) "no" - public const string LockRomModeKey = "lockrommode"; - - /// (yes|no) "no" - public const string LockSampleModeKey = "locksamplemode"; - /// string public const string MameConfigKey = "mameconfig"; diff --git a/SabreTools.Data.Models/Metadata/Input.cs b/SabreTools.Data.Models/Metadata/Input.cs index dba3364e..47d9069b 100644 --- a/SabreTools.Data.Models/Metadata/Input.cs +++ b/SabreTools.Data.Models/Metadata/Input.cs @@ -6,6 +6,16 @@ namespace SabreTools.Data.Models.Metadata [JsonObject("input"), XmlRoot("input")] public class Input : DatItem { + #region Properties + + /// (yes|no) "no" + public bool? Service { get; set; } + + /// (yes|no) "no" + public bool? Tilt { get; set; } + + #endregion + #region Keys /// long @@ -20,12 +30,6 @@ namespace SabreTools.Data.Models.Metadata /// long public const string PlayersKey = "players"; - /// (yes|no) "no" - public const string ServiceKey = "service"; - - /// (yes|no) "no" - public const string TiltKey = "tilt"; - #endregion public Input() => ItemType = ItemType.Input; diff --git a/SabreTools.Data.Models/Metadata/Machine.cs b/SabreTools.Data.Models/Metadata/Machine.cs index 82ccf0e1..e6355b33 100644 --- a/SabreTools.Data.Models/Metadata/Machine.cs +++ b/SabreTools.Data.Models/Metadata/Machine.cs @@ -8,8 +8,21 @@ namespace SabreTools.Data.Models.Metadata { #region Properties + /// (yes|no) "no" + public bool? IsBios { get; set; } + + /// (yes|no) "no" + public bool? IsDevice { get; set; } + + /// (yes|no) "no" + public bool? IsMechanical { get; set; } + public string? Name { get; set; } + /// (yes|partial|no) "no" + /// TODO: Replace with Runnable type + public bool? Runnable { get; set; } + #endregion #region Keys @@ -146,15 +159,6 @@ namespace SabreTools.Data.Models.Metadata [NoFilter] public const string InputKey = "input"; - /// (yes|no) "no" - public const string IsBiosKey = "isbios"; - - /// (yes|no) "no" - public const string IsDeviceKey = "isdevice"; - - /// (yes|no) "no" - public const string IsMechanicalKey = "ismechanical"; - /// string public const string LanguageKey = "language"; @@ -215,9 +219,6 @@ namespace SabreTools.Data.Models.Metadata /// string public const string RotationKey = "rotation"; - /// (yes|no) "no" - public const string RunnableKey = "runnable"; - /// Sample[] [NoFilter] public const string SampleKey = "sample"; diff --git a/SabreTools.Data.Models/Metadata/RamOption.cs b/SabreTools.Data.Models/Metadata/RamOption.cs index 1f7d84ea..a8f2092b 100644 --- a/SabreTools.Data.Models/Metadata/RamOption.cs +++ b/SabreTools.Data.Models/Metadata/RamOption.cs @@ -8,6 +8,7 @@ namespace SabreTools.Data.Models.Metadata { #region Properties + /// (yes|no) "no" public bool? Default { get; set; } public string? Name { get; set; } diff --git a/SabreTools.Data.Models/Metadata/Release.cs b/SabreTools.Data.Models/Metadata/Release.cs index e76e1d4e..c3e64cd5 100644 --- a/SabreTools.Data.Models/Metadata/Release.cs +++ b/SabreTools.Data.Models/Metadata/Release.cs @@ -8,6 +8,7 @@ namespace SabreTools.Data.Models.Metadata { #region Properties + /// (yes|no) "no" public bool? Default { get; set; } public string? Name { get; set; } diff --git a/SabreTools.Data.Models/Metadata/Rom.cs b/SabreTools.Data.Models/Metadata/Rom.cs index 99648714..39195aac 100644 --- a/SabreTools.Data.Models/Metadata/Rom.cs +++ b/SabreTools.Data.Models/Metadata/Rom.cs @@ -8,8 +8,26 @@ namespace SabreTools.Data.Models.Metadata { #region Properties + /// (yes|no) "no" + public bool? Dispose { get; set; } + + /// bool; AttractMode.Row + public bool? FileIsAvailable { get; set; } + + /// (yes|no) "no" + public bool? Inverted { get; set; } + + /// (yes|no) "no" + public bool? MIA { get; set; } + public string? Name { get; set; } + /// (yes|no) "no" + public bool? Optional { get; set; } + + /// (yes|no) "no" + public bool? SoundOnly { get; set; } + #endregion #region Keys @@ -68,18 +86,12 @@ namespace SabreTools.Data.Models.Metadata /// string public const string DateKey = "date"; - /// (yes|no) "no" - public const string DisposeKey = "dispose"; - /// string; OfflineList.FileRomCRC public const string ExtensionKey = "extension"; /// long; ArchiveDotOrg.File public const string FileCountKey = "filecount"; - /// bool; AttractMode.Row - public const string FileIsAvailableKey = "file_is_available"; - /// string public const string FlagsKey = "flags"; @@ -110,9 +122,6 @@ namespace SabreTools.Data.Models.Metadata /// string; ArchiveDotOrg.File public const string hOCRPageIndexModuleVersionKey = "hocr_pageindex_module_version"; - /// (yes|no) "no" - public const string InvertedKey = "inverted"; - /// long; ArchiveDotOrg.File public const string LastModifiedTimeKey = "mtime"; @@ -140,9 +149,6 @@ namespace SabreTools.Data.Models.Metadata /// string public const string MergeKey = "merge"; - /// (yes|no) "no" - public const string MIAKey = "mia"; - /// string; ArchiveDotOrg.File public const string TesseractOCRKey = "ocr"; @@ -170,9 +176,6 @@ namespace SabreTools.Data.Models.Metadata /// string, possibly long; Originally "offs" public const string OffsetKey = "offset"; - /// (yes|no) "no" - public const string OptionalKey = "optional"; - /// string; ArchiveDotOrg.File public const string OriginalKey = "original"; @@ -218,9 +221,6 @@ namespace SabreTools.Data.Models.Metadata /// long public const string SizeKey = "size"; - /// (yes|no) "no" - public const string SoundOnlyKey = "soundonly"; - /// string; ArchiveDotOrg.File public const string SourceKey = "source"; diff --git a/SabreTools.Data.Models/Metadata/SlotOption.cs b/SabreTools.Data.Models/Metadata/SlotOption.cs index a2ec5877..1e205bf6 100644 --- a/SabreTools.Data.Models/Metadata/SlotOption.cs +++ b/SabreTools.Data.Models/Metadata/SlotOption.cs @@ -8,6 +8,7 @@ namespace SabreTools.Data.Models.Metadata { #region Properties + /// (yes|no) "no" public bool? Default { get; set; } public string? Name { get; set; } diff --git a/SabreTools.Data.Models/OfflineList/InfoBase.cs b/SabreTools.Data.Models/OfflineList/InfoBase.cs index cb39fc67..b50a0a24 100644 --- a/SabreTools.Data.Models/OfflineList/InfoBase.cs +++ b/SabreTools.Data.Models/OfflineList/InfoBase.cs @@ -5,7 +5,7 @@ namespace SabreTools.Data.Models.OfflineList { public class InfoBase { - /// Boolean + /// (true|false) "false" [XmlAttribute("visible")] public string? Visible { get; set; } @@ -13,7 +13,7 @@ namespace SabreTools.Data.Models.OfflineList [XmlAttribute("inNamingOption")] public string? InNamingOption { get; set; } - /// Boolean + /// (true|false) "false" [XmlAttribute("default")] public bool? Default { get; set; } } diff --git a/SabreTools.Data.Models/OfflineList/To.cs b/SabreTools.Data.Models/OfflineList/To.cs index 725b0a49..8379e4f7 100644 --- a/SabreTools.Data.Models/OfflineList/To.cs +++ b/SabreTools.Data.Models/OfflineList/To.cs @@ -9,7 +9,7 @@ namespace SabreTools.Data.Models.OfflineList [XmlAttribute("value")] public string? Value { get; set; } - /// Boolean + /// (true|false) "false" [XmlAttribute("default")] public bool? Default { get; set; } diff --git a/SabreTools.Data.Models/SoftwareList/Disk.cs b/SabreTools.Data.Models/SoftwareList/Disk.cs index edc0dd46..9fddd1cb 100644 --- a/SabreTools.Data.Models/SoftwareList/Disk.cs +++ b/SabreTools.Data.Models/SoftwareList/Disk.cs @@ -22,6 +22,6 @@ namespace SabreTools.Data.Models.SoftwareList /// (yes|no) "no" [XmlAttribute("writable")] - public string? Writeable { get; set; } + public bool? Writeable { get; set; } } } diff --git a/SabreTools.Metadata.DatFiles.Test/DatFileTests.FromMetadata.cs b/SabreTools.Metadata.DatFiles.Test/DatFileTests.FromMetadata.cs index 543aa2b8..9129396f 100644 --- a/SabreTools.Metadata.DatFiles.Test/DatFileTests.FromMetadata.cs +++ b/SabreTools.Metadata.DatFiles.Test/DatFileTests.FromMetadata.cs @@ -209,23 +209,23 @@ namespace SabreTools.Metadata.DatFiles.Test [Data.Models.Metadata.Header.CommentKey] = "comment", [Data.Models.Metadata.Header.DateKey] = "date", [Data.Models.Metadata.Header.DatVersionKey] = "datversion", - [Data.Models.Metadata.Header.DebugKey] = "yes", + Debug = true, [Data.Models.Metadata.Header.DescriptionKey] = "description", [Data.Models.Metadata.Header.EmailKey] = "email", [Data.Models.Metadata.Header.EmulatorVersionKey] = "emulatorversion", [Data.Models.Metadata.Header.ForceMergingKey] = "merged", [Data.Models.Metadata.Header.ForceNodumpKey] = "required", [Data.Models.Metadata.Header.ForcePackingKey] = "zip", - [Data.Models.Metadata.Header.ForceZippingKey] = "yes", + ForceZipping = true, [Data.Models.Metadata.Header.HeaderKey] = "header", [Data.Models.Metadata.Header.HomepageKey] = "homepage", [Data.Models.Metadata.Header.IdKey] = "id", [Data.Models.Metadata.Header.ImagesKey] = images, [Data.Models.Metadata.Header.ImFolderKey] = "imfolder", [Data.Models.Metadata.Header.InfosKey] = infos, - [Data.Models.Metadata.Header.LockBiosModeKey] = "yes", - [Data.Models.Metadata.Header.LockRomModeKey] = "yes", - [Data.Models.Metadata.Header.LockSampleModeKey] = "yes", + LockBiosMode = true, + LockRomMode = true, + LockSampleMode = true, [Data.Models.Metadata.Header.MameConfigKey] = "mameconfig", Name = "name", [Data.Models.Metadata.Header.NewDatKey] = newDat, @@ -290,9 +290,9 @@ namespace SabreTools.Metadata.DatFiles.Test [Data.Models.Metadata.Machine.ImageNumberKey] = "imagenumber", [Data.Models.Metadata.Machine.InfoKey] = new Data.Models.Metadata.Info[] { CreateMetadataInfo() }, [Data.Models.Metadata.Machine.InputKey] = CreateMetadataInput(), - [Data.Models.Metadata.Machine.IsBiosKey] = "yes", - [Data.Models.Metadata.Machine.IsDeviceKey] = "yes", - [Data.Models.Metadata.Machine.IsMechanicalKey] = "yes", + IsBios = true, + IsDevice = true, + IsMechanical = true, [Data.Models.Metadata.Machine.LanguageKey] = "language", [Data.Models.Metadata.Machine.LocationKey] = "location", [Data.Models.Metadata.Machine.ManufacturerKey] = "manufacturer", @@ -312,7 +312,7 @@ namespace SabreTools.Metadata.DatFiles.Test [Data.Models.Metadata.Machine.RomKey] = new Data.Models.Metadata.Rom[] { CreateMetadataRom() }, [Data.Models.Metadata.Machine.RomOfKey] = "romof", [Data.Models.Metadata.Machine.RotationKey] = "rotation", - [Data.Models.Metadata.Machine.RunnableKey] = "yes", + Runnable = true, [Data.Models.Metadata.Machine.SampleKey] = new Data.Models.Metadata.Sample[] { CreateMetadataSample() }, [Data.Models.Metadata.Machine.SampleOfKey] = "sampleof", [Data.Models.Metadata.Machine.SaveTypeKey] = "savetype", @@ -407,7 +407,7 @@ namespace SabreTools.Metadata.DatFiles.Test [Data.Models.Metadata.Chip.ClockKey] = 12345L, [Data.Models.Metadata.Chip.FlagsKey] = "flags", Name = "name", - [Data.Models.Metadata.Chip.SoundOnlyKey] = "yes", + SoundOnly = true, [Data.Models.Metadata.Chip.TagKey] = "tag", [Data.Models.Metadata.Chip.ChipTypeKey] = "cpu", }; @@ -441,7 +441,7 @@ namespace SabreTools.Metadata.DatFiles.Test { return new Data.Models.Metadata.ConfLocation { - [Data.Models.Metadata.ConfLocation.InvertedKey] = "yes", + Inverted = true, Name = "name", [Data.Models.Metadata.ConfLocation.NumberKey] = "number", }; @@ -468,7 +468,7 @@ namespace SabreTools.Metadata.DatFiles.Test [Data.Models.Metadata.Control.MinimumKey] = 12345L, [Data.Models.Metadata.Control.PlayerKey] = 12345L, [Data.Models.Metadata.Control.ReqButtonsKey] = 12345L, - [Data.Models.Metadata.Control.ReverseKey] = "yes", + Reverse = true, [Data.Models.Metadata.Control.SensitivityKey] = 12345L, [Data.Models.Metadata.Control.ControlTypeKey] = "lightgun", [Data.Models.Metadata.Control.WaysKey] = "ways", @@ -503,7 +503,7 @@ namespace SabreTools.Metadata.DatFiles.Test { return new Data.Models.Metadata.DipLocation { - [Data.Models.Metadata.DipLocation.InvertedKey] = "yes", + Inverted = true, Name = "name", [Data.Models.Metadata.DipLocation.NumberKey] = "number", }; @@ -556,10 +556,10 @@ namespace SabreTools.Metadata.DatFiles.Test [Data.Models.Metadata.Disk.MD5Key] = HashType.MD5.ZeroString, [Data.Models.Metadata.Disk.MergeKey] = "merge", Name = "name", - [Data.Models.Metadata.Disk.OptionalKey] = "yes", + Optional = true, [Data.Models.Metadata.Disk.RegionKey] = "region", [Data.Models.Metadata.Disk.SHA1Key] = HashType.SHA1.ZeroString, - [Data.Models.Metadata.Disk.WritableKey] = "yes", + Writable = true, }; } @@ -576,7 +576,7 @@ namespace SabreTools.Metadata.DatFiles.Test { return new Data.Models.Metadata.Display { - [Data.Models.Metadata.Display.FlipXKey] = "yes", + FlipX = true, [Data.Models.Metadata.Display.HBEndKey] = 12345L, [Data.Models.Metadata.Display.HBStartKey] = 12345L, [Data.Models.Metadata.Display.HeightKey] = 12345L, @@ -601,14 +601,14 @@ namespace SabreTools.Metadata.DatFiles.Test [Data.Models.Metadata.Driver.CocktailKey] = "good", [Data.Models.Metadata.Driver.ColorKey] = "good", [Data.Models.Metadata.Driver.EmulationKey] = "good", - [Data.Models.Metadata.Driver.IncompleteKey] = "yes", - [Data.Models.Metadata.Driver.NoSoundHardwareKey] = "yes", + Incomplete = true, + NoSoundHardware = true, [Data.Models.Metadata.Driver.PaletteSizeKey] = "pallettesize", - [Data.Models.Metadata.Driver.RequiresArtworkKey] = "yes", + RequiresArtwork = true, [Data.Models.Metadata.Driver.SaveStateKey] = "supported", [Data.Models.Metadata.Driver.SoundKey] = "good", [Data.Models.Metadata.Driver.StatusKey] = "good", - [Data.Models.Metadata.Driver.UnofficialKey] = "yes", + Unofficial = true, }; } @@ -664,8 +664,8 @@ namespace SabreTools.Metadata.DatFiles.Test [Data.Models.Metadata.Input.CoinsKey] = 12345L, [Data.Models.Metadata.Input.ControlKey] = new Data.Models.Metadata.Control[] { CreateMetadataControl() }, [Data.Models.Metadata.Input.PlayersKey] = 12345L, - [Data.Models.Metadata.Input.ServiceKey] = "yes", - [Data.Models.Metadata.Input.TiltKey] = "yes", + Service = true, + Tilt = true, }; } @@ -788,10 +788,10 @@ namespace SabreTools.Metadata.DatFiles.Test [Data.Models.Metadata.Rom.CRC64Key] = HashType.CRC64.ZeroString, [Data.Models.Metadata.Rom.CreatorKey] = "creator", [Data.Models.Metadata.Rom.DateKey] = "date", - [Data.Models.Metadata.Rom.DisposeKey] = "yes", + Dispose = true, [Data.Models.Metadata.Rom.ExtensionKey] = "extension", [Data.Models.Metadata.Rom.FileCountKey] = 12345L, - [Data.Models.Metadata.Rom.FileIsAvailableKey] = true, + FileIsAvailable = true, [Data.Models.Metadata.Rom.FlagsKey] = "flags", [Data.Models.Metadata.Rom.FormatKey] = "format", [Data.Models.Metadata.Rom.HeaderKey] = "header", @@ -802,7 +802,7 @@ namespace SabreTools.Metadata.DatFiles.Test [Data.Models.Metadata.Rom.hOCRFtsTextModuleVersionKey] = "hocr_fts_text_module_version", [Data.Models.Metadata.Rom.hOCRPageIndexhOCRVersionKey] = "hocr_pageindex_hocr_version", [Data.Models.Metadata.Rom.hOCRPageIndexModuleVersionKey] = "hocr_pageindex_module_version", - [Data.Models.Metadata.Rom.InvertedKey] = "yes", + Inverted = true, [Data.Models.Metadata.Rom.LastModifiedTimeKey] = "mtime", [Data.Models.Metadata.Rom.LengthKey] = "length", [Data.Models.Metadata.Rom.LoadFlagKey] = "load16_byte", @@ -812,7 +812,7 @@ namespace SabreTools.Metadata.DatFiles.Test [Data.Models.Metadata.Rom.MD5Key] = HashType.MD5.ZeroString, // [Data.Models.Metadata.Rom.OpenMSXMediaType] = null, // Omit due to other test [Data.Models.Metadata.Rom.MergeKey] = "merge", - [Data.Models.Metadata.Rom.MIAKey] = "yes", + MIA = true, Name = "name", [Data.Models.Metadata.Rom.TesseractOCRKey] = "ocr", [Data.Models.Metadata.Rom.TesseractOCRConvertedKey] = "ocr_converted", @@ -823,7 +823,7 @@ namespace SabreTools.Metadata.DatFiles.Test [Data.Models.Metadata.Rom.TesseractOCRModuleVersionKey] = "ocr_module_version", [Data.Models.Metadata.Rom.TesseractOCRParametersKey] = "ocr_parameters", [Data.Models.Metadata.Rom.OffsetKey] = "offset", - [Data.Models.Metadata.Rom.OptionalKey] = "yes", + Optional = true, [Data.Models.Metadata.Rom.OriginalKey] = "original", [Data.Models.Metadata.Rom.PDFModuleVersionKey] = "pdf_module_version", [Data.Models.Metadata.Rom.PreviewImageKey] = "preview-image", @@ -839,7 +839,7 @@ namespace SabreTools.Metadata.DatFiles.Test [Data.Models.Metadata.Rom.SHA384Key] = HashType.SHA384.ZeroString, [Data.Models.Metadata.Rom.SHA512Key] = HashType.SHA512.ZeroString, [Data.Models.Metadata.Rom.SizeKey] = 12345L, - [Data.Models.Metadata.Rom.SoundOnlyKey] = "yes", + SoundOnly = true, [Data.Models.Metadata.Rom.SourceKey] = "source", [Data.Models.Metadata.Rom.SpamSumKey] = HashType.SpamSum.ZeroString, [Data.Models.Metadata.Rom.StartKey] = "start", @@ -938,7 +938,7 @@ namespace SabreTools.Metadata.DatFiles.Test [Data.Models.Metadata.Software.PartKey] = new Data.Models.Metadata.Part[] { CreateMetadataPart() }, [Data.Models.Metadata.Software.PublisherKey] = "publisher", [Data.Models.Metadata.Software.SharedFeatKey] = new Data.Models.Metadata.SharedFeat[] { CreateMetadataSharedFeat() }, - [Data.Models.Metadata.Software.SupportedKey] = "yes", + [Data.Models.Metadata.Software.SupportedKey] = true, [Data.Models.Metadata.Software.YearKey] = "year", }; } @@ -1010,7 +1010,7 @@ namespace SabreTools.Metadata.DatFiles.Test Score = "score", Players = "players", Enabled = "enabled", - CRC = "true", + CRC = "yes", Source = "source", CloneOf = "cloneof", RelatedTo = "relatedto", @@ -1045,23 +1045,23 @@ namespace SabreTools.Metadata.DatFiles.Test Assert.Equal("comment", datHeader.ReadString(Data.Models.Metadata.Header.CommentKey)); Assert.Equal("date", datHeader.ReadString(Data.Models.Metadata.Header.DateKey)); Assert.Equal("datversion", datHeader.ReadString(Data.Models.Metadata.Header.DatVersionKey)); - Assert.True(datHeader.ReadBool(Data.Models.Metadata.Header.DebugKey)); + Assert.True(datHeader.Debug); Assert.Equal("description", datHeader.ReadString(Data.Models.Metadata.Header.DescriptionKey)); Assert.Equal("email", datHeader.ReadString(Data.Models.Metadata.Header.EmailKey)); Assert.Equal("emulatorversion", datHeader.ReadString(Data.Models.Metadata.Header.EmulatorVersionKey)); Assert.Equal("merged", datHeader.ReadString(Data.Models.Metadata.Header.ForceMergingKey)); Assert.Equal("required", datHeader.ReadString(Data.Models.Metadata.Header.ForceNodumpKey)); Assert.Equal("zip", datHeader.ReadString(Data.Models.Metadata.Header.ForcePackingKey)); - Assert.True(datHeader.ReadBool(Data.Models.Metadata.Header.ForceZippingKey)); + Assert.True(datHeader.ForceZipping); Assert.Equal("header", datHeader.ReadString(Data.Models.Metadata.Header.HeaderKey)); Assert.Equal("homepage", datHeader.ReadString(Data.Models.Metadata.Header.HomepageKey)); Assert.Equal("id", datHeader.ReadString(Data.Models.Metadata.Header.IdKey)); Assert.NotNull(datHeader.ReadString(Data.Models.Metadata.Header.ImagesKey)); Assert.Equal("imfolder", datHeader.ReadString(Data.Models.Metadata.Header.ImFolderKey)); Assert.NotNull(datHeader.ReadString(Data.Models.Metadata.Header.InfosKey)); - Assert.True(datHeader.ReadBool(Data.Models.Metadata.Header.LockBiosModeKey)); - Assert.True(datHeader.ReadBool(Data.Models.Metadata.Header.LockRomModeKey)); - Assert.True(datHeader.ReadBool(Data.Models.Metadata.Header.LockSampleModeKey)); + Assert.True(datHeader.LockBiosMode); + Assert.True(datHeader.LockRomMode); + Assert.True(datHeader.LockSampleMode); Assert.Equal("mameconfig", datHeader.ReadString(Data.Models.Metadata.Header.MameConfigKey)); Assert.Equal("name", datHeader.Name); Assert.NotNull(datHeader.ReadString(Data.Models.Metadata.Header.NewDatKey)); @@ -1109,9 +1109,9 @@ namespace SabreTools.Metadata.DatFiles.Test Assert.Equal(HashType.CRC32.ZeroString, machine.ReadString(Data.Models.Metadata.Machine.Im1CRCKey)); Assert.Equal(HashType.CRC32.ZeroString, machine.ReadString(Data.Models.Metadata.Machine.Im2CRCKey)); Assert.Equal("imagenumber", machine.ReadString(Data.Models.Metadata.Machine.ImageNumberKey)); - Assert.Equal("yes", machine.ReadString(Data.Models.Metadata.Machine.IsBiosKey)); - Assert.Equal("yes", machine.ReadString(Data.Models.Metadata.Machine.IsDeviceKey)); - Assert.Equal("yes", machine.ReadString(Data.Models.Metadata.Machine.IsMechanicalKey)); + Assert.Equal(true, machine.IsBios); + Assert.Equal(true, machine.IsDevice); + Assert.Equal(true, machine.IsMechanical); Assert.Equal("language", machine.ReadString(Data.Models.Metadata.Machine.LanguageKey)); Assert.Equal("location", machine.ReadString(Data.Models.Metadata.Machine.LocationKey)); Assert.Equal("manufacturer", machine.ReadString(Data.Models.Metadata.Machine.ManufacturerKey)); @@ -1125,7 +1125,7 @@ namespace SabreTools.Metadata.DatFiles.Test Assert.Equal("releasenumber", machine.ReadString(Data.Models.Metadata.Machine.ReleaseNumberKey)); Assert.Equal("romof", machine.ReadString(Data.Models.Metadata.Machine.RomOfKey)); Assert.Equal("rotation", machine.ReadString(Data.Models.Metadata.Machine.RotationKey)); - Assert.Equal("yes", machine.ReadString(Data.Models.Metadata.Machine.RunnableKey)); + Assert.Equal(true, machine.Runnable); Assert.Equal("sampleof", machine.ReadString(Data.Models.Metadata.Machine.SampleOfKey)); Assert.Equal("savetype", machine.ReadString(Data.Models.Metadata.Machine.SaveTypeKey)); Assert.Equal("sourcefile", machine.ReadString(Data.Models.Metadata.Machine.SourceFileKey)); @@ -1177,7 +1177,7 @@ namespace SabreTools.Metadata.DatFiles.Test Assert.Equal(12345L, chip.ReadLong(Data.Models.Metadata.Chip.ClockKey)); Assert.Equal("flags", chip.ReadString(Data.Models.Metadata.Chip.FlagsKey)); Assert.Equal("name", chip.GetName()); - Assert.True(chip.ReadBool(Data.Models.Metadata.Chip.SoundOnlyKey)); + Assert.True(chip.SoundOnly); Assert.Equal("tag", chip.ReadString(Data.Models.Metadata.Chip.TagKey)); Assert.Equal("cpu", chip.ReadString(Data.Models.Metadata.Chip.ChipTypeKey)); } @@ -1215,7 +1215,7 @@ namespace SabreTools.Metadata.DatFiles.Test private static void ValidateConfLocation(ConfLocation? confLocation) { Assert.NotNull(confLocation); - Assert.True(confLocation.ReadBool(Data.Models.Metadata.ConfLocation.InvertedKey)); + Assert.True(confLocation.Inverted); Assert.Equal("name", confLocation.GetName()); Assert.Equal("number", confLocation.ReadString(Data.Models.Metadata.ConfLocation.NumberKey)); } @@ -1240,7 +1240,7 @@ namespace SabreTools.Metadata.DatFiles.Test Assert.Equal(12345L, control.ReadLong(Data.Models.Metadata.Control.MinimumKey)); Assert.Equal(12345L, control.ReadLong(Data.Models.Metadata.Control.PlayerKey)); Assert.Equal(12345L, control.ReadLong(Data.Models.Metadata.Control.ReqButtonsKey)); - Assert.True(control.ReadBool(Data.Models.Metadata.Control.ReverseKey)); + Assert.True(control.Reverse); Assert.Equal(12345L, control.ReadLong(Data.Models.Metadata.Control.SensitivityKey)); Assert.Equal("lightgun", control.ReadString(Data.Models.Metadata.Control.ControlTypeKey)); Assert.Equal("ways", control.ReadString(Data.Models.Metadata.Control.WaysKey)); @@ -1284,7 +1284,7 @@ namespace SabreTools.Metadata.DatFiles.Test private static void ValidateDipLocation(DipLocation? dipLocation) { Assert.NotNull(dipLocation); - Assert.True(dipLocation.ReadBool(Data.Models.Metadata.DipLocation.InvertedKey)); + Assert.True(dipLocation.Inverted); Assert.Equal("name", dipLocation.GetName()); Assert.Equal("number", dipLocation.ReadString(Data.Models.Metadata.DipLocation.NumberKey)); } @@ -1335,10 +1335,10 @@ namespace SabreTools.Metadata.DatFiles.Test Assert.Equal(HashType.MD5.ZeroString, disk.ReadString(Data.Models.Metadata.Disk.MD5Key)); Assert.Equal("merge", disk.ReadString(Data.Models.Metadata.Disk.MergeKey)); Assert.Equal("name", disk.GetName()); - Assert.True(disk.ReadBool(Data.Models.Metadata.Disk.OptionalKey)); + Assert.True(disk.Optional); Assert.Equal("region", disk.ReadString(Data.Models.Metadata.Disk.RegionKey)); Assert.Equal(HashType.SHA1.ZeroString, disk.ReadString(Data.Models.Metadata.Disk.SHA1Key)); - Assert.True(disk.ReadBool(Data.Models.Metadata.Disk.WritableKey)); + Assert.True(disk.Writable); } private static void ValidateDiskArea(DiskArea? diskArea) @@ -1350,7 +1350,7 @@ namespace SabreTools.Metadata.DatFiles.Test private static void ValidateDisplay(Display? display) { Assert.NotNull(display); - Assert.True(display.ReadBool(Data.Models.Metadata.Display.FlipXKey)); + Assert.True(display.FlipX); Assert.Equal(12345L, display.ReadLong(Data.Models.Metadata.Display.HBEndKey)); Assert.Equal(12345L, display.ReadLong(Data.Models.Metadata.Display.HBStartKey)); Assert.Equal(12345L, display.ReadLong(Data.Models.Metadata.Display.HeightKey)); @@ -1373,14 +1373,14 @@ namespace SabreTools.Metadata.DatFiles.Test Assert.Equal("good", driver.ReadString(Data.Models.Metadata.Driver.CocktailKey)); Assert.Equal("good", driver.ReadString(Data.Models.Metadata.Driver.ColorKey)); Assert.Equal("good", driver.ReadString(Data.Models.Metadata.Driver.EmulationKey)); - Assert.True(driver.ReadBool(Data.Models.Metadata.Driver.IncompleteKey)); - Assert.True(driver.ReadBool(Data.Models.Metadata.Driver.NoSoundHardwareKey)); + Assert.True(driver.Incomplete); + Assert.True(driver.NoSoundHardware); Assert.Equal("pallettesize", driver.ReadString(Data.Models.Metadata.Driver.PaletteSizeKey)); - Assert.True(driver.ReadBool(Data.Models.Metadata.Driver.RequiresArtworkKey)); + Assert.True(driver.RequiresArtwork); Assert.Equal("supported", driver.ReadString(Data.Models.Metadata.Driver.SaveStateKey)); Assert.Equal("good", driver.ReadString(Data.Models.Metadata.Driver.SoundKey)); Assert.Equal("good", driver.ReadString(Data.Models.Metadata.Driver.StatusKey)); - Assert.True(driver.ReadBool(Data.Models.Metadata.Driver.UnofficialKey)); + Assert.True(driver.Unofficial); } private static void ValidateExtension(Extension? extension) @@ -1412,8 +1412,8 @@ namespace SabreTools.Metadata.DatFiles.Test Assert.Equal(12345L, input.ReadLong(Data.Models.Metadata.Input.ButtonsKey)); Assert.Equal(12345L, input.ReadLong(Data.Models.Metadata.Input.CoinsKey)); Assert.Equal(12345L, input.ReadLong(Data.Models.Metadata.Input.PlayersKey)); - Assert.True(input.ReadBool(Data.Models.Metadata.Input.ServiceKey)); - Assert.True(input.ReadBool(Data.Models.Metadata.Input.TiltKey)); + Assert.True(input.Service); + Assert.True(input.Tilt); Control[]? controls = input.Read(Data.Models.Metadata.Input.ControlKey); Assert.NotNull(controls); @@ -1508,10 +1508,10 @@ namespace SabreTools.Metadata.DatFiles.Test Assert.Equal(HashType.CRC64.ZeroString, rom.ReadString(Data.Models.Metadata.Rom.CRC64Key)); Assert.Equal("creator", rom.ReadString(Data.Models.Metadata.Rom.CreatorKey)); Assert.Equal("date", rom.ReadString(Data.Models.Metadata.Rom.DateKey)); - Assert.True(rom.ReadBool(Data.Models.Metadata.Rom.DisposeKey)); + Assert.True(rom.Dispose); Assert.Equal("extension", rom.ReadString(Data.Models.Metadata.Rom.ExtensionKey)); Assert.Equal(12345L, rom.ReadLong(Data.Models.Metadata.Rom.FileCountKey)); - Assert.True(rom.ReadBool(Data.Models.Metadata.Rom.FileIsAvailableKey)); + Assert.True(rom.FileIsAvailable); Assert.Equal("flags", rom.ReadString(Data.Models.Metadata.Rom.FlagsKey)); Assert.Equal("format", rom.ReadString(Data.Models.Metadata.Rom.FormatKey)); Assert.Equal("header", rom.ReadString(Data.Models.Metadata.Rom.HeaderKey)); @@ -1522,7 +1522,7 @@ namespace SabreTools.Metadata.DatFiles.Test Assert.Equal("hocr_fts_text_module_version", rom.ReadString(Data.Models.Metadata.Rom.hOCRFtsTextModuleVersionKey)); Assert.Equal("hocr_pageindex_hocr_version", rom.ReadString(Data.Models.Metadata.Rom.hOCRPageIndexhOCRVersionKey)); Assert.Equal("hocr_pageindex_module_version", rom.ReadString(Data.Models.Metadata.Rom.hOCRPageIndexModuleVersionKey)); - Assert.True(rom.ReadBool(Data.Models.Metadata.Rom.InvertedKey)); + Assert.True(rom.Inverted); Assert.Equal("mtime", rom.ReadString(Data.Models.Metadata.Rom.LastModifiedTimeKey)); Assert.Equal("length", rom.ReadString(Data.Models.Metadata.Rom.LengthKey)); Assert.Equal("load16_byte", rom.ReadString(Data.Models.Metadata.Rom.LoadFlagKey)); @@ -1532,7 +1532,7 @@ namespace SabreTools.Metadata.DatFiles.Test Assert.Equal(HashType.MD5.ZeroString, rom.ReadString(Data.Models.Metadata.Rom.MD5Key)); Assert.Null(rom.ReadString(Data.Models.Metadata.Rom.OpenMSXMediaType)); // Omit due to other test Assert.Equal("merge", rom.ReadString(Data.Models.Metadata.Rom.MergeKey)); - Assert.True(rom.ReadBool(Data.Models.Metadata.Rom.MIAKey)); + Assert.True(rom.MIA); Assert.Equal("name", rom.GetName()); Assert.Equal("ocr", rom.ReadString(Data.Models.Metadata.Rom.TesseractOCRKey)); Assert.Equal("ocr_converted", rom.ReadString(Data.Models.Metadata.Rom.TesseractOCRConvertedKey)); @@ -1543,7 +1543,7 @@ namespace SabreTools.Metadata.DatFiles.Test Assert.Equal("ocr_module_version", rom.ReadString(Data.Models.Metadata.Rom.TesseractOCRModuleVersionKey)); Assert.Equal("ocr_parameters", rom.ReadString(Data.Models.Metadata.Rom.TesseractOCRParametersKey)); Assert.Equal("offset", rom.ReadString(Data.Models.Metadata.Rom.OffsetKey)); - Assert.True(rom.ReadBool(Data.Models.Metadata.Rom.OptionalKey)); + Assert.True(rom.Optional); Assert.Equal("original", rom.ReadString(Data.Models.Metadata.Rom.OriginalKey)); Assert.Equal("pdf_module_version", rom.ReadString(Data.Models.Metadata.Rom.PDFModuleVersionKey)); Assert.Equal("preview-image", rom.ReadString(Data.Models.Metadata.Rom.PreviewImageKey)); @@ -1559,7 +1559,7 @@ namespace SabreTools.Metadata.DatFiles.Test Assert.Equal(HashType.SHA384.ZeroString, rom.ReadString(Data.Models.Metadata.Rom.SHA384Key)); Assert.Equal(HashType.SHA512.ZeroString, rom.ReadString(Data.Models.Metadata.Rom.SHA512Key)); Assert.Equal(12345L, rom.ReadLong(Data.Models.Metadata.Rom.SizeKey)); - Assert.True(rom.ReadBool(Data.Models.Metadata.Rom.SoundOnlyKey)); + Assert.True(rom.SoundOnly); Assert.Equal("source", rom.ReadString(Data.Models.Metadata.Rom.SourceKey)); Assert.Equal(HashType.SpamSum.ZeroString, rom.ReadString(Data.Models.Metadata.Rom.SpamSumKey)); Assert.Equal("start", rom.ReadString(Data.Models.Metadata.Rom.StartKey)); diff --git a/SabreTools.Metadata.DatFiles.Test/DatFileTests.Splitting.cs b/SabreTools.Metadata.DatFiles.Test/DatFileTests.Splitting.cs index aaa2eaa1..021711fa 100644 --- a/SabreTools.Metadata.DatFiles.Test/DatFileTests.Splitting.cs +++ b/SabreTools.Metadata.DatFiles.Test/DatFileTests.Splitting.cs @@ -20,7 +20,7 @@ namespace SabreTools.Metadata.DatFiles.Test Machine childMachine = new Machine(); childMachine.SetName("child"); childMachine.Write(Data.Models.Metadata.Machine.CloneOfKey, "parent"); - childMachine.Write(Data.Models.Metadata.Machine.IsBiosKey, true); + childMachine.IsBios = true; DatItem parentItem = new Rom(); parentItem.SetName("parent_rom"); @@ -65,7 +65,7 @@ namespace SabreTools.Metadata.DatFiles.Test Machine childMachine = new Machine(); childMachine.SetName("child"); childMachine.Write(Data.Models.Metadata.Machine.CloneOfKey, "parent"); - childMachine.Write(Data.Models.Metadata.Machine.IsBiosKey, true); + childMachine.IsBios = true; DatItem parentItem = new Rom(); parentItem.SetName("parent_rom"); @@ -110,7 +110,7 @@ namespace SabreTools.Metadata.DatFiles.Test Machine childMachine = new Machine(); childMachine.SetName("child"); childMachine.Write(Data.Models.Metadata.Machine.CloneOfKey, "parent"); - childMachine.Write(Data.Models.Metadata.Machine.IsBiosKey, true); + childMachine.IsBios = true; DatItem parentItem = new Rom(); parentItem.SetName("parent_rom"); @@ -158,7 +158,7 @@ namespace SabreTools.Metadata.DatFiles.Test Machine childMachine = new Machine(); childMachine.SetName("child"); childMachine.Write(Data.Models.Metadata.Machine.CloneOfKey, "parent"); - childMachine.Write(Data.Models.Metadata.Machine.IsBiosKey, true); + childMachine.IsBios = true; DatItem parentItem = new Rom(); parentItem.SetName("parent_rom"); @@ -210,7 +210,7 @@ namespace SabreTools.Metadata.DatFiles.Test Machine childMachine = new Machine(); childMachine.SetName("child"); childMachine.Write(Data.Models.Metadata.Machine.CloneOfKey, "parent"); - childMachine.Write(Data.Models.Metadata.Machine.IsBiosKey, true); + childMachine.IsBios = true; DatItem parentItem = new Rom(); parentItem.SetName("parent_rom"); @@ -255,7 +255,7 @@ namespace SabreTools.Metadata.DatFiles.Test Machine childMachine = new Machine(); childMachine.SetName("child"); childMachine.Write(Data.Models.Metadata.Machine.CloneOfKey, "parent"); - childMachine.Write(Data.Models.Metadata.Machine.IsBiosKey, true); + childMachine.IsBios = true; DatItem parentItem = new Rom(); parentItem.SetName("parent_rom"); @@ -307,7 +307,7 @@ namespace SabreTools.Metadata.DatFiles.Test Machine deviceMachine = new Machine(); deviceMachine.SetName("device"); - deviceMachine.Write(Data.Models.Metadata.Machine.IsDeviceKey, true); + deviceMachine.IsDevice = true; Machine slotOptionMachine = new Machine(); slotOptionMachine.SetName("slotoption"); @@ -366,7 +366,7 @@ namespace SabreTools.Metadata.DatFiles.Test Machine deviceMachine = new Machine(); deviceMachine.SetName("device"); - deviceMachine.Write(Data.Models.Metadata.Machine.IsDeviceKey, true); + deviceMachine.IsDevice = true; Machine slotOptionMachine = new Machine(); slotOptionMachine.SetName("slotoption"); @@ -423,7 +423,7 @@ namespace SabreTools.Metadata.DatFiles.Test Machine childMachine = new Machine(); childMachine.SetName("child"); childMachine.Write(Data.Models.Metadata.Machine.RomOfKey, "parent"); - childMachine.Write(Data.Models.Metadata.Machine.IsBiosKey, true); + childMachine.IsBios = true; DatItem parentItem = new Rom(); parentItem.SetName("parent_rom"); @@ -468,7 +468,7 @@ namespace SabreTools.Metadata.DatFiles.Test Machine childMachine = new Machine(); childMachine.SetName("child"); childMachine.Write(Data.Models.Metadata.Machine.RomOfKey, "parent"); - childMachine.Write(Data.Models.Metadata.Machine.IsBiosKey, true); + childMachine.IsBios = true; DatItem parentItem = new Rom(); parentItem.SetName("parent_rom"); @@ -516,11 +516,11 @@ namespace SabreTools.Metadata.DatFiles.Test Machine biosMachine = new Machine(); biosMachine.SetName("bios"); - biosMachine.Write(Data.Models.Metadata.Machine.IsBiosKey, true); + biosMachine.IsBios = true; Machine deviceMachine = new Machine(); deviceMachine.SetName("device"); - deviceMachine.Write(Data.Models.Metadata.Machine.IsDeviceKey, true); + deviceMachine.IsDevice = true; DatItem biosItem = new Rom(); biosItem.Write(DatItem.MachineKey, biosMachine); @@ -548,11 +548,11 @@ namespace SabreTools.Metadata.DatFiles.Test Machine biosMachine = new Machine(); biosMachine.SetName("bios"); - biosMachine.Write(Data.Models.Metadata.Machine.IsBiosKey, true); + biosMachine.IsBios = true; Machine deviceMachine = new Machine(); deviceMachine.SetName("device"); - deviceMachine.Write(Data.Models.Metadata.Machine.IsDeviceKey, true); + deviceMachine.IsDevice = true; DatItem biosItem = new Rom(); DatItem deviceItem = new Rom(); @@ -692,7 +692,7 @@ namespace SabreTools.Metadata.DatFiles.Test Machine childMachine = new Machine(); childMachine.SetName("child"); childMachine.Write(Data.Models.Metadata.Machine.RomOfKey, "parent"); - childMachine.Write(Data.Models.Metadata.Machine.IsBiosKey, true); + childMachine.IsBios = true; DatItem parentItem = new Rom(); parentItem.SetName("parent_rom"); @@ -741,7 +741,7 @@ namespace SabreTools.Metadata.DatFiles.Test Machine childMachine = new Machine(); childMachine.SetName("child"); childMachine.Write(Data.Models.Metadata.Machine.RomOfKey, "parent"); - childMachine.Write(Data.Models.Metadata.Machine.IsBiosKey, true); + childMachine.IsBios = true; DatItem parentItem = new Rom(); parentItem.SetName("parent_rom"); diff --git a/SabreTools.Metadata.DatFiles.Test/DatFileTests.ToMetadata.cs b/SabreTools.Metadata.DatFiles.Test/DatFileTests.ToMetadata.cs index 4dd4f923..21afa4e8 100644 --- a/SabreTools.Metadata.DatFiles.Test/DatFileTests.ToMetadata.cs +++ b/SabreTools.Metadata.DatFiles.Test/DatFileTests.ToMetadata.cs @@ -381,23 +381,23 @@ namespace SabreTools.Metadata.DatFiles.Test Assert.Equal("comment", header.ReadString(Data.Models.Metadata.Header.CommentKey)); Assert.Equal("date", header.ReadString(Data.Models.Metadata.Header.DateKey)); Assert.Equal("datversion", header.ReadString(Data.Models.Metadata.Header.DatVersionKey)); - Assert.True(header.ReadBool(Data.Models.Metadata.Header.DebugKey)); + Assert.True(header.Debug); Assert.Equal("description", header.ReadString(Data.Models.Metadata.Header.DescriptionKey)); Assert.Equal("email", header.ReadString(Data.Models.Metadata.Header.EmailKey)); Assert.Equal("emulatorversion", header.ReadString(Data.Models.Metadata.Header.EmulatorVersionKey)); Assert.Equal("merged", header.ReadString(Data.Models.Metadata.Header.ForceMergingKey)); Assert.Equal("required", header.ReadString(Data.Models.Metadata.Header.ForceNodumpKey)); Assert.Equal("zip", header.ReadString(Data.Models.Metadata.Header.ForcePackingKey)); - Assert.True(header.ReadBool(Data.Models.Metadata.Header.ForceZippingKey)); + Assert.True(header.ForceZipping); Assert.Equal("header", header.ReadString(Data.Models.Metadata.Header.HeaderKey)); Assert.Equal("homepage", header.ReadString(Data.Models.Metadata.Header.HomepageKey)); Assert.Equal("id", header.ReadString(Data.Models.Metadata.Header.IdKey)); Assert.NotNull(header.Read(Data.Models.Metadata.Header.ImagesKey)); Assert.Equal("imfolder", header.ReadString(Data.Models.Metadata.Header.ImFolderKey)); Assert.NotNull(header.Read(Data.Models.Metadata.Header.InfosKey)); - Assert.True(header.ReadBool(Data.Models.Metadata.Header.LockBiosModeKey)); - Assert.True(header.ReadBool(Data.Models.Metadata.Header.LockRomModeKey)); - Assert.True(header.ReadBool(Data.Models.Metadata.Header.LockSampleModeKey)); + Assert.True(header.LockBiosMode); + Assert.True(header.LockRomMode); + Assert.True(header.LockSampleMode); Assert.Equal("mameconfig", header.ReadString(Data.Models.Metadata.Header.MameConfigKey)); Assert.Equal("name", header.Name); Assert.NotNull(header.Read(Data.Models.Metadata.Header.NewDatKey)); @@ -444,9 +444,9 @@ namespace SabreTools.Metadata.DatFiles.Test Assert.Equal(HashType.CRC32.ZeroString, machine.ReadString(Data.Models.Metadata.Machine.Im1CRCKey)); Assert.Equal(HashType.CRC32.ZeroString, machine.ReadString(Data.Models.Metadata.Machine.Im2CRCKey)); Assert.Equal("imagenumber", machine.ReadString(Data.Models.Metadata.Machine.ImageNumberKey)); - Assert.Equal("yes", machine.ReadString(Data.Models.Metadata.Machine.IsBiosKey)); - Assert.Equal("yes", machine.ReadString(Data.Models.Metadata.Machine.IsDeviceKey)); - Assert.Equal("yes", machine.ReadString(Data.Models.Metadata.Machine.IsMechanicalKey)); + Assert.Equal(true, machine.IsBios); + Assert.Equal(true, machine.IsDevice); + Assert.Equal(true, machine.IsMechanical); Assert.Equal("language", machine.ReadString(Data.Models.Metadata.Machine.LanguageKey)); Assert.Equal("location", machine.ReadString(Data.Models.Metadata.Machine.LocationKey)); Assert.Equal("manufacturer", machine.ReadString(Data.Models.Metadata.Machine.ManufacturerKey)); @@ -460,7 +460,7 @@ namespace SabreTools.Metadata.DatFiles.Test Assert.Equal("releasenumber", machine.ReadString(Data.Models.Metadata.Machine.ReleaseNumberKey)); Assert.Equal("romof", machine.ReadString(Data.Models.Metadata.Machine.RomOfKey)); Assert.Equal("rotation", machine.ReadString(Data.Models.Metadata.Machine.RotationKey)); - Assert.Equal("yes", machine.ReadString(Data.Models.Metadata.Machine.RunnableKey)); + Assert.Equal(true, machine.Runnable); Assert.Equal("sampleof", machine.ReadString(Data.Models.Metadata.Machine.SampleOfKey)); Assert.Equal("savetype", machine.ReadString(Data.Models.Metadata.Machine.SaveTypeKey)); Assert.Equal("sourcefile", machine.ReadString(Data.Models.Metadata.Machine.SourceFileKey)); @@ -684,7 +684,7 @@ namespace SabreTools.Metadata.DatFiles.Test Assert.Equal(12345, chip.ReadLong(Data.Models.Metadata.Chip.ClockKey)); Assert.Equal("flags", chip.ReadString(Data.Models.Metadata.Chip.FlagsKey)); Assert.Equal("name", chip.Name); - Assert.True(chip.ReadBool(Data.Models.Metadata.Chip.SoundOnlyKey)); + Assert.True(chip.SoundOnly); Assert.Equal("tag", chip.ReadString(Data.Models.Metadata.Chip.TagKey)); Assert.Equal("cpu", chip.ReadString(Data.Models.Metadata.Chip.ChipTypeKey)); } @@ -722,7 +722,7 @@ namespace SabreTools.Metadata.DatFiles.Test private static void ValidateMetadataConfLocation(Data.Models.Metadata.ConfLocation? confLocation) { Assert.NotNull(confLocation); - Assert.True(confLocation.ReadBool(Data.Models.Metadata.ConfLocation.InvertedKey)); + Assert.True(confLocation.Inverted); Assert.Equal("name", confLocation.Name); Assert.Equal("number", confLocation.ReadString(Data.Models.Metadata.ConfLocation.NumberKey)); } @@ -747,7 +747,7 @@ namespace SabreTools.Metadata.DatFiles.Test Assert.Equal(12345, control.ReadLong(Data.Models.Metadata.Control.MinimumKey)); Assert.Equal(12345, control.ReadLong(Data.Models.Metadata.Control.PlayerKey)); Assert.Equal(12345, control.ReadLong(Data.Models.Metadata.Control.ReqButtonsKey)); - Assert.True(control.ReadBool(Data.Models.Metadata.Control.ReverseKey)); + Assert.True(control.Reverse); Assert.Equal(12345, control.ReadLong(Data.Models.Metadata.Control.SensitivityKey)); Assert.Equal("lightgun", control.ReadString(Data.Models.Metadata.Control.ControlTypeKey)); Assert.Equal("ways", control.ReadString(Data.Models.Metadata.Control.WaysKey)); @@ -796,7 +796,7 @@ namespace SabreTools.Metadata.DatFiles.Test private static void ValidateMetadataDipLocation(Data.Models.Metadata.DipLocation? dipLocation) { Assert.NotNull(dipLocation); - Assert.True(dipLocation.ReadBool(Data.Models.Metadata.DipLocation.InvertedKey)); + Assert.True(dipLocation.Inverted); Assert.Equal("name", dipLocation.Name); Assert.Equal("number", dipLocation.ReadString(Data.Models.Metadata.DipLocation.NumberKey)); } @@ -847,10 +847,10 @@ namespace SabreTools.Metadata.DatFiles.Test Assert.Equal(HashType.MD5.ZeroString, disk.ReadString(Data.Models.Metadata.Disk.MD5Key)); Assert.Equal("merge", disk.ReadString(Data.Models.Metadata.Disk.MergeKey)); Assert.Equal("name", disk.Name); - Assert.True(disk.ReadBool(Data.Models.Metadata.Disk.OptionalKey)); + Assert.True(disk.Optional); Assert.Equal("region", disk.ReadString(Data.Models.Metadata.Disk.RegionKey)); Assert.Equal(HashType.SHA1.ZeroString, disk.ReadString(Data.Models.Metadata.Disk.SHA1Key)); - Assert.True(disk.ReadBool(Data.Models.Metadata.Disk.WritableKey)); + Assert.True(disk.Writable); } private static void ValidateMetadataDiskArea(Data.Models.Metadata.DiskArea? diskArea) @@ -867,7 +867,7 @@ namespace SabreTools.Metadata.DatFiles.Test private static void ValidateMetadataDisplay(Data.Models.Metadata.Display? display) { Assert.NotNull(display); - Assert.True(display.ReadBool(Data.Models.Metadata.Display.FlipXKey)); + Assert.True(display.FlipX); Assert.Equal(12345, display.ReadLong(Data.Models.Metadata.Display.HBEndKey)); Assert.Equal(12345, display.ReadLong(Data.Models.Metadata.Display.HBStartKey)); Assert.Equal(12345, display.ReadLong(Data.Models.Metadata.Display.HeightKey)); @@ -890,14 +890,14 @@ namespace SabreTools.Metadata.DatFiles.Test Assert.Equal("good", driver.ReadString(Data.Models.Metadata.Driver.CocktailKey)); Assert.Equal("good", driver.ReadString(Data.Models.Metadata.Driver.ColorKey)); Assert.Equal("good", driver.ReadString(Data.Models.Metadata.Driver.EmulationKey)); - Assert.True(driver.ReadBool(Data.Models.Metadata.Driver.IncompleteKey)); - Assert.True(driver.ReadBool(Data.Models.Metadata.Driver.NoSoundHardwareKey)); + Assert.True(driver.Incomplete); + Assert.True(driver.NoSoundHardware); Assert.Equal("pallettesize", driver.ReadString(Data.Models.Metadata.Driver.PaletteSizeKey)); - Assert.True(driver.ReadBool(Data.Models.Metadata.Driver.RequiresArtworkKey)); + Assert.True(driver.RequiresArtwork); Assert.Equal("supported", driver.ReadString(Data.Models.Metadata.Driver.SaveStateKey)); Assert.Equal("good", driver.ReadString(Data.Models.Metadata.Driver.SoundKey)); Assert.Equal("good", driver.ReadString(Data.Models.Metadata.Driver.StatusKey)); - Assert.True(driver.ReadBool(Data.Models.Metadata.Driver.UnofficialKey)); + Assert.True(driver.Unofficial); } private static void ValidateMetadataExtension(Data.Models.Metadata.Extension? extension) @@ -929,8 +929,8 @@ namespace SabreTools.Metadata.DatFiles.Test Assert.Equal(12345, input.ReadLong(Data.Models.Metadata.Input.ButtonsKey)); Assert.Equal(12345, input.ReadLong(Data.Models.Metadata.Input.CoinsKey)); Assert.Equal(12345, input.ReadLong(Data.Models.Metadata.Input.PlayersKey)); - Assert.True(input.ReadBool(Data.Models.Metadata.Input.ServiceKey)); - Assert.True(input.ReadBool(Data.Models.Metadata.Input.TiltKey)); + Assert.True(input.Service); + Assert.True(input.Tilt); Data.Models.Metadata.Control[]? controls = input.ReadArray(Data.Models.Metadata.Input.ControlKey); Assert.NotNull(controls); @@ -1053,10 +1053,10 @@ namespace SabreTools.Metadata.DatFiles.Test Assert.Equal(HashType.CRC64.ZeroString, rom.ReadString(Data.Models.Metadata.Rom.CRC64Key)); Assert.Equal("creator", rom.ReadString(Data.Models.Metadata.Rom.CreatorKey)); Assert.Equal("date", rom.ReadString(Data.Models.Metadata.Rom.DateKey)); - Assert.True(rom.ReadBool(Data.Models.Metadata.Rom.DisposeKey)); + Assert.True(rom.Dispose); Assert.Equal("extension", rom.ReadString(Data.Models.Metadata.Rom.ExtensionKey)); Assert.Equal(12345, rom.ReadLong(Data.Models.Metadata.Rom.FileCountKey)); - Assert.True(rom.ReadBool(Data.Models.Metadata.Rom.FileIsAvailableKey)); + Assert.True(rom.FileIsAvailable); Assert.Equal("flags", rom.ReadString(Data.Models.Metadata.Rom.FlagsKey)); Assert.Equal("format", rom.ReadString(Data.Models.Metadata.Rom.FormatKey)); Assert.Equal("header", rom.ReadString(Data.Models.Metadata.Rom.HeaderKey)); @@ -1067,7 +1067,7 @@ namespace SabreTools.Metadata.DatFiles.Test Assert.Equal("hocr_fts_text_module_version", rom.ReadString(Data.Models.Metadata.Rom.hOCRFtsTextModuleVersionKey)); Assert.Equal("hocr_pageindex_hocr_version", rom.ReadString(Data.Models.Metadata.Rom.hOCRPageIndexhOCRVersionKey)); Assert.Equal("hocr_pageindex_module_version", rom.ReadString(Data.Models.Metadata.Rom.hOCRPageIndexModuleVersionKey)); - Assert.True(rom.ReadBool(Data.Models.Metadata.Rom.InvertedKey)); + Assert.True(rom.Inverted); Assert.Equal("mtime", rom.ReadString(Data.Models.Metadata.Rom.LastModifiedTimeKey)); Assert.Equal("length", rom.ReadString(Data.Models.Metadata.Rom.LengthKey)); Assert.Equal("load16_byte", rom.ReadString(Data.Models.Metadata.Rom.LoadFlagKey)); @@ -1077,7 +1077,7 @@ namespace SabreTools.Metadata.DatFiles.Test Assert.Equal(HashType.MD5.ZeroString, rom.ReadString(Data.Models.Metadata.Rom.MD5Key)); Assert.Null(rom.ReadString(Data.Models.Metadata.Rom.OpenMSXMediaType)); // Omit due to other test Assert.Equal("merge", rom.ReadString(Data.Models.Metadata.Rom.MergeKey)); - Assert.True(rom.ReadBool(Data.Models.Metadata.Rom.MIAKey)); + Assert.True(rom.MIA); Assert.Equal("name", rom.Name); Assert.Equal("ocr", rom.ReadString(Data.Models.Metadata.Rom.TesseractOCRKey)); Assert.Equal("ocr_converted", rom.ReadString(Data.Models.Metadata.Rom.TesseractOCRConvertedKey)); @@ -1088,7 +1088,7 @@ namespace SabreTools.Metadata.DatFiles.Test Assert.Equal("ocr_module_version", rom.ReadString(Data.Models.Metadata.Rom.TesseractOCRModuleVersionKey)); Assert.Equal("ocr_parameters", rom.ReadString(Data.Models.Metadata.Rom.TesseractOCRParametersKey)); Assert.Equal("offset", rom.ReadString(Data.Models.Metadata.Rom.OffsetKey)); - Assert.True(rom.ReadBool(Data.Models.Metadata.Rom.OptionalKey)); + Assert.True(rom.Optional); Assert.Equal("original", rom.ReadString(Data.Models.Metadata.Rom.OriginalKey)); Assert.Equal("pdf_module_version", rom.ReadString(Data.Models.Metadata.Rom.PDFModuleVersionKey)); Assert.Equal("preview-image", rom.ReadString(Data.Models.Metadata.Rom.PreviewImageKey)); @@ -1104,7 +1104,7 @@ namespace SabreTools.Metadata.DatFiles.Test Assert.Equal(HashType.SHA384.ZeroString, rom.ReadString(Data.Models.Metadata.Rom.SHA384Key)); Assert.Equal(HashType.SHA512.ZeroString, rom.ReadString(Data.Models.Metadata.Rom.SHA512Key)); Assert.Equal(12345, rom.ReadLong(Data.Models.Metadata.Rom.SizeKey)); - Assert.True(rom.ReadBool(Data.Models.Metadata.Rom.SoundOnlyKey)); + Assert.True(rom.SoundOnly); Assert.Equal("source", rom.ReadString(Data.Models.Metadata.Rom.SourceKey)); Assert.Equal(HashType.SpamSum.ZeroString, rom.ReadString(Data.Models.Metadata.Rom.SpamSumKey)); Assert.Equal("start", rom.ReadString(Data.Models.Metadata.Rom.StartKey)); @@ -1244,7 +1244,7 @@ namespace SabreTools.Metadata.DatFiles.Test Assert.Equal("ratings", trurip.Ratings); Assert.Equal("score", trurip.Score); Assert.Equal("players", trurip.Players); - Assert.Equal("enabled", trurip.Enabled); + Assert.Equal(expected: "enabled", trurip.Enabled); Assert.Equal("yes", trurip.CRC); Assert.Equal("sourcefile", trurip.Source); Assert.Equal("cloneof", trurip.CloneOf); diff --git a/SabreTools.Metadata.DatFiles/DatFile.FromMetadata.cs b/SabreTools.Metadata.DatFiles/DatFile.FromMetadata.cs index 2d30295d..cf262850 100644 --- a/SabreTools.Metadata.DatFiles/DatFile.FromMetadata.cs +++ b/SabreTools.Metadata.DatFiles/DatFile.FromMetadata.cs @@ -105,8 +105,8 @@ namespace SabreTools.Metadata.DatFiles Header.Write(Data.Models.Metadata.Header.DateKey, header.ReadString(Data.Models.Metadata.Header.DateKey)); if (Header.ReadString(Data.Models.Metadata.Header.DatVersionKey) is null) Header.Write(Data.Models.Metadata.Header.DatVersionKey, header.ReadString(Data.Models.Metadata.Header.DatVersionKey)); - if (Header.ReadBool(Data.Models.Metadata.Header.DebugKey) is null) - Header.Write(Data.Models.Metadata.Header.DebugKey, header.ReadBool(Data.Models.Metadata.Header.DebugKey)); + if (Header.Debug is null) + Header.Debug = header.Debug; if (Header.ReadString(Data.Models.Metadata.Header.DescriptionKey) is null) Header.Write(Data.Models.Metadata.Header.DescriptionKey, header.ReadString(Data.Models.Metadata.Header.DescriptionKey)); if (Header.ReadString(Data.Models.Metadata.Header.EmailKey) is null) @@ -119,8 +119,8 @@ namespace SabreTools.Metadata.DatFiles Header.Write(Data.Models.Metadata.Header.ForceNodumpKey, header.ReadString(Data.Models.Metadata.Header.ForceNodumpKey).AsNodumpFlag().AsStringValue()); if (Header.ReadString(Data.Models.Metadata.Header.ForcePackingKey).AsPackingFlag() == PackingFlag.None) Header.Write(Data.Models.Metadata.Header.ForcePackingKey, header.ReadString(Data.Models.Metadata.Header.ForcePackingKey).AsPackingFlag().AsStringValue()); - if (Header.ReadBool(Data.Models.Metadata.Header.ForceZippingKey) is null) - Header.Write(Data.Models.Metadata.Header.ForceZippingKey, header.ReadBool(Data.Models.Metadata.Header.ForceZippingKey)); + if (Header.ForceZipping is null) + Header.ForceZipping = header.ForceZipping; if (Header.ReadString(Data.Models.Metadata.Header.HeaderKey) is null) Header.Write(Data.Models.Metadata.Header.HeaderKey, header.ReadString(Data.Models.Metadata.Header.HeaderKey)); if (Header.ReadString(Data.Models.Metadata.Header.HomepageKey) is null) @@ -129,12 +129,12 @@ namespace SabreTools.Metadata.DatFiles Header.Write(Data.Models.Metadata.Header.IdKey, header.ReadString(Data.Models.Metadata.Header.IdKey)); if (Header.ReadString(Data.Models.Metadata.Header.ImFolderKey) is null) Header.Write(Data.Models.Metadata.Header.ImFolderKey, header.ReadString(Data.Models.Metadata.Header.ImFolderKey)); - if (Header.ReadBool(Data.Models.Metadata.Header.LockBiosModeKey) is null) - Header.Write(Data.Models.Metadata.Header.LockBiosModeKey, header.ReadBool(Data.Models.Metadata.Header.LockBiosModeKey)); - if (Header.ReadBool(Data.Models.Metadata.Header.LockRomModeKey) is null) - Header.Write(Data.Models.Metadata.Header.LockRomModeKey, header.ReadBool(Data.Models.Metadata.Header.LockRomModeKey)); - if (Header.ReadBool(Data.Models.Metadata.Header.LockSampleModeKey) is null) - Header.Write(Data.Models.Metadata.Header.LockSampleModeKey, header.ReadBool(Data.Models.Metadata.Header.LockSampleModeKey)); + if (Header.LockBiosMode is null) + Header.LockBiosMode = header.LockBiosMode; + if (Header.LockRomMode is null) + Header.LockRomMode = header.LockRomMode; + if (Header.LockSampleMode is null) + Header.LockSampleMode = header.LockSampleMode; if (Header.ReadString(Data.Models.Metadata.Header.MameConfigKey) is null) Header.Write(Data.Models.Metadata.Header.MameConfigKey, header.ReadString(Data.Models.Metadata.Header.MameConfigKey)); if (Header.Name is null) diff --git a/SabreTools.Metadata.DatFiles/DatFile.Splitting.cs b/SabreTools.Metadata.DatFiles/DatFile.Splitting.cs index be6c7c63..02f72357 100644 --- a/SabreTools.Metadata.DatFiles/DatFile.Splitting.cs +++ b/SabreTools.Metadata.DatFiles/DatFile.Splitting.cs @@ -660,7 +660,7 @@ namespace SabreTools.Metadata.DatFiles continue; // If the machine (is/is not) a device, we want to continue - if (deviceOnly ^ (datItems[0].GetMachine()!.ReadBool(Data.Models.Metadata.Machine.IsDeviceKey) == true)) + if (deviceOnly ^ (datItems[0].GetMachine()!.IsDevice == true)) continue; // Get the first item from the bucket @@ -820,7 +820,7 @@ namespace SabreTools.Metadata.DatFiles continue; // If the machine (is/is not) a device, we want to continue - if (deviceOnly ^ (machine.Value.ReadBool(Data.Models.Metadata.Machine.IsDeviceKey) == true)) + if (deviceOnly ^ (machine.Value.IsDevice == true)) continue; // Get all device reference names from the current machine @@ -1079,11 +1079,8 @@ namespace SabreTools.Metadata.DatFiles #endif // Remove flagged items - if ((machine.ReadBool(Data.Models.Metadata.Machine.IsBiosKey) == true) - || (machine.ReadBool(Data.Models.Metadata.Machine.IsDeviceKey) == true)) - { + if ((machine.IsBios == true) || (machine.IsDevice == true)) RemoveBucket(bucket); - } #if NET40_OR_GREATER || NETCOREAPP || NETSTANDARD2_0_OR_GREATER }); #else @@ -1127,8 +1124,7 @@ namespace SabreTools.Metadata.DatFiles #endif // Remove flagged items - if ((machine.Value.ReadBool(Data.Models.Metadata.Machine.IsBiosKey) == true) - || (machine.Value.ReadBool(Data.Models.Metadata.Machine.IsDeviceKey) == true)) + if ((machine.Value.IsBios == true) || (machine.Value.IsDevice == true)) { foreach (var key in items.Keys) { diff --git a/SabreTools.Metadata.DatFiles/DatHeader.cs b/SabreTools.Metadata.DatFiles/DatHeader.cs index 197387f6..430fab85 100644 --- a/SabreTools.Metadata.DatFiles/DatHeader.cs +++ b/SabreTools.Metadata.DatFiles/DatHeader.cs @@ -47,6 +47,18 @@ namespace SabreTools.Metadata.DatFiles } } + public bool? Debug + { + get => _internal.Debug; + set => _internal.Debug = value; + } + + public bool? ForceZipping + { + get => _internal.ForceZipping; + set => _internal.ForceZipping = value; + } + [JsonIgnore] public bool ImagesSpecified { @@ -65,6 +77,24 @@ namespace SabreTools.Metadata.DatFiles } } + public bool? LockBiosMode + { + get => _internal.LockBiosMode; + set => _internal.LockBiosMode = value; + } + + public bool? LockRomMode + { + get => _internal.LockRomMode; + set => _internal.LockRomMode = value; + } + + public bool? LockSampleMode + { + get => _internal.LockSampleMode; + set => _internal.LockSampleMode = value; + } + [JsonIgnore] public bool NewDatSpecified { diff --git a/SabreTools.Metadata.DatItems.Test/Formats/DiskTests.cs b/SabreTools.Metadata.DatItems.Test/Formats/DiskTests.cs index df8ff31b..643d5ca9 100644 --- a/SabreTools.Metadata.DatItems.Test/Formats/DiskTests.cs +++ b/SabreTools.Metadata.DatItems.Test/Formats/DiskTests.cs @@ -27,7 +27,7 @@ namespace SabreTools.Metadata.DatItems.Formats.Test disk.Write(Data.Models.Metadata.Disk.MergeKey, "XXXXXX"); disk.Write(Data.Models.Metadata.Disk.RegionKey, "XXXXXX"); disk.Write(Data.Models.Metadata.Disk.StatusKey, "good"); - disk.Write(Data.Models.Metadata.Disk.OptionalKey, "XXXXXX"); + disk.Optional = true; disk.Write(Data.Models.Metadata.Disk.MD5Key, HashType.MD5.ZeroString); disk.Write(Data.Models.Metadata.Disk.SHA1Key, HashType.SHA1.ZeroString); disk.Write(DatItem.DupeTypeKey, DupeType.All | DupeType.External); @@ -42,7 +42,7 @@ namespace SabreTools.Metadata.DatItems.Formats.Test Assert.Equal("XXXXXX", actual.ReadString(Data.Models.Metadata.Rom.MergeKey)); Assert.Equal("XXXXXX", actual.ReadString(Data.Models.Metadata.Rom.RegionKey)); Assert.Equal("good", actual.ReadString(Data.Models.Metadata.Rom.StatusKey)); - Assert.Equal("XXXXXX", actual.ReadString(Data.Models.Metadata.Rom.OptionalKey)); + Assert.Equal(true, actual.Optional); Assert.Equal(HashType.MD5.ZeroString, actual.ReadString(Data.Models.Metadata.Rom.MD5Key)); Assert.Equal(HashType.SHA1.ZeroString, actual.ReadString(Data.Models.Metadata.Rom.SHA1Key)); Assert.Equal(DupeType.All | DupeType.External, actual.Read(DatItem.DupeTypeKey)); diff --git a/SabreTools.Metadata.DatItems/Formats/Chip.cs b/SabreTools.Metadata.DatItems/Formats/Chip.cs index dd83cf93..753d295f 100644 --- a/SabreTools.Metadata.DatItems/Formats/Chip.cs +++ b/SabreTools.Metadata.DatItems/Formats/Chip.cs @@ -10,6 +10,17 @@ namespace SabreTools.Metadata.DatItems.Formats [JsonObject("chip"), XmlRoot("chip")] public sealed class Chip : DatItem { + #region Fields + + [JsonIgnore] + public bool? SoundOnly + { + get => (_internal as Data.Models.Metadata.Chip)?.SoundOnly; + set => (_internal as Data.Models.Metadata.Chip)?.SoundOnly = value; + } + + #endregion + #region Constructors public Chip() : base() { } @@ -17,10 +28,6 @@ namespace SabreTools.Metadata.DatItems.Formats public Chip(Data.Models.Metadata.Chip item) : base(item) { // Process flag values - bool? soundOnly = ReadBool(Data.Models.Metadata.Chip.SoundOnlyKey); - if (soundOnly is not null) - Write(Data.Models.Metadata.Chip.SoundOnlyKey, soundOnly.FromYesNo()); - string? chipType = ReadString(Data.Models.Metadata.Chip.ChipTypeKey); if (chipType is not null) Write(Data.Models.Metadata.Chip.ChipTypeKey, chipType.AsChipType()?.AsStringValue()); diff --git a/SabreTools.Metadata.DatItems/Formats/ConfLocation.cs b/SabreTools.Metadata.DatItems/Formats/ConfLocation.cs index 34835759..372639a5 100644 --- a/SabreTools.Metadata.DatItems/Formats/ConfLocation.cs +++ b/SabreTools.Metadata.DatItems/Formats/ConfLocation.cs @@ -10,17 +10,21 @@ namespace SabreTools.Metadata.DatItems.Formats [JsonObject("conflocation"), XmlRoot("conflocation")] public sealed class ConfLocation : DatItem { + #region Fields + + public bool? Inverted + { + get => (_internal as Data.Models.Metadata.ConfLocation)?.Inverted; + set => (_internal as Data.Models.Metadata.ConfLocation)?.Inverted = value; + } + + #endregion + #region Constructors public ConfLocation() : base() { } - public ConfLocation(Data.Models.Metadata.ConfLocation item) : base(item) - { - // Process flag values - bool? inverted = ReadBool(Data.Models.Metadata.ConfLocation.InvertedKey); - if (inverted is not null) - Write(Data.Models.Metadata.ConfLocation.InvertedKey, inverted.FromYesNo()); - } + public ConfLocation(Data.Models.Metadata.ConfLocation item) : base(item) { } public ConfLocation(Data.Models.Metadata.ConfLocation item, Machine machine, Source source) : this(item) { diff --git a/SabreTools.Metadata.DatItems/Formats/Control.cs b/SabreTools.Metadata.DatItems/Formats/Control.cs index b8840a00..1c9c611f 100644 --- a/SabreTools.Metadata.DatItems/Formats/Control.cs +++ b/SabreTools.Metadata.DatItems/Formats/Control.cs @@ -10,6 +10,16 @@ namespace SabreTools.Metadata.DatItems.Formats [JsonObject("control"), XmlRoot("control")] public sealed class Control : DatItem { + #region Fields + + public bool? Reverse + { + get => (_internal as Data.Models.Metadata.Control)?.Reverse; + set => (_internal as Data.Models.Metadata.Control)?.Reverse = value; + } + + #endregion + #region Constructors public Control() : base() { } @@ -41,10 +51,6 @@ namespace SabreTools.Metadata.DatItems.Formats if (reqButtons is not null) Write(Data.Models.Metadata.Control.ReqButtonsKey, reqButtons.ToString()); - bool? reverse = ReadBool(Data.Models.Metadata.Control.ReverseKey); - if (reverse is not null) - Write(Data.Models.Metadata.Control.ReverseKey, reverse.FromYesNo()); - long? sensitivity = ReadLong(Data.Models.Metadata.Control.SensitivityKey); if (sensitivity is not null) Write(Data.Models.Metadata.Control.SensitivityKey, sensitivity.ToString()); diff --git a/SabreTools.Metadata.DatItems/Formats/DipLocation.cs b/SabreTools.Metadata.DatItems/Formats/DipLocation.cs index 207e4b14..de5d8b25 100644 --- a/SabreTools.Metadata.DatItems/Formats/DipLocation.cs +++ b/SabreTools.Metadata.DatItems/Formats/DipLocation.cs @@ -10,17 +10,21 @@ namespace SabreTools.Metadata.DatItems.Formats [JsonObject("diplocation"), XmlRoot("diplocation")] public sealed class DipLocation : DatItem { + #region Fields + + public bool? Inverted + { + get => (_internal as Data.Models.Metadata.DipLocation)?.Inverted; + set => (_internal as Data.Models.Metadata.DipLocation)?.Inverted = value; + } + + #endregion + #region Constructors public DipLocation() : base() { } - public DipLocation(Data.Models.Metadata.DipLocation item) : base(item) - { - // Process flag values - bool? inverted = ReadBool(Data.Models.Metadata.DipLocation.InvertedKey); - if (inverted is not null) - Write(Data.Models.Metadata.DipLocation.InvertedKey, inverted.FromYesNo()); - } + public DipLocation(Data.Models.Metadata.DipLocation item) : base(item) { } public DipLocation(Data.Models.Metadata.DipLocation item, Machine machine, Source source) : this(item) { diff --git a/SabreTools.Metadata.DatItems/Formats/Disk.cs b/SabreTools.Metadata.DatItems/Formats/Disk.cs index 82753e3d..b3510c18 100644 --- a/SabreTools.Metadata.DatItems/Formats/Disk.cs +++ b/SabreTools.Metadata.DatItems/Formats/Disk.cs @@ -38,6 +38,12 @@ namespace SabreTools.Metadata.DatItems.Formats } } + public bool? Optional + { + get => (_internal as Data.Models.Metadata.Disk)?.Optional; + set => (_internal as Data.Models.Metadata.Disk)?.Optional = value; + } + [JsonIgnore] public bool PartSpecified { @@ -50,6 +56,12 @@ namespace SabreTools.Metadata.DatItems.Formats } } + public bool? Writable + { + get => (_internal as Data.Models.Metadata.Disk)?.Writable; + set => (_internal as Data.Models.Metadata.Disk)?.Writable = value; + } + #endregion #region Constructors @@ -65,18 +77,10 @@ namespace SabreTools.Metadata.DatItems.Formats Write(DupeTypeKey, 0x00); // Process flag values - bool? optional = ReadBool(Data.Models.Metadata.Disk.OptionalKey); - if (optional is not null) - Write(Data.Models.Metadata.Disk.OptionalKey, optional.FromYesNo()); - string? status = ReadString(Data.Models.Metadata.Disk.StatusKey); if (status is not null) Write(Data.Models.Metadata.Disk.StatusKey, status.AsItemStatus()?.AsStringValue()); - bool? writable = ReadBool(Data.Models.Metadata.Disk.WritableKey); - if (writable is not null) - Write(Data.Models.Metadata.Disk.WritableKey, writable.FromYesNo()); - // Process hash values string? md5 = ReadString(Data.Models.Metadata.Disk.MD5Key); if (md5 is not null) diff --git a/SabreTools.Metadata.DatItems/Formats/Display.cs b/SabreTools.Metadata.DatItems/Formats/Display.cs index 8921a2f6..c3462fa7 100644 --- a/SabreTools.Metadata.DatItems/Formats/Display.cs +++ b/SabreTools.Metadata.DatItems/Formats/Display.cs @@ -11,6 +11,16 @@ namespace SabreTools.Metadata.DatItems.Formats [JsonObject("display"), XmlRoot("display")] public sealed class Display : DatItem { + #region Fields + + public bool? FlipX + { + get => (_internal as Data.Models.Metadata.Display)?.FlipX; + set => (_internal as Data.Models.Metadata.Display)?.FlipX = value; + } + + #endregion + #region Constructors public Display() : base() { } @@ -18,10 +28,6 @@ namespace SabreTools.Metadata.DatItems.Formats public Display(Data.Models.Metadata.Display item) : base(item) { // Process flag values - bool? flipX = ReadBool(Data.Models.Metadata.Display.FlipXKey); - if (flipX is not null) - Write(Data.Models.Metadata.Display.FlipXKey, flipX.FromYesNo()); - long? hbEnd = ReadLong(Data.Models.Metadata.Display.HBEndKey); if (hbEnd is not null) Write(Data.Models.Metadata.Display.HBEndKey, hbEnd.ToString()); diff --git a/SabreTools.Metadata.DatItems/Formats/Driver.cs b/SabreTools.Metadata.DatItems/Formats/Driver.cs index 03a038bf..7d538da3 100644 --- a/SabreTools.Metadata.DatItems/Formats/Driver.cs +++ b/SabreTools.Metadata.DatItems/Formats/Driver.cs @@ -10,6 +10,34 @@ namespace SabreTools.Metadata.DatItems.Formats [JsonObject("driver"), XmlRoot("driver")] public sealed class Driver : DatItem { + #region Fields + + public bool? Incomplete + { + get => (_internal as Data.Models.Metadata.Driver)?.Incomplete; + set => (_internal as Data.Models.Metadata.Driver)?.Incomplete = value; + } + + public bool? NoSoundHardware + { + get => (_internal as Data.Models.Metadata.Driver)?.NoSoundHardware; + set => (_internal as Data.Models.Metadata.Driver)?.NoSoundHardware = value; + } + + public bool? RequiresArtwork + { + get => (_internal as Data.Models.Metadata.Driver)?.RequiresArtwork; + set => (_internal as Data.Models.Metadata.Driver)?.RequiresArtwork = value; + } + + public bool? Unofficial + { + get => (_internal as Data.Models.Metadata.Driver)?.Unofficial; + set => (_internal as Data.Models.Metadata.Driver)?.Unofficial = value; + } + + #endregion + #region Constructors public Driver() : base() { } @@ -29,22 +57,10 @@ namespace SabreTools.Metadata.DatItems.Formats if (emulation is not null) Write(Data.Models.Metadata.Driver.EmulationKey, emulation.AsSupportStatus()?.AsStringValue()); - bool? incomplete = ReadBool(Data.Models.Metadata.Driver.IncompleteKey); - if (incomplete is not null) - Write(Data.Models.Metadata.Driver.IncompleteKey, incomplete.FromYesNo()); - - bool? noSoundHardware = ReadBool(Data.Models.Metadata.Driver.NoSoundHardwareKey); - if (noSoundHardware is not null) - Write(Data.Models.Metadata.Driver.NoSoundHardwareKey, noSoundHardware.FromYesNo()); - long? paletteSize = ReadLong(Data.Models.Metadata.Driver.PaletteSizeKey); if (paletteSize is not null) Write(Data.Models.Metadata.Driver.PaletteSizeKey, paletteSize.ToString()); - bool? requiresArtwork = ReadBool(Data.Models.Metadata.Driver.RequiresArtworkKey); - if (requiresArtwork is not null) - Write(Data.Models.Metadata.Driver.RequiresArtworkKey, requiresArtwork.FromYesNo()); - string? saveState = ReadString(Data.Models.Metadata.Driver.SaveStateKey); if (saveState is not null) Write(Data.Models.Metadata.Driver.SaveStateKey, saveState.AsSupported()?.AsStringValue(useSecond: true)); @@ -56,10 +72,6 @@ namespace SabreTools.Metadata.DatItems.Formats string? status = ReadString(Data.Models.Metadata.Driver.StatusKey); if (status is not null) Write(Data.Models.Metadata.Driver.StatusKey, status.AsSupportStatus()?.AsStringValue()); - - bool? unofficial = ReadBool(Data.Models.Metadata.Driver.UnofficialKey); - if (unofficial is not null) - Write(Data.Models.Metadata.Driver.UnofficialKey, unofficial.FromYesNo()); } public Driver(Data.Models.Metadata.Driver item, Machine machine, Source source) : this(item) diff --git a/SabreTools.Metadata.DatItems/Formats/Input.cs b/SabreTools.Metadata.DatItems/Formats/Input.cs index 2b71950f..de343b4f 100644 --- a/SabreTools.Metadata.DatItems/Formats/Input.cs +++ b/SabreTools.Metadata.DatItems/Formats/Input.cs @@ -23,6 +23,18 @@ namespace SabreTools.Metadata.DatItems.Formats } } + public bool? Service + { + get => (_internal as Data.Models.Metadata.Input)?.Service; + set => (_internal as Data.Models.Metadata.Input)?.Service = value; + } + + public bool? Tilt + { + get => (_internal as Data.Models.Metadata.Input)?.Tilt; + set => (_internal as Data.Models.Metadata.Input)?.Tilt = value; + } + #endregion #region Constructors @@ -44,14 +56,6 @@ namespace SabreTools.Metadata.DatItems.Formats if (players is not null) Write(Data.Models.Metadata.Input.PlayersKey, players.ToString()); - bool? service = ReadBool(Data.Models.Metadata.Input.ServiceKey); - if (service is not null) - Write(Data.Models.Metadata.Input.ServiceKey, service.FromYesNo()); - - bool? tilt = ReadBool(Data.Models.Metadata.Input.TiltKey); - if (tilt is not null) - Write(Data.Models.Metadata.Input.TiltKey, tilt.FromYesNo()); - // Handle subitems var controls = item.ReadArray(Data.Models.Metadata.Input.ControlKey); if (controls is not null) diff --git a/SabreTools.Metadata.DatItems/Formats/Rom.cs b/SabreTools.Metadata.DatItems/Formats/Rom.cs index 005110e7..f3670a55 100644 --- a/SabreTools.Metadata.DatItems/Formats/Rom.cs +++ b/SabreTools.Metadata.DatItems/Formats/Rom.cs @@ -28,26 +28,6 @@ namespace SabreTools.Metadata.DatItems.Formats #region Fields - [JsonIgnore] - public bool ItemStatusSpecified - { - get - { - var status = ReadString(Data.Models.Metadata.Rom.StatusKey).AsItemStatus(); - return status is not null && status != ItemStatus.None; - } - } - - [JsonIgnore] - public bool OriginalSpecified - { - get - { - var original = Read("ORIGINAL"); - return original is not null && original != default; - } - } - [JsonIgnore] public bool DataAreaSpecified { @@ -62,6 +42,56 @@ namespace SabreTools.Metadata.DatItems.Formats } } + public bool? Dispose + { + get => (_internal as Data.Models.Metadata.Rom)?.Dispose; + set => (_internal as Data.Models.Metadata.Rom)?.Dispose = value; + } + + public bool? FileIsAvailable + { + get => (_internal as Data.Models.Metadata.Rom)?.FileIsAvailable; + set => (_internal as Data.Models.Metadata.Rom)?.FileIsAvailable = value; + } + + public bool? Inverted + { + get => (_internal as Data.Models.Metadata.Rom)?.Inverted; + set => (_internal as Data.Models.Metadata.Rom)?.Inverted = value; + } + + [JsonIgnore] + public bool ItemStatusSpecified + { + get + { + var status = ReadString(Data.Models.Metadata.Rom.StatusKey).AsItemStatus(); + return status is not null && status != ItemStatus.None; + } + } + + public bool? MIA + { + get => (_internal as Data.Models.Metadata.Rom)?.MIA; + set => (_internal as Data.Models.Metadata.Rom)?.MIA = value; + } + + public bool? Optional + { + get => (_internal as Data.Models.Metadata.Rom)?.Optional; + set => (_internal as Data.Models.Metadata.Rom)?.Optional = value; + } + + [JsonIgnore] + public bool OriginalSpecified + { + get + { + var original = Read("ORIGINAL"); + return original is not null && original != default; + } + } + [JsonIgnore] public bool PartSpecified { @@ -74,6 +104,12 @@ namespace SabreTools.Metadata.DatItems.Formats } } + public bool? SoundOnly + { + get => (_internal as Data.Models.Metadata.Rom)?.SoundOnly; + set => (_internal as Data.Models.Metadata.Rom)?.SoundOnly = value; + } + #endregion #region Constructors @@ -194,14 +230,6 @@ namespace SabreTools.Metadata.DatItems.Formats Write(DupeTypeKey, 0x00); // Process flag values - bool? dispose = ReadBool(Data.Models.Metadata.Rom.DisposeKey); - if (dispose is not null) - Write(Data.Models.Metadata.Rom.DisposeKey, dispose.FromYesNo()); - - bool? inverted = ReadBool(Data.Models.Metadata.Rom.InvertedKey); - if (inverted is not null) - Write(Data.Models.Metadata.Rom.InvertedKey, inverted.FromYesNo()); - string? loadFlag = ReadString(Data.Models.Metadata.Rom.LoadFlagKey); if (loadFlag is not null) Write(Data.Models.Metadata.Rom.LoadFlagKey, loadFlag.AsLoadFlag()?.AsStringValue()); @@ -210,18 +238,6 @@ namespace SabreTools.Metadata.DatItems.Formats if (openMSXMediaType is not null) Write(Data.Models.Metadata.Rom.OpenMSXMediaType, openMSXMediaType.AsOpenMSXSubType()?.AsStringValue()); - bool? mia = ReadBool(Data.Models.Metadata.Rom.MIAKey); - if (mia is not null) - Write(Data.Models.Metadata.Rom.MIAKey, mia.FromYesNo()); - - bool? optional = ReadBool(Data.Models.Metadata.Rom.OptionalKey); - if (optional is not null) - Write(Data.Models.Metadata.Rom.OptionalKey, optional.FromYesNo()); - - bool? soundOnly = ReadBool(Data.Models.Metadata.Rom.SoundOnlyKey); - if (soundOnly is not null) - Write(Data.Models.Metadata.Rom.SoundOnlyKey, soundOnly.FromYesNo()); - string? status = ReadString(Data.Models.Metadata.Rom.StatusKey); if (status is not null) Write(Data.Models.Metadata.Rom.StatusKey, status.AsItemStatus()?.AsStringValue()); diff --git a/SabreTools.Metadata.DatItems/Machine.cs b/SabreTools.Metadata.DatItems/Machine.cs index 23ca5437..28657240 100644 --- a/SabreTools.Metadata.DatItems/Machine.cs +++ b/SabreTools.Metadata.DatItems/Machine.cs @@ -13,6 +13,34 @@ namespace SabreTools.Metadata.DatItems [JsonObject("machine"), XmlRoot("machine")] public sealed class Machine : ModelBackedItem, ICloneable, IEquatable { + #region Fields + + public bool? IsBios + { + get => _internal.IsBios; + set => _internal.IsBios = value; + } + + public bool? IsDevice + { + get => _internal.IsDevice; + set => _internal.IsDevice = value; + } + + public bool? IsMechanical + { + get => _internal.IsMechanical; + set => _internal.IsMechanical = value; + } + + public bool? Runnable + { + get => _internal.Runnable; + set => _internal.Runnable = value; + } + + #endregion + #region Constructors public Machine() @@ -63,18 +91,6 @@ namespace SabreTools.Metadata.DatItems if (im2Crc is not null) Write(Data.Models.Metadata.Machine.Im2CRCKey, TextHelper.NormalizeCRC32(im2Crc)); - bool? isBios = ReadBool(Data.Models.Metadata.Machine.IsBiosKey); - if (isBios is not null) - Write(Data.Models.Metadata.Machine.IsBiosKey, isBios.FromYesNo()); - - bool? isDevice = ReadBool(Data.Models.Metadata.Machine.IsDeviceKey); - if (isDevice is not null) - Write(Data.Models.Metadata.Machine.IsDeviceKey, isDevice.FromYesNo()); - - bool? isMechanical = ReadBool(Data.Models.Metadata.Machine.IsMechanicalKey); - if (isMechanical is not null) - Write(Data.Models.Metadata.Machine.IsMechanicalKey, isMechanical.FromYesNo()); - string? supported = ReadString(Data.Models.Metadata.Machine.SupportedKey); if (supported is not null) Write(Data.Models.Metadata.Machine.SupportedKey, supported.AsSupported()?.AsStringValue()); diff --git a/SabreTools.Metadata.Filter/FilterObject.cs b/SabreTools.Metadata.Filter/FilterObject.cs index 27dcd70c..f673a530 100644 --- a/SabreTools.Metadata.Filter/FilterObject.cs +++ b/SabreTools.Metadata.Filter/FilterObject.cs @@ -356,10 +356,30 @@ namespace SabreTools.Metadata.Filter checkValue = item.Default.FromYesNo(); return true; + case Chip item when Key.FieldName == "soundonly": + checkValue = item.SoundOnly.FromYesNo(); + return true; + + case ConfLocation item when Key.FieldName == "inverted": + checkValue = item.Inverted.FromYesNo(); + return true; + case ConfSetting item when Key.FieldName == "default": checkValue = item.Default.FromYesNo(); return true; + case Control item when Key.FieldName == "reverse": + checkValue = item.Reverse.FromYesNo(); + return true; + + case DipLocation item when Key.FieldName == "inverted": + checkValue = item.Inverted.FromYesNo(); + return true; + + case DipLocation item when Key.FieldName == "inverted": + checkValue = item.Inverted.FromYesNo(); + return true; + case DipSwitch item when Key.FieldName == "default": checkValue = item.Default.FromYesNo(); return true; @@ -368,6 +388,66 @@ namespace SabreTools.Metadata.Filter checkValue = item.Default.FromYesNo(); return true; + case Disk item when Key.FieldName == "optional": + checkValue = item.Optional.FromYesNo(); + return true; + case Disk item when Key.FieldName == "writable": + checkValue = item.Writable.FromYesNo(); + return true; + + case Display item when Key.FieldName == "flipx": + checkValue = item.FlipX.FromYesNo(); + return true; + + case Driver item when Key.FieldName == "incomplete": + checkValue = item.Incomplete.FromYesNo(); + return true; + case Driver item when Key.FieldName == "nosoundhardware": + checkValue = item.NoSoundHardware.FromYesNo(); + return true; + case Driver item when Key.FieldName == "requiresartwork": + checkValue = item.RequiresArtwork.FromYesNo(); + return true; + case Driver item when Key.FieldName == "unofficial": + checkValue = item.Unofficial.FromYesNo(); + return true; + + case Header item when Key.FieldName == "debug": + checkValue = item.Debug.FromYesNo(); + return true; + case Header item when Key.FieldName == "forcezipping": + checkValue = item.ForceZipping.FromYesNo(); + return true; + case Header item when Key.FieldName == "lockbiosmode": + checkValue = item.LockBiosMode.FromYesNo(); + return true; + case Header item when Key.FieldName == "lockrommode": + checkValue = item.LockRomMode.FromYesNo(); + return true; + case Header item when Key.FieldName == "locksamplemode": + checkValue = item.LockSampleMode.FromYesNo(); + return true; + + case Input item when Key.FieldName == "service": + checkValue = item.Service.FromYesNo(); + return true; + case Input item when Key.FieldName == "tilt": + checkValue = item.Tilt.FromYesNo(); + return true; + + case Machine item when Key.FieldName == "isbios": + checkValue = item.IsBios.FromYesNo(); + return true; + case Machine item when Key.FieldName == "isdevice": + checkValue = item.IsDevice.FromYesNo(); + return true; + case Machine item when Key.FieldName == "ismechanical": + checkValue = item.IsMechanical.FromYesNo(); + return true; + case Machine item when Key.FieldName == "runnable": + checkValue = item.Runnable.FromYesNo(); + return true; + case RamOption item when Key.FieldName == "default": checkValue = item.Default.FromYesNo(); return true; @@ -376,6 +456,25 @@ namespace SabreTools.Metadata.Filter checkValue = item.Default.FromYesNo(); return true; + case Rom item when Key.FieldName == "dispose": + checkValue = item.Dispose.FromYesNo(); + return true; + case Rom item when Key.FieldName == "fileisavailable": + checkValue = item.FileIsAvailable.FromYesNo(); + return true; + case Rom item when Key.FieldName == "inverted": + checkValue = item.Inverted.FromYesNo(); + return true; + case Rom item when Key.FieldName == "mia": + checkValue = item.MIA.FromYesNo(); + return true; + case Rom item when Key.FieldName == "optional": + checkValue = item.Optional.FromYesNo(); + return true; + case Rom item when Key.FieldName == "soundonly": + checkValue = item.SoundOnly.FromYesNo(); + return true; + case SlotOption item when Key.FieldName == "default": checkValue = item.Default.FromYesNo(); return true; diff --git a/SabreTools.Metadata.Filter/FilterRunner.cs b/SabreTools.Metadata.Filter/FilterRunner.cs index 14bf5a83..5c373e94 100644 --- a/SabreTools.Metadata.Filter/FilterRunner.cs +++ b/SabreTools.Metadata.Filter/FilterRunner.cs @@ -73,11 +73,11 @@ namespace SabreTools.Metadata.Filter string key = filter.Key.ToString(); // Special case for machine types - if (filter.Key.ItemName == MetadataFile.MachineKey && filter.Key.FieldName == Machine.IsBiosKey) + if (filter.Key.ItemName == MetadataFile.MachineKey && filter.Key.FieldName == "isbios") key = $"{MetadataFile.MachineKey}.COMBINEDTYPE"; - else if (filter.Key.ItemName == MetadataFile.MachineKey && filter.Key.FieldName == Machine.IsDeviceKey) + else if (filter.Key.ItemName == MetadataFile.MachineKey && filter.Key.FieldName == "isdevice") key = $"{MetadataFile.MachineKey}.COMBINEDTYPE"; - else if (filter.Key.ItemName == MetadataFile.MachineKey && filter.Key.FieldName == Machine.IsMechanicalKey) + else if (filter.Key.ItemName == MetadataFile.MachineKey && filter.Key.FieldName == "ismechanical") key = $"{MetadataFile.MachineKey}.COMBINEDTYPE"; // Set the expected group type diff --git a/SabreTools.Serialization.CrossModel.Test/AttractModeTests.cs b/SabreTools.Serialization.CrossModel.Test/AttractModeTests.cs index b93aaccb..9e0fc4dc 100644 --- a/SabreTools.Serialization.CrossModel.Test/AttractModeTests.cs +++ b/SabreTools.Serialization.CrossModel.Test/AttractModeTests.cs @@ -58,7 +58,7 @@ namespace SabreTools.Serialization.CrossModel.Test Tags = "XXXXXX", PlayedCount = "XXXXXX", PlayedTime = "XXXXXX", - FileIsAvailable = "XXXXXX", + FileIsAvailable = true, }; return new Data.Models.AttractMode.MetadataFile @@ -105,7 +105,7 @@ namespace SabreTools.Serialization.CrossModel.Test Assert.Equal("XXXXXX", row.Tags); Assert.Equal("XXXXXX", row.PlayedCount); Assert.Equal("XXXXXX", row.PlayedTime); - Assert.Equal("XXXXXX", row.FileIsAvailable); + Assert.Equal(true, row.FileIsAvailable); } } } diff --git a/SabreTools.Serialization.CrossModel.Test/ClrMameProTests.cs b/SabreTools.Serialization.CrossModel.Test/ClrMameProTests.cs index f47f1e29..ba602350 100644 --- a/SabreTools.Serialization.CrossModel.Test/ClrMameProTests.cs +++ b/SabreTools.Serialization.CrossModel.Test/ClrMameProTests.cs @@ -74,7 +74,7 @@ namespace SabreTools.Serialization.CrossModel.Test Header = "XXXXXX", Type = "XXXXXX", ForceMerging = "XXXXXX", - ForceZipping = "XXXXXX", + ForceZipping = true, ForcePacking = "XXXXXX", }; @@ -121,8 +121,8 @@ namespace SabreTools.Serialization.CrossModel.Test Offs = "XXXXXX", Serial = "XXXXXX", Header = "XXXXXX", - Inverted = "XXXXXX", - MIA = "XXXXXX", + Inverted = true, + MIA = true, }; var disk = new Data.Models.ClrMamePro.Disk @@ -184,8 +184,8 @@ namespace SabreTools.Serialization.CrossModel.Test Control = "XXXXXX", Buttons = "XXXXXX", Coins = "XXXXXX", - Tilt = "XXXXXX", - Service = "XXXXXX", + Tilt = true, + Service = true, }; var dipswitch = new Data.Models.ClrMamePro.DipSwitch @@ -263,7 +263,7 @@ namespace SabreTools.Serialization.CrossModel.Test Assert.Equal("XXXXXX", cmp.Header); Assert.Equal("XXXXXX", cmp.Type); Assert.Equal("XXXXXX", cmp.ForceMerging); - Assert.Equal("XXXXXX", cmp.ForceZipping); + Assert.Equal(true, cmp.ForceZipping); Assert.Equal("XXXXXX", cmp.ForcePacking); } @@ -384,8 +384,8 @@ namespace SabreTools.Serialization.CrossModel.Test Assert.Equal("XXXXXX", rom.Offs); Assert.Equal("XXXXXX", rom.Serial); Assert.Equal("XXXXXX", rom.Header); - Assert.Equal("XXXXXX", rom.Inverted); - Assert.Equal("XXXXXX", rom.MIA); + Assert.Equal(true, rom.Inverted); + Assert.Equal(true, rom.MIA); } /// @@ -479,8 +479,8 @@ namespace SabreTools.Serialization.CrossModel.Test Assert.Equal("XXXXXX", input.Control); Assert.Equal("XXXXXX", input.Buttons); Assert.Equal("XXXXXX", input.Coins); - Assert.Equal("XXXXXX", input.Tilt); - Assert.Equal("XXXXXX", input.Service); + Assert.Equal(true, input.Tilt); + Assert.Equal(true, input.Service); } /// diff --git a/SabreTools.Serialization.CrossModel.Test/ListxmlTests.cs b/SabreTools.Serialization.CrossModel.Test/ListxmlTests.cs index 60d915a8..bb92df2d 100644 --- a/SabreTools.Serialization.CrossModel.Test/ListxmlTests.cs +++ b/SabreTools.Serialization.CrossModel.Test/ListxmlTests.cs @@ -23,7 +23,7 @@ namespace SabreTools.Serialization.CrossModel.Test // Validate the data Assert.NotNull(newMame); Assert.Equal("XXXXXX", newMame.Build); - Assert.Equal("XXXXXX", newMame.Debug); + Assert.Equal(true, newMame.Debug); Assert.Equal("XXXXXX", newMame.MameConfig); Assert.NotNull(newMame.Game); @@ -50,7 +50,7 @@ namespace SabreTools.Serialization.CrossModel.Test // Validate the data Assert.NotNull(newMame); Assert.Equal("XXXXXX", newMame.Build); - Assert.Equal("XXXXXX", newMame.Debug); + Assert.Equal(true, newMame.Debug); Assert.Equal("XXXXXX", newMame.MameConfig); Assert.NotNull(newMame.Game); @@ -81,9 +81,9 @@ namespace SabreTools.Serialization.CrossModel.Test Region = "XXXXXX", Offset = "XXXXXX", Status = "XXXXXX", - Optional = "XXXXXX", - Dispose = "XXXXXX", - SoundOnly = "XXXXXX", + Optional = true, + Dispose = true, + SoundOnly = true, }; var disk = new Data.Models.Listxml.Disk @@ -94,9 +94,9 @@ namespace SabreTools.Serialization.CrossModel.Test Merge = "XXXXXX", Region = "XXXXXX", Index = "XXXXXX", - Writable = "XXXXXX", + Writable = true, Status = "XXXXXX", - Optional = "XXXXXX", + Optional = true, }; var deviceref = new Data.Models.Listxml.DeviceRef @@ -114,7 +114,7 @@ namespace SabreTools.Serialization.CrossModel.Test Name = "XXXXXX", Tag = "XXXXXX", Type = "XXXXXX", - SoundOnly = "XXXXXX", + SoundOnly = true, Clock = "XXXXXX", }; @@ -123,7 +123,7 @@ namespace SabreTools.Serialization.CrossModel.Test Tag = "XXXXXX", Type = "XXXXXX", Rotate = "XXXXXX", - FlipX = "XXXXXX", + FlipX = true, Width = "XXXXXX", Height = "XXXXXX", Refresh = "XXXXXX", @@ -162,7 +162,7 @@ namespace SabreTools.Serialization.CrossModel.Test Maximum = "XXXXXX", Sensitivity = "XXXXXX", KeyDelta = "XXXXXX", - Reverse = "XXXXXX", + Reverse = true, Ways = "XXXXXX", Ways2 = "XXXXXX", Ways3 = "XXXXXX", @@ -170,8 +170,8 @@ namespace SabreTools.Serialization.CrossModel.Test var input = new Data.Models.Listxml.Input { - Service = "XXXXXX", - Tilt = "XXXXXX", + Service = true, + Tilt = true, Players = "XXXXXX", //ControlAttr = "XXXXXX", // Mututally exclusive with input.Control Buttons = "XXXXXX", @@ -191,7 +191,7 @@ namespace SabreTools.Serialization.CrossModel.Test { Name = "XXXXXX", Number = "XXXXXX", - Inverted = "XXXXXX", + Inverted = true, }; var dipvalue = new Data.Models.Listxml.DipValue @@ -216,7 +216,7 @@ namespace SabreTools.Serialization.CrossModel.Test { Name = "XXXXXX", Number = "XXXXXX", - Inverted = "XXXXXX", + Inverted = true, }; var confsetting = new Data.Models.Listxml.ConfSetting @@ -264,10 +264,10 @@ namespace SabreTools.Serialization.CrossModel.Test Emulation = "XXXXXX", Cocktail = "XXXXXX", SaveState = "XXXXXX", - RequiresArtwork = "XXXXXX", - Unofficial = "XXXXXX", - NoSoundHardware = "XXXXXX", - Incomplete = "XXXXXX", + RequiresArtwork = true, + Unofficial = true, + NoSoundHardware = true, + Incomplete = true, }; var feature = new Data.Models.Listxml.Feature @@ -332,10 +332,10 @@ namespace SabreTools.Serialization.CrossModel.Test : new Data.Models.Listxml.Machine(); gameBase.Name = "XXXXXX"; gameBase.SourceFile = "XXXXXX"; - gameBase.IsBios = "XXXXXX"; - gameBase.IsDevice = "XXXXXX"; - gameBase.IsMechanical = "XXXXXX"; - gameBase.Runnable = "XXXXXX"; + gameBase.IsBios = true; + gameBase.IsDevice = true; + gameBase.IsMechanical = true; + gameBase.Runnable = true; gameBase.CloneOf = "XXXXXX"; gameBase.RomOf = "XXXXXX"; gameBase.SampleOf = "XXXXXX"; @@ -367,7 +367,7 @@ namespace SabreTools.Serialization.CrossModel.Test return new Data.Models.Listxml.Mame { Build = "XXXXXX", - Debug = "XXXXXX", + Debug = true, MameConfig = "XXXXXX", Game = [gameBase], }; @@ -381,10 +381,10 @@ namespace SabreTools.Serialization.CrossModel.Test Assert.NotNull(gb); Assert.Equal("XXXXXX", gb.Name); Assert.Equal("XXXXXX", gb.SourceFile); - Assert.Equal("XXXXXX", gb.IsBios); - Assert.Equal("XXXXXX", gb.IsDevice); - Assert.Equal("XXXXXX", gb.IsMechanical); - Assert.Equal("XXXXXX", gb.Runnable); + Assert.Equal(true, gb.IsBios); + Assert.Equal(true, gb.IsDevice); + Assert.Equal(true, gb.IsMechanical); + Assert.Equal(true, gb.Runnable); Assert.Equal("XXXXXX", gb.CloneOf); Assert.Equal("XXXXXX", gb.RomOf); Assert.Equal("XXXXXX", gb.SampleOf); @@ -493,9 +493,9 @@ namespace SabreTools.Serialization.CrossModel.Test Assert.Equal("XXXXXX", rom.Region); Assert.Equal("XXXXXX", rom.Offset); Assert.Equal("XXXXXX", rom.Status); - Assert.Equal("XXXXXX", rom.Optional); - Assert.Equal("XXXXXX", rom.Dispose); - Assert.Equal("XXXXXX", rom.SoundOnly); + Assert.Equal(true, rom.Optional); + Assert.Equal(true, rom.Dispose); + Assert.Equal(true, rom.SoundOnly); } /// @@ -510,9 +510,9 @@ namespace SabreTools.Serialization.CrossModel.Test Assert.Equal("XXXXXX", disk.Merge); Assert.Equal("XXXXXX", disk.Region); Assert.Equal("XXXXXX", disk.Index); - Assert.Equal("XXXXXX", disk.Writable); + Assert.Equal(true, disk.Writable); Assert.Equal("XXXXXX", disk.Status); - Assert.Equal("XXXXXX", disk.Optional); + Assert.Equal(true, disk.Optional); } /// @@ -542,7 +542,7 @@ namespace SabreTools.Serialization.CrossModel.Test Assert.Equal("XXXXXX", chip.Name); Assert.Equal("XXXXXX", chip.Tag); Assert.Equal("XXXXXX", chip.Type); - Assert.Equal("XXXXXX", chip.SoundOnly); + Assert.Equal(true, chip.SoundOnly); Assert.Equal("XXXXXX", chip.Clock); } @@ -555,7 +555,7 @@ namespace SabreTools.Serialization.CrossModel.Test Assert.Equal("XXXXXX", display.Tag); Assert.Equal("XXXXXX", display.Type); Assert.Equal("XXXXXX", display.Rotate); - Assert.Equal("XXXXXX", display.FlipX); + Assert.Equal(true, display.FlipX); Assert.Equal("XXXXXX", display.Width); Assert.Equal("XXXXXX", display.Height); Assert.Equal("XXXXXX", display.Refresh); @@ -598,8 +598,8 @@ namespace SabreTools.Serialization.CrossModel.Test private static void Validate(Data.Models.Listxml.Input? input) { Assert.NotNull(input); - Assert.Equal("XXXXXX", input.Service); - Assert.Equal("XXXXXX", input.Tilt); + Assert.Equal(true, input.Service); + Assert.Equal(true, input.Tilt); Assert.Equal("XXXXXX", input.Players); //Assert.Equal("XXXXXX", input.ControlAttr); // Mututally exclusive with input.Control Assert.Equal("XXXXXX", input.Buttons); @@ -624,7 +624,7 @@ namespace SabreTools.Serialization.CrossModel.Test Assert.Equal("XXXXXX", control.Maximum); Assert.Equal("XXXXXX", control.Sensitivity); Assert.Equal("XXXXXX", control.KeyDelta); - Assert.Equal("XXXXXX", control.Reverse); + Assert.Equal(true, control.Reverse); Assert.Equal("XXXXXX", control.Ways); Assert.Equal("XXXXXX", control.Ways2); Assert.Equal("XXXXXX", control.Ways3); @@ -670,7 +670,7 @@ namespace SabreTools.Serialization.CrossModel.Test Assert.NotNull(diplocation); Assert.Equal("XXXXXX", diplocation.Name); Assert.Equal("XXXXXX", diplocation.Number); - Assert.Equal("XXXXXX", diplocation.Inverted); + Assert.Equal(true, diplocation.Inverted); } /// @@ -713,7 +713,7 @@ namespace SabreTools.Serialization.CrossModel.Test Assert.NotNull(conflocation); Assert.Equal("XXXXXX", conflocation.Name); Assert.Equal("XXXXXX", conflocation.Number); - Assert.Equal("XXXXXX", conflocation.Inverted); + Assert.Equal(true, conflocation.Inverted); } /// @@ -774,10 +774,10 @@ namespace SabreTools.Serialization.CrossModel.Test Assert.Equal("XXXXXX", driver.Emulation); Assert.Equal("XXXXXX", driver.Cocktail); Assert.Equal("XXXXXX", driver.SaveState); - Assert.Equal("XXXXXX", driver.RequiresArtwork); - Assert.Equal("XXXXXX", driver.Unofficial); - Assert.Equal("XXXXXX", driver.NoSoundHardware); - Assert.Equal("XXXXXX", driver.Incomplete); + Assert.Equal(true, driver.RequiresArtwork); + Assert.Equal(true, driver.Unofficial); + Assert.Equal(true, driver.NoSoundHardware); + Assert.Equal(true, driver.Incomplete); } /// diff --git a/SabreTools.Serialization.CrossModel.Test/LogiqxTests.cs b/SabreTools.Serialization.CrossModel.Test/LogiqxTests.cs index c0ec27c0..10a6e549 100644 --- a/SabreTools.Serialization.CrossModel.Test/LogiqxTests.cs +++ b/SabreTools.Serialization.CrossModel.Test/LogiqxTests.cs @@ -23,7 +23,7 @@ namespace SabreTools.Serialization.CrossModel.Test // Validate the data Assert.NotNull(newDf); Assert.Equal("XXXXXX", newDf.Build); - Assert.Equal("XXXXXX", newDf.Debug); + Assert.Equal(true, newDf.Debug); Assert.Equal("XXXXXX", newDf.SchemaLocation); Validate(newDf.Header); @@ -55,7 +55,7 @@ namespace SabreTools.Serialization.CrossModel.Test // Validate the data Assert.NotNull(newDf); Assert.Equal("XXXXXX", newDf.Build); - Assert.Equal("XXXXXX", newDf.Debug); + Assert.Equal(true, newDf.Debug); Assert.Equal("XXXXXX", newDf.SchemaLocation); Validate(newDf.Header); @@ -87,9 +87,9 @@ namespace SabreTools.Serialization.CrossModel.Test RomMode = "XXXXXX", BiosMode = "XXXXXX", SampleMode = "XXXXXX", - LockRomMode = "XXXXXX", - LockBiosMode = "XXXXXX", - LockSampleMode = "XXXXXX", + LockRomMode = true, + LockBiosMode = true, + LockSampleMode = true, }; var header = new Data.Models.Logiqx.Header @@ -169,8 +169,8 @@ namespace SabreTools.Serialization.CrossModel.Test Serial = "XXXXXX", Header = "XXXXXX", Date = "XXXXXX", - Inverted = "XXXXXX", - MIA = "XXXXXX", + Inverted = true, + MIA = true, }; var disk = new Data.Models.Logiqx.Disk @@ -213,10 +213,10 @@ namespace SabreTools.Serialization.CrossModel.Test Emulation = "XXXXXX", Cocktail = "XXXXXX", SaveState = "XXXXXX", - RequiresArtwork = "XXXXXX", - Unofficial = "XXXXXX", - NoSoundHardware = "XXXXXX", - Incomplete = "XXXXXX", + RequiresArtwork = true, + Unofficial = true, + NoSoundHardware = true, + Incomplete = true, }; var softwarelist = new Data.Models.Logiqx.SoftwareList @@ -232,9 +232,9 @@ namespace SabreTools.Serialization.CrossModel.Test : new Data.Models.Logiqx.Machine(); gameBase.Name = "XXXXXX"; gameBase.SourceFile = "XXXXXX"; - gameBase.IsBios = "XXXXXX"; - gameBase.IsDevice = "XXXXXX"; - gameBase.IsMechanical = "XXXXXX"; + gameBase.IsBios = true; + gameBase.IsDevice = true; + gameBase.IsMechanical = true; gameBase.CloneOf = "XXXXXX"; gameBase.RomOf = "XXXXXX"; gameBase.SampleOf = "XXXXXX"; @@ -242,7 +242,7 @@ namespace SabreTools.Serialization.CrossModel.Test gameBase.RebuildTo = "XXXXXX"; gameBase.Id = "XXXXXX"; gameBase.CloneOfId = "XXXXXX"; - gameBase.Runnable = "XXXXXX"; + gameBase.Runnable = true; gameBase.Comment = ["XXXXXX"]; gameBase.Description = "XXXXXX"; gameBase.Year = "XXXXXX"; @@ -276,7 +276,7 @@ namespace SabreTools.Serialization.CrossModel.Test return new Data.Models.Logiqx.Datafile { Build = "XXXXXX", - Debug = "XXXXXX", + Debug = true, SchemaLocation = "XXXXXX", Header = header, Game = [gameBase], @@ -329,9 +329,9 @@ namespace SabreTools.Serialization.CrossModel.Test Assert.Equal("XXXXXX", rc.RomMode); Assert.Equal("XXXXXX", rc.BiosMode); Assert.Equal("XXXXXX", rc.SampleMode); - Assert.Equal("XXXXXX", rc.LockRomMode); - Assert.Equal("XXXXXX", rc.LockBiosMode); - Assert.Equal("XXXXXX", rc.LockSampleMode); + Assert.Equal(true, rc.LockRomMode); + Assert.Equal(true, rc.LockBiosMode); + Assert.Equal(true, rc.LockSampleMode); } /// @@ -345,9 +345,9 @@ namespace SabreTools.Serialization.CrossModel.Test else Assert.Equal("XXXXXX", gb.Name); Assert.Equal("XXXXXX", gb.SourceFile); - Assert.Equal("XXXXXX", gb.IsBios); - Assert.Equal("XXXXXX", gb.IsDevice); - Assert.Equal("XXXXXX", gb.IsMechanical); + Assert.Equal(true, gb.IsBios); + Assert.Equal(true, gb.IsDevice); + Assert.Equal(true, gb.IsMechanical); Assert.Equal("XXXXXX", gb.CloneOf); Assert.Equal("XXXXXX", gb.RomOf); Assert.Equal("XXXXXX", gb.SampleOf); @@ -355,7 +355,7 @@ namespace SabreTools.Serialization.CrossModel.Test Assert.Equal("XXXXXX", gb.RebuildTo); Assert.Equal("XXXXXX", gb.Id); Assert.Equal("XXXXXX", gb.CloneOfId); - Assert.Equal("XXXXXX", gb.Runnable); + Assert.Equal(true, gb.Runnable); Assert.NotNull(gb.Comment); string comment = Assert.Single(gb.Comment); @@ -485,8 +485,8 @@ namespace SabreTools.Serialization.CrossModel.Test Assert.Equal("XXXXXX", rom.Serial); Assert.Equal("XXXXXX", rom.Header); Assert.Equal("XXXXXX", rom.Date); - Assert.Equal("XXXXXX", rom.Inverted); - Assert.Equal("XXXXXX", rom.MIA); + Assert.Equal(true, rom.Inverted); + Assert.Equal(true, rom.MIA); } /// @@ -553,10 +553,10 @@ namespace SabreTools.Serialization.CrossModel.Test Assert.Equal("XXXXXX", driver.Emulation); Assert.Equal("XXXXXX", driver.Cocktail); Assert.Equal("XXXXXX", driver.SaveState); - Assert.Equal("XXXXXX", driver.RequiresArtwork); - Assert.Equal("XXXXXX", driver.Unofficial); - Assert.Equal("XXXXXX", driver.NoSoundHardware); - Assert.Equal("XXXXXX", driver.Incomplete); + Assert.Equal(true, driver.RequiresArtwork); + Assert.Equal(true, driver.Unofficial); + Assert.Equal(true, driver.NoSoundHardware); + Assert.Equal(true, driver.Incomplete); } /// diff --git a/SabreTools.Serialization.CrossModel.Test/M1Tests.cs b/SabreTools.Serialization.CrossModel.Test/M1Tests.cs index 9034351c..f59e6ada 100644 --- a/SabreTools.Serialization.CrossModel.Test/M1Tests.cs +++ b/SabreTools.Serialization.CrossModel.Test/M1Tests.cs @@ -77,9 +77,9 @@ namespace SabreTools.Serialization.CrossModel.Test Region = "XXXXXX", Offset = "XXXXXX", Status = "XXXXXX", - Optional = "XXXXXX", - Dispose = "XXXXXX", - SoundOnly = "XXXXXX", + Optional = true, + Dispose = true, + SoundOnly = true, }; var disk = new Data.Models.Listxml.Disk @@ -90,9 +90,9 @@ namespace SabreTools.Serialization.CrossModel.Test Merge = "XXXXXX", Region = "XXXXXX", Index = "XXXXXX", - Writable = "XXXXXX", + Writable = true, Status = "XXXXXX", - Optional = "XXXXXX", + Optional = true, }; var deviceref = new Data.Models.Listxml.DeviceRef @@ -110,7 +110,7 @@ namespace SabreTools.Serialization.CrossModel.Test Name = "XXXXXX", Tag = "XXXXXX", Type = "XXXXXX", - SoundOnly = "XXXXXX", + SoundOnly = true, Clock = "XXXXXX", }; @@ -119,7 +119,7 @@ namespace SabreTools.Serialization.CrossModel.Test Tag = "XXXXXX", Type = "XXXXXX", Rotate = "XXXXXX", - FlipX = "XXXXXX", + FlipX = true, Width = "XXXXXX", Height = "XXXXXX", Refresh = "XXXXXX", @@ -158,7 +158,7 @@ namespace SabreTools.Serialization.CrossModel.Test Maximum = "XXXXXX", Sensitivity = "XXXXXX", KeyDelta = "XXXXXX", - Reverse = "XXXXXX", + Reverse = true, Ways = "XXXXXX", Ways2 = "XXXXXX", Ways3 = "XXXXXX", @@ -166,8 +166,8 @@ namespace SabreTools.Serialization.CrossModel.Test var input = new Data.Models.Listxml.Input { - Service = "XXXXXX", - Tilt = "XXXXXX", + Service = true, + Tilt = true, Players = "XXXXXX", //ControlAttr = "XXXXXX", // Mututally exclusive with input.Control Buttons = "XXXXXX", @@ -187,7 +187,7 @@ namespace SabreTools.Serialization.CrossModel.Test { Name = "XXXXXX", Number = "XXXXXX", - Inverted = "XXXXXX", + Inverted = true, }; var dipvalue = new Data.Models.Listxml.DipValue @@ -212,7 +212,7 @@ namespace SabreTools.Serialization.CrossModel.Test { Name = "XXXXXX", Number = "XXXXXX", - Inverted = "XXXXXX", + Inverted = true, }; var confsetting = new Data.Models.Listxml.ConfSetting @@ -260,10 +260,10 @@ namespace SabreTools.Serialization.CrossModel.Test Emulation = "XXXXXX", Cocktail = "XXXXXX", SaveState = "XXXXXX", - RequiresArtwork = "XXXXXX", - Unofficial = "XXXXXX", - NoSoundHardware = "XXXXXX", - Incomplete = "XXXXXX", + RequiresArtwork = true, + Unofficial = true, + NoSoundHardware = true, + Incomplete = true, }; var feature = new Data.Models.Listxml.Feature @@ -328,10 +328,10 @@ namespace SabreTools.Serialization.CrossModel.Test : new Data.Models.Listxml.Machine(); gameBase.Name = "XXXXXX"; gameBase.SourceFile = "XXXXXX"; - gameBase.IsBios = "XXXXXX"; - gameBase.IsDevice = "XXXXXX"; - gameBase.IsMechanical = "XXXXXX"; - gameBase.Runnable = "XXXXXX"; + gameBase.IsBios = true; + gameBase.IsDevice = true; + gameBase.IsMechanical = true; + gameBase.Runnable = true; gameBase.CloneOf = "XXXXXX"; gameBase.RomOf = "XXXXXX"; gameBase.SampleOf = "XXXXXX"; @@ -375,10 +375,10 @@ namespace SabreTools.Serialization.CrossModel.Test Assert.NotNull(gb); Assert.Equal("XXXXXX", gb.Name); Assert.Equal("XXXXXX", gb.SourceFile); - Assert.Equal("XXXXXX", gb.IsBios); - Assert.Equal("XXXXXX", gb.IsDevice); - Assert.Equal("XXXXXX", gb.IsMechanical); - Assert.Equal("XXXXXX", gb.Runnable); + Assert.Equal(true, gb.IsBios); + Assert.Equal(true, gb.IsDevice); + Assert.Equal(true, gb.IsMechanical); + Assert.Equal(true, gb.Runnable); Assert.Equal("XXXXXX", gb.CloneOf); Assert.Equal("XXXXXX", gb.RomOf); Assert.Equal("XXXXXX", gb.SampleOf); @@ -487,9 +487,9 @@ namespace SabreTools.Serialization.CrossModel.Test Assert.Equal("XXXXXX", rom.Region); Assert.Equal("XXXXXX", rom.Offset); Assert.Equal("XXXXXX", rom.Status); - Assert.Equal("XXXXXX", rom.Optional); - Assert.Equal("XXXXXX", rom.Dispose); - Assert.Equal("XXXXXX", rom.SoundOnly); + Assert.Equal(true, rom.Optional); + Assert.Equal(true, rom.Dispose); + Assert.Equal(true, rom.SoundOnly); } /// @@ -504,9 +504,9 @@ namespace SabreTools.Serialization.CrossModel.Test Assert.Equal("XXXXXX", disk.Merge); Assert.Equal("XXXXXX", disk.Region); Assert.Equal("XXXXXX", disk.Index); - Assert.Equal("XXXXXX", disk.Writable); + Assert.Equal(true, disk.Writable); Assert.Equal("XXXXXX", disk.Status); - Assert.Equal("XXXXXX", disk.Optional); + Assert.Equal(true, disk.Optional); } /// @@ -536,7 +536,7 @@ namespace SabreTools.Serialization.CrossModel.Test Assert.Equal("XXXXXX", chip.Name); Assert.Equal("XXXXXX", chip.Tag); Assert.Equal("XXXXXX", chip.Type); - Assert.Equal("XXXXXX", chip.SoundOnly); + Assert.Equal(true, chip.SoundOnly); Assert.Equal("XXXXXX", chip.Clock); } @@ -549,7 +549,7 @@ namespace SabreTools.Serialization.CrossModel.Test Assert.Equal("XXXXXX", display.Tag); Assert.Equal("XXXXXX", display.Type); Assert.Equal("XXXXXX", display.Rotate); - Assert.Equal("XXXXXX", display.FlipX); + Assert.Equal(true, display.FlipX); Assert.Equal("XXXXXX", display.Width); Assert.Equal("XXXXXX", display.Height); Assert.Equal("XXXXXX", display.Refresh); @@ -592,8 +592,8 @@ namespace SabreTools.Serialization.CrossModel.Test private static void Validate(Data.Models.Listxml.Input? input) { Assert.NotNull(input); - Assert.Equal("XXXXXX", input.Service); - Assert.Equal("XXXXXX", input.Tilt); + Assert.Equal(true, input.Service); + Assert.Equal(true, input.Tilt); Assert.Equal("XXXXXX", input.Players); //Assert.Equal("XXXXXX", input.ControlAttr); // Mututally exclusive with input.Control Assert.Equal("XXXXXX", input.Buttons); @@ -618,7 +618,7 @@ namespace SabreTools.Serialization.CrossModel.Test Assert.Equal("XXXXXX", control.Maximum); Assert.Equal("XXXXXX", control.Sensitivity); Assert.Equal("XXXXXX", control.KeyDelta); - Assert.Equal("XXXXXX", control.Reverse); + Assert.Equal(true, control.Reverse); Assert.Equal("XXXXXX", control.Ways); Assert.Equal("XXXXXX", control.Ways2); Assert.Equal("XXXXXX", control.Ways3); @@ -664,7 +664,7 @@ namespace SabreTools.Serialization.CrossModel.Test Assert.NotNull(diplocation); Assert.Equal("XXXXXX", diplocation.Name); Assert.Equal("XXXXXX", diplocation.Number); - Assert.Equal("XXXXXX", diplocation.Inverted); + Assert.Equal(true, diplocation.Inverted); } /// @@ -707,7 +707,7 @@ namespace SabreTools.Serialization.CrossModel.Test Assert.NotNull(conflocation); Assert.Equal("XXXXXX", conflocation.Name); Assert.Equal("XXXXXX", conflocation.Number); - Assert.Equal("XXXXXX", conflocation.Inverted); + Assert.Equal(true, conflocation.Inverted); } /// @@ -768,10 +768,10 @@ namespace SabreTools.Serialization.CrossModel.Test Assert.Equal("XXXXXX", driver.Emulation); Assert.Equal("XXXXXX", driver.Cocktail); Assert.Equal("XXXXXX", driver.SaveState); - Assert.Equal("XXXXXX", driver.RequiresArtwork); - Assert.Equal("XXXXXX", driver.Unofficial); - Assert.Equal("XXXXXX", driver.NoSoundHardware); - Assert.Equal("XXXXXX", driver.Incomplete); + Assert.Equal(true, driver.RequiresArtwork); + Assert.Equal(true, driver.Unofficial); + Assert.Equal(true, driver.NoSoundHardware); + Assert.Equal(true, driver.Incomplete); } /// diff --git a/SabreTools.Serialization.CrossModel.Test/MessTests.cs b/SabreTools.Serialization.CrossModel.Test/MessTests.cs index c024874a..f4bf8f47 100644 --- a/SabreTools.Serialization.CrossModel.Test/MessTests.cs +++ b/SabreTools.Serialization.CrossModel.Test/MessTests.cs @@ -77,9 +77,9 @@ namespace SabreTools.Serialization.CrossModel.Test Region = "XXXXXX", Offset = "XXXXXX", Status = "XXXXXX", - Optional = "XXXXXX", - Dispose = "XXXXXX", - SoundOnly = "XXXXXX", + Optional = true, + Dispose = true, + SoundOnly = true, }; var disk = new Data.Models.Listxml.Disk @@ -90,9 +90,9 @@ namespace SabreTools.Serialization.CrossModel.Test Merge = "XXXXXX", Region = "XXXXXX", Index = "XXXXXX", - Writable = "XXXXXX", + Writable = true, Status = "XXXXXX", - Optional = "XXXXXX", + Optional = true, }; var deviceref = new Data.Models.Listxml.DeviceRef @@ -110,7 +110,7 @@ namespace SabreTools.Serialization.CrossModel.Test Name = "XXXXXX", Tag = "XXXXXX", Type = "XXXXXX", - SoundOnly = "XXXXXX", + SoundOnly = true, Clock = "XXXXXX", }; @@ -119,7 +119,7 @@ namespace SabreTools.Serialization.CrossModel.Test Tag = "XXXXXX", Type = "XXXXXX", Rotate = "XXXXXX", - FlipX = "XXXXXX", + FlipX = true, Width = "XXXXXX", Height = "XXXXXX", Refresh = "XXXXXX", @@ -158,7 +158,7 @@ namespace SabreTools.Serialization.CrossModel.Test Maximum = "XXXXXX", Sensitivity = "XXXXXX", KeyDelta = "XXXXXX", - Reverse = "XXXXXX", + Reverse = true, Ways = "XXXXXX", Ways2 = "XXXXXX", Ways3 = "XXXXXX", @@ -166,8 +166,8 @@ namespace SabreTools.Serialization.CrossModel.Test var input = new Data.Models.Listxml.Input { - Service = "XXXXXX", - Tilt = "XXXXXX", + Service = true, + Tilt = true, Players = "XXXXXX", //ControlAttr = "XXXXXX", // Mututally exclusive with input.Control Buttons = "XXXXXX", @@ -187,7 +187,7 @@ namespace SabreTools.Serialization.CrossModel.Test { Name = "XXXXXX", Number = "XXXXXX", - Inverted = "XXXXXX", + Inverted = true, }; var dipvalue = new Data.Models.Listxml.DipValue @@ -212,7 +212,7 @@ namespace SabreTools.Serialization.CrossModel.Test { Name = "XXXXXX", Number = "XXXXXX", - Inverted = "XXXXXX", + Inverted = true, }; var confsetting = new Data.Models.Listxml.ConfSetting @@ -260,10 +260,10 @@ namespace SabreTools.Serialization.CrossModel.Test Emulation = "XXXXXX", Cocktail = "XXXXXX", SaveState = "XXXXXX", - RequiresArtwork = "XXXXXX", - Unofficial = "XXXXXX", - NoSoundHardware = "XXXXXX", - Incomplete = "XXXXXX", + RequiresArtwork = true, + Unofficial = true, + NoSoundHardware = true, + Incomplete = true, }; var feature = new Data.Models.Listxml.Feature @@ -328,10 +328,10 @@ namespace SabreTools.Serialization.CrossModel.Test : new Data.Models.Listxml.Machine(); gameBase.Name = "XXXXXX"; gameBase.SourceFile = "XXXXXX"; - gameBase.IsBios = "XXXXXX"; - gameBase.IsDevice = "XXXXXX"; - gameBase.IsMechanical = "XXXXXX"; - gameBase.Runnable = "XXXXXX"; + gameBase.IsBios = true; + gameBase.IsDevice = true; + gameBase.IsMechanical = true; + gameBase.Runnable = true; gameBase.CloneOf = "XXXXXX"; gameBase.RomOf = "XXXXXX"; gameBase.SampleOf = "XXXXXX"; @@ -375,10 +375,10 @@ namespace SabreTools.Serialization.CrossModel.Test Assert.NotNull(gb); Assert.Equal("XXXXXX", gb.Name); Assert.Equal("XXXXXX", gb.SourceFile); - Assert.Equal("XXXXXX", gb.IsBios); - Assert.Equal("XXXXXX", gb.IsDevice); - Assert.Equal("XXXXXX", gb.IsMechanical); - Assert.Equal("XXXXXX", gb.Runnable); + Assert.Equal(true, gb.IsBios); + Assert.Equal(true, gb.IsDevice); + Assert.Equal(true, gb.IsMechanical); + Assert.Equal(true, gb.Runnable); Assert.Equal("XXXXXX", gb.CloneOf); Assert.Equal("XXXXXX", gb.RomOf); Assert.Equal("XXXXXX", gb.SampleOf); @@ -487,9 +487,9 @@ namespace SabreTools.Serialization.CrossModel.Test Assert.Equal("XXXXXX", rom.Region); Assert.Equal("XXXXXX", rom.Offset); Assert.Equal("XXXXXX", rom.Status); - Assert.Equal("XXXXXX", rom.Optional); - Assert.Equal("XXXXXX", rom.Dispose); - Assert.Equal("XXXXXX", rom.SoundOnly); + Assert.Equal(true, rom.Optional); + Assert.Equal(true, rom.Dispose); + Assert.Equal(true, rom.SoundOnly); } /// @@ -504,9 +504,9 @@ namespace SabreTools.Serialization.CrossModel.Test Assert.Equal("XXXXXX", disk.Merge); Assert.Equal("XXXXXX", disk.Region); Assert.Equal("XXXXXX", disk.Index); - Assert.Equal("XXXXXX", disk.Writable); + Assert.Equal(true, disk.Writable); Assert.Equal("XXXXXX", disk.Status); - Assert.Equal("XXXXXX", disk.Optional); + Assert.Equal(true, disk.Optional); } /// @@ -536,7 +536,7 @@ namespace SabreTools.Serialization.CrossModel.Test Assert.Equal("XXXXXX", chip.Name); Assert.Equal("XXXXXX", chip.Tag); Assert.Equal("XXXXXX", chip.Type); - Assert.Equal("XXXXXX", chip.SoundOnly); + Assert.Equal(true, chip.SoundOnly); Assert.Equal("XXXXXX", chip.Clock); } @@ -549,7 +549,7 @@ namespace SabreTools.Serialization.CrossModel.Test Assert.Equal("XXXXXX", display.Tag); Assert.Equal("XXXXXX", display.Type); Assert.Equal("XXXXXX", display.Rotate); - Assert.Equal("XXXXXX", display.FlipX); + Assert.Equal(true, display.FlipX); Assert.Equal("XXXXXX", display.Width); Assert.Equal("XXXXXX", display.Height); Assert.Equal("XXXXXX", display.Refresh); @@ -592,8 +592,8 @@ namespace SabreTools.Serialization.CrossModel.Test private static void Validate(Data.Models.Listxml.Input? input) { Assert.NotNull(input); - Assert.Equal("XXXXXX", input.Service); - Assert.Equal("XXXXXX", input.Tilt); + Assert.Equal(true, input.Service); + Assert.Equal(true, input.Tilt); Assert.Equal("XXXXXX", input.Players); //Assert.Equal("XXXXXX", input.ControlAttr); // Mututally exclusive with input.Control Assert.Equal("XXXXXX", input.Buttons); @@ -618,7 +618,7 @@ namespace SabreTools.Serialization.CrossModel.Test Assert.Equal("XXXXXX", control.Maximum); Assert.Equal("XXXXXX", control.Sensitivity); Assert.Equal("XXXXXX", control.KeyDelta); - Assert.Equal("XXXXXX", control.Reverse); + Assert.Equal(true, control.Reverse); Assert.Equal("XXXXXX", control.Ways); Assert.Equal("XXXXXX", control.Ways2); Assert.Equal("XXXXXX", control.Ways3); @@ -664,7 +664,7 @@ namespace SabreTools.Serialization.CrossModel.Test Assert.NotNull(diplocation); Assert.Equal("XXXXXX", diplocation.Name); Assert.Equal("XXXXXX", diplocation.Number); - Assert.Equal("XXXXXX", diplocation.Inverted); + Assert.Equal(true, diplocation.Inverted); } /// @@ -707,7 +707,7 @@ namespace SabreTools.Serialization.CrossModel.Test Assert.NotNull(conflocation); Assert.Equal("XXXXXX", conflocation.Name); Assert.Equal("XXXXXX", conflocation.Number); - Assert.Equal("XXXXXX", conflocation.Inverted); + Assert.Equal(true, conflocation.Inverted); } /// @@ -768,10 +768,10 @@ namespace SabreTools.Serialization.CrossModel.Test Assert.Equal("XXXXXX", driver.Emulation); Assert.Equal("XXXXXX", driver.Cocktail); Assert.Equal("XXXXXX", driver.SaveState); - Assert.Equal("XXXXXX", driver.RequiresArtwork); - Assert.Equal("XXXXXX", driver.Unofficial); - Assert.Equal("XXXXXX", driver.NoSoundHardware); - Assert.Equal("XXXXXX", driver.Incomplete); + Assert.Equal(true, driver.RequiresArtwork); + Assert.Equal(true, driver.Unofficial); + Assert.Equal(true, driver.NoSoundHardware); + Assert.Equal(true, driver.Incomplete); } /// diff --git a/SabreTools.Serialization.CrossModel.Test/SoftwareListTests.cs b/SabreTools.Serialization.CrossModel.Test/SoftwareListTests.cs index 0f4132a2..5624c411 100644 --- a/SabreTools.Serialization.CrossModel.Test/SoftwareListTests.cs +++ b/SabreTools.Serialization.CrossModel.Test/SoftwareListTests.cs @@ -82,7 +82,7 @@ namespace SabreTools.Serialization.CrossModel.Test MD5 = "XXXXXX", SHA1 = "XXXXXX", Status = "XXXXXX", - Writeable = "XXXXXX", + Writeable = true, }; var diskarea = new Data.Models.SoftwareList.DiskArea @@ -278,7 +278,7 @@ namespace SabreTools.Serialization.CrossModel.Test Assert.Equal("XXXXXX", disk.MD5); Assert.Equal("XXXXXX", disk.SHA1); Assert.Equal("XXXXXX", disk.Status); - Assert.Equal("XXXXXX", disk.Writeable); + Assert.Equal(true, disk.Writeable); } /// diff --git a/SabreTools.Serialization.CrossModel/AttractMode.Deserializer.cs b/SabreTools.Serialization.CrossModel/AttractMode.Deserializer.cs index 9019ffbf..80af4ed7 100644 --- a/SabreTools.Serialization.CrossModel/AttractMode.Deserializer.cs +++ b/SabreTools.Serialization.CrossModel/AttractMode.Deserializer.cs @@ -78,7 +78,7 @@ namespace SabreTools.Serialization.CrossModel Tags = parent.ReadString(Data.Models.Metadata.Machine.TagsKey), PlayedCount = parent.ReadString(Data.Models.Metadata.Machine.PlayedCountKey), PlayedTime = parent.ReadString(Data.Models.Metadata.Machine.PlayedTimeKey), - FileIsAvailable = item.ReadString(Data.Models.Metadata.Rom.FileIsAvailableKey), + FileIsAvailable = item.FileIsAvailable, }; return row; } diff --git a/SabreTools.Serialization.CrossModel/AttractMode.Serializer.cs b/SabreTools.Serialization.CrossModel/AttractMode.Serializer.cs index 1ae5ab1e..ccb23543 100644 --- a/SabreTools.Serialization.CrossModel/AttractMode.Serializer.cs +++ b/SabreTools.Serialization.CrossModel/AttractMode.Serializer.cs @@ -80,7 +80,7 @@ namespace SabreTools.Serialization.CrossModel Name = item.Title, [Data.Models.Metadata.Rom.AltRomnameKey] = item.AltRomname, [Data.Models.Metadata.Rom.AltTitleKey] = item.AltTitle, - [Data.Models.Metadata.Rom.FileIsAvailableKey] = item.FileIsAvailable, + FileIsAvailable = item.FileIsAvailable, }; return rom; } diff --git a/SabreTools.Serialization.CrossModel/ClrMamePro.Deserializer.cs b/SabreTools.Serialization.CrossModel/ClrMamePro.Deserializer.cs index decc19fb..89ea67f7 100644 --- a/SabreTools.Serialization.CrossModel/ClrMamePro.Deserializer.cs +++ b/SabreTools.Serialization.CrossModel/ClrMamePro.Deserializer.cs @@ -56,7 +56,7 @@ namespace SabreTools.Serialization.CrossModel Header = item.ReadString(Data.Models.Metadata.Header.HeaderKey), Type = item.ReadString(Data.Models.Metadata.Header.TypeKey), ForceMerging = item.ReadString(Data.Models.Metadata.Header.ForceMergingKey), - ForceZipping = item.ReadString(Data.Models.Metadata.Header.ForceZippingKey), + ForceZipping = item.ForceZipping, ForcePacking = item.ReadString(Data.Models.Metadata.Header.ForcePackingKey), }; return clrMamePro; @@ -233,8 +233,8 @@ namespace SabreTools.Serialization.CrossModel Control = item.ReadString(Data.Models.Metadata.Input.ControlKey), Buttons = item.ReadString(Data.Models.Metadata.Input.ButtonsKey), Coins = item.ReadString(Data.Models.Metadata.Input.CoinsKey), - Tilt = item.ReadString(Data.Models.Metadata.Input.TiltKey), - Service = item.ReadString(Data.Models.Metadata.Input.ServiceKey), + Tilt = item.Tilt, + Service = item.Service, }; return input; } @@ -303,8 +303,8 @@ namespace SabreTools.Serialization.CrossModel Serial = item.ReadString(Data.Models.Metadata.Rom.SerialKey), Header = item.ReadString(Data.Models.Metadata.Rom.HeaderKey), Date = item.ReadString(Data.Models.Metadata.Rom.DateKey), - Inverted = item.ReadString(Data.Models.Metadata.Rom.InvertedKey), - MIA = item.ReadString(Data.Models.Metadata.Rom.MIAKey), + Inverted = item.Inverted, + MIA = item.MIA, }; return rom; } diff --git a/SabreTools.Serialization.CrossModel/ClrMamePro.Serializer.cs b/SabreTools.Serialization.CrossModel/ClrMamePro.Serializer.cs index 29f6c4e0..25aff94f 100644 --- a/SabreTools.Serialization.CrossModel/ClrMamePro.Serializer.cs +++ b/SabreTools.Serialization.CrossModel/ClrMamePro.Serializer.cs @@ -48,7 +48,7 @@ namespace SabreTools.Serialization.CrossModel [Data.Models.Metadata.Header.HeaderKey] = item.Header, [Data.Models.Metadata.Header.TypeKey] = item.Type, [Data.Models.Metadata.Header.ForceMergingKey] = item.ForceMerging, - [Data.Models.Metadata.Header.ForceZippingKey] = item.ForceZipping, + ForceZipping = item.ForceZipping, [Data.Models.Metadata.Header.ForcePackingKey] = item.ForcePacking, }; return header; @@ -246,8 +246,8 @@ namespace SabreTools.Serialization.CrossModel [Data.Models.Metadata.Input.ControlKey] = item.Control, [Data.Models.Metadata.Input.ButtonsKey] = item.Buttons, [Data.Models.Metadata.Input.CoinsKey] = item.Coins, - [Data.Models.Metadata.Input.TiltKey] = item.Tilt, - [Data.Models.Metadata.Input.ServiceKey] = item.Service, + Tilt = item.Tilt, + Service = item.Service, }; return input; } @@ -316,8 +316,8 @@ namespace SabreTools.Serialization.CrossModel [Data.Models.Metadata.Rom.SerialKey] = item.Serial, [Data.Models.Metadata.Rom.HeaderKey] = item.Header, [Data.Models.Metadata.Rom.DateKey] = item.Date, - [Data.Models.Metadata.Rom.InvertedKey] = item.Inverted, - [Data.Models.Metadata.Rom.MIAKey] = item.MIA, + Inverted = item.Inverted, + MIA = item.MIA, }; return rom; } diff --git a/SabreTools.Serialization.CrossModel/Listrom.Deserializer.cs b/SabreTools.Serialization.CrossModel/Listrom.Deserializer.cs index ac5806ef..20d48a95 100644 --- a/SabreTools.Serialization.CrossModel/Listrom.Deserializer.cs +++ b/SabreTools.Serialization.CrossModel/Listrom.Deserializer.cs @@ -27,7 +27,7 @@ namespace SabreTools.Serialization.CrossModel private static Set ConvertMachineFromInternalModel(Data.Models.Metadata.Machine item) { var set = new Set(); - if (item.ReadString(Data.Models.Metadata.Machine.IsDeviceKey) == "yes") + if (item.IsDevice == true) set.Device = item.Name; else set.Driver = item.Name; diff --git a/SabreTools.Serialization.CrossModel/Listrom.Serializer.cs b/SabreTools.Serialization.CrossModel/Listrom.Serializer.cs index 86844857..c167fc22 100644 --- a/SabreTools.Serialization.CrossModel/Listrom.Serializer.cs +++ b/SabreTools.Serialization.CrossModel/Listrom.Serializer.cs @@ -47,7 +47,7 @@ namespace SabreTools.Serialization.CrossModel if (!string.IsNullOrEmpty(item.Device)) { machine.Name = item.Device; - machine[Data.Models.Metadata.Machine.IsDeviceKey] = "yes"; + machine.IsDevice = true; } else { diff --git a/SabreTools.Serialization.CrossModel/Listxml.Deserializer.cs b/SabreTools.Serialization.CrossModel/Listxml.Deserializer.cs index f6c89311..5a828b7b 100644 --- a/SabreTools.Serialization.CrossModel/Listxml.Deserializer.cs +++ b/SabreTools.Serialization.CrossModel/Listxml.Deserializer.cs @@ -29,7 +29,7 @@ namespace SabreTools.Serialization.CrossModel var mame = new Mame { Build = item.ReadString(Data.Models.Metadata.Header.BuildKey), - Debug = item.ReadString(Data.Models.Metadata.Header.DebugKey), + Debug = item.Debug, MameConfig = item.ReadString(Data.Models.Metadata.Header.MameConfigKey), }; @@ -45,10 +45,10 @@ namespace SabreTools.Serialization.CrossModel { Name = item.Name, SourceFile = item.ReadString(Data.Models.Metadata.Machine.SourceFileKey), - IsBios = item.ReadString(Data.Models.Metadata.Machine.IsBiosKey), - IsDevice = item.ReadString(Data.Models.Metadata.Machine.IsDeviceKey), - IsMechanical = item.ReadString(Data.Models.Metadata.Machine.IsMechanicalKey), - Runnable = item.ReadString(Data.Models.Metadata.Machine.RunnableKey), + IsBios = item.IsBios, + IsDevice = item.IsDevice, + IsMechanical = item.IsMechanical, + Runnable = item.Runnable, CloneOf = item.ReadString(Data.Models.Metadata.Machine.CloneOfKey), RomOf = item.ReadString(Data.Models.Metadata.Machine.RomOfKey), SampleOf = item.ReadString(Data.Models.Metadata.Machine.SampleOfKey), @@ -195,7 +195,7 @@ namespace SabreTools.Serialization.CrossModel Name = item.Name, Tag = item.ReadString(Data.Models.Metadata.Chip.TagKey), Type = item.ReadString(Data.Models.Metadata.Chip.ChipTypeKey), - SoundOnly = item.ReadString(Data.Models.Metadata.Chip.SoundOnlyKey), + SoundOnly = item.SoundOnly, Clock = item.ReadString(Data.Models.Metadata.Chip.ClockKey), }; return chip; @@ -252,7 +252,7 @@ namespace SabreTools.Serialization.CrossModel { Name = item.Name, Number = item.ReadString(Data.Models.Metadata.ConfLocation.NumberKey), - Inverted = item.ReadString(Data.Models.Metadata.ConfLocation.InvertedKey), + Inverted = item.Inverted, }; return confLocation; } @@ -291,7 +291,7 @@ namespace SabreTools.Serialization.CrossModel Maximum = item.ReadString(Data.Models.Metadata.Control.MaximumKey), Sensitivity = item.ReadString(Data.Models.Metadata.Control.SensitivityKey), KeyDelta = item.ReadString(Data.Models.Metadata.Control.KeyDeltaKey), - Reverse = item.ReadString(Data.Models.Metadata.Control.ReverseKey), + Reverse = item.Reverse, Ways = item.ReadString(Data.Models.Metadata.Control.WaysKey), Ways2 = item.ReadString(Data.Models.Metadata.Control.Ways2Key), Ways3 = item.ReadString(Data.Models.Metadata.Control.Ways3Key), @@ -345,7 +345,7 @@ namespace SabreTools.Serialization.CrossModel { Name = item.Name, Number = item.ReadString(Data.Models.Metadata.DipLocation.NumberKey), - Inverted = item.ReadString(Data.Models.Metadata.DipLocation.InvertedKey), + Inverted = item.Inverted, }; return dipLocation; } @@ -409,9 +409,9 @@ namespace SabreTools.Serialization.CrossModel Merge = item.ReadString(Data.Models.Metadata.Disk.MergeKey), Region = item.ReadString(Data.Models.Metadata.Disk.RegionKey), Index = item.ReadString(Data.Models.Metadata.Disk.IndexKey), - Writable = item.ReadString(Data.Models.Metadata.Disk.WritableKey), + Writable = item.Writable, Status = item.ReadString(Data.Models.Metadata.Disk.StatusKey), - Optional = item.ReadString(Data.Models.Metadata.Disk.OptionalKey), + Optional = item.Optional, }; return disk; } @@ -426,7 +426,7 @@ namespace SabreTools.Serialization.CrossModel Tag = item.ReadString(Data.Models.Metadata.Display.TagKey), Type = item.ReadString(Data.Models.Metadata.Display.DisplayTypeKey), Rotate = item.ReadString(Data.Models.Metadata.Display.RotateKey), - FlipX = item.ReadString(Data.Models.Metadata.Display.FlipXKey), + FlipX = item.FlipX, Width = item.ReadString(Data.Models.Metadata.Display.WidthKey), Height = item.ReadString(Data.Models.Metadata.Display.HeightKey), Refresh = item.ReadString(Data.Models.Metadata.Display.RefreshKey), @@ -455,10 +455,10 @@ namespace SabreTools.Serialization.CrossModel Emulation = item.ReadString(Data.Models.Metadata.Driver.EmulationKey), Cocktail = item.ReadString(Data.Models.Metadata.Driver.CocktailKey), SaveState = item.ReadString(Data.Models.Metadata.Driver.SaveStateKey), - RequiresArtwork = item.ReadString(Data.Models.Metadata.Driver.RequiresArtworkKey), - Unofficial = item.ReadString(Data.Models.Metadata.Driver.UnofficialKey), - NoSoundHardware = item.ReadString(Data.Models.Metadata.Driver.NoSoundHardwareKey), - Incomplete = item.ReadString(Data.Models.Metadata.Driver.IncompleteKey), + RequiresArtwork = item.RequiresArtwork, + Unofficial = item.Unofficial, + NoSoundHardware = item.NoSoundHardware, + Incomplete = item.Incomplete, }; return driver; } @@ -496,8 +496,8 @@ namespace SabreTools.Serialization.CrossModel { var input = new Input { - Service = item.ReadString(Data.Models.Metadata.Input.ServiceKey), - Tilt = item.ReadString(Data.Models.Metadata.Input.TiltKey), + Service = item.Service, + Tilt = item.Tilt, Players = item.ReadString(Data.Models.Metadata.Input.PlayersKey), Buttons = item.ReadString(Data.Models.Metadata.Input.ButtonsKey), Coins = item.ReadString(Data.Models.Metadata.Input.CoinsKey), @@ -574,9 +574,9 @@ namespace SabreTools.Serialization.CrossModel Region = item.ReadString(Data.Models.Metadata.Rom.RegionKey), Offset = item.ReadString(Data.Models.Metadata.Rom.OffsetKey), Status = item.ReadString(Data.Models.Metadata.Rom.StatusKey), - Optional = item.ReadString(Data.Models.Metadata.Rom.OptionalKey), - Dispose = item.ReadString(Data.Models.Metadata.Rom.DisposeKey), - SoundOnly = item.ReadString(Data.Models.Metadata.Rom.SoundOnlyKey), + Optional = item.Optional, + Dispose = item.Dispose, + SoundOnly = item.SoundOnly, }; return rom; } diff --git a/SabreTools.Serialization.CrossModel/Listxml.Serializer.cs b/SabreTools.Serialization.CrossModel/Listxml.Serializer.cs index 8ffd89eb..335a5866 100644 --- a/SabreTools.Serialization.CrossModel/Listxml.Serializer.cs +++ b/SabreTools.Serialization.CrossModel/Listxml.Serializer.cs @@ -33,7 +33,7 @@ namespace SabreTools.Serialization.CrossModel var header = new Data.Models.Metadata.Header { [Data.Models.Metadata.Header.BuildKey] = item.Build, - [Data.Models.Metadata.Header.DebugKey] = item.Debug, + Debug = item.Debug, [Data.Models.Metadata.Header.MameConfigKey] = item.MameConfig, }; return header; @@ -48,10 +48,10 @@ namespace SabreTools.Serialization.CrossModel { Name = item.Name, [Data.Models.Metadata.Machine.SourceFileKey] = item.SourceFile, - [Data.Models.Metadata.Machine.IsBiosKey] = item.IsBios, - [Data.Models.Metadata.Machine.IsDeviceKey] = item.IsDevice, - [Data.Models.Metadata.Machine.IsMechanicalKey] = item.IsMechanical, - [Data.Models.Metadata.Machine.RunnableKey] = item.Runnable, + IsBios = item.IsBios, + IsDevice = item.IsDevice, + IsMechanical = item.IsMechanical, + Runnable = item.Runnable, [Data.Models.Metadata.Machine.CloneOfKey] = item.CloneOf, [Data.Models.Metadata.Machine.RomOfKey] = item.RomOf, [Data.Models.Metadata.Machine.SampleOfKey] = item.SampleOf, @@ -228,7 +228,7 @@ namespace SabreTools.Serialization.CrossModel Name = item.Name, [Data.Models.Metadata.Chip.TagKey] = item.Tag, [Data.Models.Metadata.Chip.ChipTypeKey] = item.Type, - [Data.Models.Metadata.Chip.SoundOnlyKey] = item.SoundOnly, + SoundOnly = item.SoundOnly, [Data.Models.Metadata.Chip.ClockKey] = item.Clock, }; return chip; @@ -288,7 +288,7 @@ namespace SabreTools.Serialization.CrossModel { Name = item.Name, [Data.Models.Metadata.ConfLocation.NumberKey] = item.Number, - [Data.Models.Metadata.ConfLocation.InvertedKey] = item.Inverted, + Inverted = item.Inverted, }; return confLocation; } @@ -326,7 +326,7 @@ namespace SabreTools.Serialization.CrossModel [Data.Models.Metadata.Control.MaximumKey] = item.Maximum, [Data.Models.Metadata.Control.SensitivityKey] = item.Sensitivity, [Data.Models.Metadata.Control.KeyDeltaKey] = item.KeyDelta, - [Data.Models.Metadata.Control.ReverseKey] = item.Reverse, + Reverse = item.Reverse, [Data.Models.Metadata.Control.WaysKey] = item.Ways, [Data.Models.Metadata.Control.Ways2Key] = item.Ways2, [Data.Models.Metadata.Control.Ways3Key] = item.Ways3, @@ -381,7 +381,7 @@ namespace SabreTools.Serialization.CrossModel { Name = item.Name, [Data.Models.Metadata.DipLocation.NumberKey] = item.Number, - [Data.Models.Metadata.DipLocation.InvertedKey] = item.Inverted, + Inverted = item.Inverted, }; return dipLocation; } @@ -447,9 +447,9 @@ namespace SabreTools.Serialization.CrossModel [Data.Models.Metadata.Disk.MergeKey] = item.Merge, [Data.Models.Metadata.Disk.RegionKey] = item.Region, [Data.Models.Metadata.Disk.IndexKey] = item.Index, - [Data.Models.Metadata.Disk.WritableKey] = item.Writable, + Writable = item.Writable, [Data.Models.Metadata.Disk.StatusKey] = item.Status, - [Data.Models.Metadata.Disk.OptionalKey] = item.Optional, + Optional = item.Optional, }; return disk; } @@ -464,7 +464,7 @@ namespace SabreTools.Serialization.CrossModel [Data.Models.Metadata.Display.TagKey] = item.Tag, [Data.Models.Metadata.Display.DisplayTypeKey] = item.Type, [Data.Models.Metadata.Display.RotateKey] = item.Rotate, - [Data.Models.Metadata.Display.FlipXKey] = item.FlipX, + FlipX = item.FlipX, [Data.Models.Metadata.Display.WidthKey] = item.Width, [Data.Models.Metadata.Display.HeightKey] = item.Height, [Data.Models.Metadata.Display.RefreshKey] = item.Refresh, @@ -493,10 +493,10 @@ namespace SabreTools.Serialization.CrossModel [Data.Models.Metadata.Driver.EmulationKey] = item.Emulation, [Data.Models.Metadata.Driver.CocktailKey] = item.Cocktail, [Data.Models.Metadata.Driver.SaveStateKey] = item.SaveState, - [Data.Models.Metadata.Driver.RequiresArtworkKey] = item.RequiresArtwork, - [Data.Models.Metadata.Driver.UnofficialKey] = item.Unofficial, - [Data.Models.Metadata.Driver.NoSoundHardwareKey] = item.NoSoundHardware, - [Data.Models.Metadata.Driver.IncompleteKey] = item.Incomplete, + RequiresArtwork = item.RequiresArtwork, + Unofficial = item.Unofficial, + NoSoundHardware = item.NoSoundHardware, + Incomplete = item.Incomplete, }; return driver; } @@ -534,8 +534,8 @@ namespace SabreTools.Serialization.CrossModel { var input = new Data.Models.Metadata.Input { - [Data.Models.Metadata.Input.ServiceKey] = item.Service, - [Data.Models.Metadata.Input.TiltKey] = item.Tilt, + Service = item.Service, + Tilt = item.Tilt, [Data.Models.Metadata.Input.PlayersKey] = item.Players, [Data.Models.Metadata.Input.ControlKey] = item.ControlAttr, [Data.Models.Metadata.Input.ButtonsKey] = item.Buttons, @@ -613,9 +613,9 @@ namespace SabreTools.Serialization.CrossModel [Data.Models.Metadata.Rom.RegionKey] = item.Region, [Data.Models.Metadata.Rom.OffsetKey] = item.Offset, [Data.Models.Metadata.Rom.StatusKey] = item.Status, - [Data.Models.Metadata.Rom.OptionalKey] = item.Optional, - [Data.Models.Metadata.Rom.DisposeKey] = item.Dispose, - [Data.Models.Metadata.Rom.SoundOnlyKey] = item.SoundOnly, + Optional = item.Optional, + Dispose = item.Dispose, + SoundOnly = item.SoundOnly, }; return rom; } diff --git a/SabreTools.Serialization.CrossModel/Logiqx.Deserializer.cs b/SabreTools.Serialization.CrossModel/Logiqx.Deserializer.cs index 1cc2a969..06946884 100644 --- a/SabreTools.Serialization.CrossModel/Logiqx.Deserializer.cs +++ b/SabreTools.Serialization.CrossModel/Logiqx.Deserializer.cs @@ -22,7 +22,7 @@ namespace SabreTools.Serialization.CrossModel if (header is not null) { datafile.Build = header.ReadString(Data.Models.Metadata.Header.BuildKey); - datafile.Debug = header.ReadString(Data.Models.Metadata.Header.DebugKey); + datafile.Debug = header.Debug; datafile.SchemaLocation = header.ReadString(Data.Models.Metadata.Header.SchemaLocationKey); datafile.Header = ConvertHeaderFromInternalModel(header); } @@ -81,9 +81,9 @@ namespace SabreTools.Serialization.CrossModel string? romMode = item.ReadString(Data.Models.Metadata.Header.RomModeKey); string? biosMode = item.ReadString(Data.Models.Metadata.Header.BiosModeKey); string? sampleMode = item.ReadString(Data.Models.Metadata.Header.SampleModeKey); - string? lockRomMode = item.ReadString(Data.Models.Metadata.Header.LockRomModeKey); - string? lockBiosMode = item.ReadString(Data.Models.Metadata.Header.LockBiosModeKey); - string? lockSampleMode = item.ReadString(Data.Models.Metadata.Header.LockSampleModeKey); + bool? lockRomMode = item.LockRomMode; + bool? lockBiosMode = item.LockBiosMode; + bool? lockSampleMode = item.LockSampleMode; if (plugin is not null || romMode is not null @@ -122,9 +122,9 @@ namespace SabreTools.Serialization.CrossModel gameBase.Name = item.Name; gameBase.SourceFile = item.ReadString(Data.Models.Metadata.Machine.SourceFileKey); - gameBase.IsBios = item.ReadString(Data.Models.Metadata.Machine.IsBiosKey); - gameBase.IsDevice = item.ReadString(Data.Models.Metadata.Machine.IsDeviceKey); - gameBase.IsMechanical = item.ReadString(Data.Models.Metadata.Machine.IsMechanicalKey); + gameBase.IsBios = item.IsBios; + gameBase.IsDevice = item.IsDevice; + gameBase.IsMechanical = item.IsMechanical; gameBase.CloneOf = item.ReadString(Data.Models.Metadata.Machine.CloneOfKey); gameBase.RomOf = item.ReadString(Data.Models.Metadata.Machine.RomOfKey); gameBase.SampleOf = item.ReadString(Data.Models.Metadata.Machine.SampleOfKey); @@ -132,7 +132,7 @@ namespace SabreTools.Serialization.CrossModel gameBase.RebuildTo = item.ReadString(Data.Models.Metadata.Machine.RebuildToKey); gameBase.Id = item.ReadString(Data.Models.Metadata.Machine.IdKey); gameBase.CloneOfId = item.ReadString(Data.Models.Metadata.Machine.CloneOfIdKey); - gameBase.Runnable = item.ReadString(Data.Models.Metadata.Machine.RunnableKey); + gameBase.Runnable = item.Runnable; gameBase.Comment = item.ReadStringArray(Data.Models.Metadata.Machine.CommentKey); gameBase.Description = item.ReadString(Data.Models.Metadata.Machine.DescriptionKey); gameBase.Year = item.ReadString(Data.Models.Metadata.Machine.YearKey); @@ -253,10 +253,10 @@ namespace SabreTools.Serialization.CrossModel Emulation = item.ReadString(Data.Models.Metadata.Driver.EmulationKey), Cocktail = item.ReadString(Data.Models.Metadata.Driver.CocktailKey), SaveState = item.ReadString(Data.Models.Metadata.Driver.SaveStateKey), - RequiresArtwork = item.ReadString(Data.Models.Metadata.Driver.RequiresArtworkKey), - Unofficial = item.ReadString(Data.Models.Metadata.Driver.UnofficialKey), - NoSoundHardware = item.ReadString(Data.Models.Metadata.Driver.NoSoundHardwareKey), - Incomplete = item.ReadString(Data.Models.Metadata.Driver.IncompleteKey), + RequiresArtwork = item.RequiresArtwork, + Unofficial = item.Unofficial, + NoSoundHardware = item.NoSoundHardware, + Incomplete = item.Incomplete, }; return driver; } @@ -322,8 +322,8 @@ namespace SabreTools.Serialization.CrossModel Serial = item.ReadString(Data.Models.Metadata.Rom.SerialKey), Header = item.ReadString(Data.Models.Metadata.Rom.HeaderKey), Date = item.ReadString(Data.Models.Metadata.Rom.DateKey), - Inverted = item.ReadString(Data.Models.Metadata.Rom.InvertedKey), - MIA = item.ReadString(Data.Models.Metadata.Rom.MIAKey), + Inverted = item.Inverted, + MIA = item.MIA, }; return rom; } diff --git a/SabreTools.Serialization.CrossModel/Logiqx.Serializer.cs b/SabreTools.Serialization.CrossModel/Logiqx.Serializer.cs index ffefd9f4..b2d21245 100644 --- a/SabreTools.Serialization.CrossModel/Logiqx.Serializer.cs +++ b/SabreTools.Serialization.CrossModel/Logiqx.Serializer.cs @@ -40,7 +40,7 @@ namespace SabreTools.Serialization.CrossModel var header = item.Header is not null ? ConvertHeaderToInternalModel(item.Header) : []; header[Data.Models.Metadata.Header.BuildKey] = item.Build; - header[Data.Models.Metadata.Header.DebugKey] = item.Debug; + header.Debug = item.Debug; header[Data.Models.Metadata.Header.SchemaLocationKey] = item.SchemaLocation; return header; @@ -82,9 +82,9 @@ namespace SabreTools.Serialization.CrossModel header[Data.Models.Metadata.Header.RomModeKey] = item.RomCenter.RomMode; header[Data.Models.Metadata.Header.BiosModeKey] = item.RomCenter.BiosMode; header[Data.Models.Metadata.Header.SampleModeKey] = item.RomCenter.SampleMode; - header[Data.Models.Metadata.Header.LockRomModeKey] = item.RomCenter.LockRomMode; - header[Data.Models.Metadata.Header.LockBiosModeKey] = item.RomCenter.LockBiosMode; - header[Data.Models.Metadata.Header.LockSampleModeKey] = item.RomCenter.LockSampleMode; + header.LockRomMode = item.RomCenter.LockRomMode; + header.LockBiosMode = item.RomCenter.LockBiosMode; + header.LockSampleMode = item.RomCenter.LockSampleMode; } return header; @@ -128,9 +128,9 @@ namespace SabreTools.Serialization.CrossModel { Name = machineName, [Data.Models.Metadata.Machine.SourceFileKey] = item.SourceFile, - [Data.Models.Metadata.Machine.IsBiosKey] = item.IsBios, - [Data.Models.Metadata.Machine.IsDeviceKey] = item.IsDevice, - [Data.Models.Metadata.Machine.IsMechanicalKey] = item.IsMechanical, + IsBios = item.IsBios, + IsDevice = item.IsDevice, + IsMechanical = item.IsMechanical, [Data.Models.Metadata.Machine.CloneOfKey] = item.CloneOf, [Data.Models.Metadata.Machine.RomOfKey] = item.RomOf, [Data.Models.Metadata.Machine.SampleOfKey] = item.SampleOf, @@ -138,7 +138,7 @@ namespace SabreTools.Serialization.CrossModel [Data.Models.Metadata.Machine.RebuildToKey] = item.RebuildTo, [Data.Models.Metadata.Machine.IdKey] = item.Id, [Data.Models.Metadata.Machine.CloneOfIdKey] = item.CloneOfId, - [Data.Models.Metadata.Machine.RunnableKey] = item.Runnable, + Runnable = item.Runnable, [Data.Models.Metadata.Machine.CommentKey] = item.Comment, [Data.Models.Metadata.Machine.DescriptionKey] = item.Description, [Data.Models.Metadata.Machine.YearKey] = item.Year, @@ -247,10 +247,10 @@ namespace SabreTools.Serialization.CrossModel [Data.Models.Metadata.Driver.EmulationKey] = item.Emulation, [Data.Models.Metadata.Driver.CocktailKey] = item.Cocktail, [Data.Models.Metadata.Driver.SaveStateKey] = item.SaveState, - [Data.Models.Metadata.Driver.RequiresArtworkKey] = item.RequiresArtwork, - [Data.Models.Metadata.Driver.UnofficialKey] = item.Unofficial, - [Data.Models.Metadata.Driver.NoSoundHardwareKey] = item.NoSoundHardware, - [Data.Models.Metadata.Driver.IncompleteKey] = item.Incomplete, + RequiresArtwork = item.RequiresArtwork, + Unofficial = item.Unofficial, + NoSoundHardware = item.NoSoundHardware, + Incomplete = item.Incomplete, }; return driver; } @@ -316,8 +316,8 @@ namespace SabreTools.Serialization.CrossModel [Data.Models.Metadata.Rom.SerialKey] = item.Serial, [Data.Models.Metadata.Rom.HeaderKey] = item.Header, [Data.Models.Metadata.Rom.DateKey] = item.Date, - [Data.Models.Metadata.Rom.InvertedKey] = item.Inverted, - [Data.Models.Metadata.Rom.MIAKey] = item.MIA, + Inverted = item.Inverted, + MIA = item.MIA, }; return rom; } diff --git a/SabreTools.Serialization.CrossModel/SabreTools.Serialization.CrossModel.csproj b/SabreTools.Serialization.CrossModel/SabreTools.Serialization.CrossModel.csproj index ed57e9a1..d1ee4aa5 100644 --- a/SabreTools.Serialization.CrossModel/SabreTools.Serialization.CrossModel.csproj +++ b/SabreTools.Serialization.CrossModel/SabreTools.Serialization.CrossModel.csproj @@ -35,6 +35,7 @@ + diff --git a/SabreTools.Serialization.CrossModel/SoftwareList.Deserializer.cs b/SabreTools.Serialization.CrossModel/SoftwareList.Deserializer.cs index 911dd26c..987962da 100644 --- a/SabreTools.Serialization.CrossModel/SoftwareList.Deserializer.cs +++ b/SabreTools.Serialization.CrossModel/SoftwareList.Deserializer.cs @@ -130,7 +130,7 @@ namespace SabreTools.Serialization.CrossModel MD5 = item.ReadString(Data.Models.Metadata.Disk.MD5Key), SHA1 = item.ReadString(Data.Models.Metadata.Disk.SHA1Key), Status = item.ReadString(Data.Models.Metadata.Disk.StatusKey), - Writeable = item.ReadString(Data.Models.Metadata.Disk.WritableKey), + Writeable = item.Writable, }; return disk; } diff --git a/SabreTools.Serialization.CrossModel/SoftwareList.Serializer.cs b/SabreTools.Serialization.CrossModel/SoftwareList.Serializer.cs index 73318d52..7fcdeee8 100644 --- a/SabreTools.Serialization.CrossModel/SoftwareList.Serializer.cs +++ b/SabreTools.Serialization.CrossModel/SoftwareList.Serializer.cs @@ -129,7 +129,7 @@ namespace SabreTools.Serialization.CrossModel [Data.Models.Metadata.Disk.MD5Key] = item.MD5, [Data.Models.Metadata.Disk.SHA1Key] = item.SHA1, [Data.Models.Metadata.Disk.StatusKey] = item.Status, - [Data.Models.Metadata.Disk.WritableKey] = item.Writeable, + Writable = item.Writeable, }; return disk; } diff --git a/SabreTools.Serialization.Readers.Test/AttractModeTests.cs b/SabreTools.Serialization.Readers.Test/AttractModeTests.cs index 6134ee51..70bd264d 100644 --- a/SabreTools.Serialization.Readers.Test/AttractModeTests.cs +++ b/SabreTools.Serialization.Readers.Test/AttractModeTests.cs @@ -150,7 +150,7 @@ namespace SabreTools.Serialization.Readers.Test Tags = "XXXXXX", PlayedCount = "XXXXXX", PlayedTime = "XXXXXX", - FileIsAvailable = "XXXXXX", + FileIsAvailable = true, }; return new Data.Models.AttractMode.MetadataFile @@ -201,7 +201,7 @@ namespace SabreTools.Serialization.Readers.Test Assert.Equal("XXXXXX", row.Tags); Assert.Equal("XXXXXX", row.PlayedCount); Assert.Equal("XXXXXX", row.PlayedTime); - Assert.Equal("XXXXXX", row.FileIsAvailable); + Assert.Equal(true, row.FileIsAvailable); } else { diff --git a/SabreTools.Serialization.Readers.Test/ClrMameProTests.cs b/SabreTools.Serialization.Readers.Test/ClrMameProTests.cs index 8539c4b7..e2d4abb2 100644 --- a/SabreTools.Serialization.Readers.Test/ClrMameProTests.cs +++ b/SabreTools.Serialization.Readers.Test/ClrMameProTests.cs @@ -191,7 +191,7 @@ namespace SabreTools.Serialization.Readers.Test Header = "XXXXXX", Type = "XXXXXX", ForceMerging = "XXXXXX", - ForceZipping = "XXXXXX", + ForceZipping = true, ForcePacking = "XXXXXX", }; @@ -238,8 +238,8 @@ namespace SabreTools.Serialization.Readers.Test Offs = "XXXXXX", Serial = "XXXXXX", Header = "XXXXXX", - Inverted = "XXXXXX", - MIA = "XXXXXX", + Inverted = true, + MIA = true, }; var disk = new Data.Models.ClrMamePro.Disk @@ -301,8 +301,8 @@ namespace SabreTools.Serialization.Readers.Test Control = "XXXXXX", Buttons = "XXXXXX", Coins = "XXXXXX", - Tilt = "XXXXXX", - Service = "XXXXXX", + Tilt = true, + Service = true, }; var dipswitch = new Data.Models.ClrMamePro.DipSwitch @@ -380,7 +380,7 @@ namespace SabreTools.Serialization.Readers.Test Assert.Equal("XXXXXX", cmp.Header); Assert.Equal("XXXXXX", cmp.Type); Assert.Equal("XXXXXX", cmp.ForceMerging); - Assert.Equal("XXXXXX", cmp.ForceZipping); + Assert.Equal(true, cmp.ForceZipping); Assert.Equal("XXXXXX", cmp.ForcePacking); } @@ -501,8 +501,8 @@ namespace SabreTools.Serialization.Readers.Test Assert.Equal("XXXXXX", rom.Offs); Assert.Equal("XXXXXX", rom.Serial); Assert.Equal("XXXXXX", rom.Header); - Assert.Equal("XXXXXX", rom.Inverted); - Assert.Equal("XXXXXX", rom.MIA); + Assert.Equal(true, rom.Inverted); + Assert.Equal(true, rom.MIA); } /// @@ -596,8 +596,8 @@ namespace SabreTools.Serialization.Readers.Test Assert.Equal("XXXXXX", input.Control); Assert.Equal("XXXXXX", input.Buttons); Assert.Equal("XXXXXX", input.Coins); - Assert.Equal("XXXXXX", input.Tilt); - Assert.Equal("XXXXXX", input.Service); + Assert.Equal(true, input.Tilt); + Assert.Equal(true, input.Service); } /// diff --git a/SabreTools.Serialization.Readers.Test/ListxmlTests.cs b/SabreTools.Serialization.Readers.Test/ListxmlTests.cs index 12c75f96..0b58b6b7 100644 --- a/SabreTools.Serialization.Readers.Test/ListxmlTests.cs +++ b/SabreTools.Serialization.Readers.Test/ListxmlTests.cs @@ -89,7 +89,7 @@ namespace SabreTools.Serialization.Readers.Test // Validate the data Assert.NotNull(newMame); Assert.Equal("XXXXXX", newMame.Build); - Assert.Equal("XXXXXX", newMame.Debug); + Assert.Equal(true, newMame.Debug); Assert.Equal("XXXXXX", newMame.MameConfig); Assert.NotNull(newMame.Game); @@ -117,7 +117,7 @@ namespace SabreTools.Serialization.Readers.Test // Validate the data Assert.NotNull(newMame); Assert.Equal("XXXXXX", newMame.Build); - Assert.Equal("XXXXXX", newMame.Debug); + Assert.Equal(true, newMame.Debug); Assert.Equal("XXXXXX", newMame.MameConfig); Assert.NotNull(newMame.Game); @@ -148,9 +148,9 @@ namespace SabreTools.Serialization.Readers.Test Region = "XXXXXX", Offset = "XXXXXX", Status = "XXXXXX", - Optional = "XXXXXX", - Dispose = "XXXXXX", - SoundOnly = "XXXXXX", + Optional = true, + Dispose = true, + SoundOnly = true, }; var disk = new Data.Models.Listxml.Disk @@ -161,9 +161,9 @@ namespace SabreTools.Serialization.Readers.Test Merge = "XXXXXX", Region = "XXXXXX", Index = "XXXXXX", - Writable = "XXXXXX", + Writable = true, Status = "XXXXXX", - Optional = "XXXXXX", + Optional = true, }; var deviceref = new Data.Models.Listxml.DeviceRef @@ -181,7 +181,7 @@ namespace SabreTools.Serialization.Readers.Test Name = "XXXXXX", Tag = "XXXXXX", Type = "XXXXXX", - SoundOnly = "XXXXXX", + SoundOnly = true, Clock = "XXXXXX", }; @@ -190,7 +190,7 @@ namespace SabreTools.Serialization.Readers.Test Tag = "XXXXXX", Type = "XXXXXX", Rotate = "XXXXXX", - FlipX = "XXXXXX", + FlipX = true, Width = "XXXXXX", Height = "XXXXXX", Refresh = "XXXXXX", @@ -229,7 +229,7 @@ namespace SabreTools.Serialization.Readers.Test Maximum = "XXXXXX", Sensitivity = "XXXXXX", KeyDelta = "XXXXXX", - Reverse = "XXXXXX", + Reverse = true, Ways = "XXXXXX", Ways2 = "XXXXXX", Ways3 = "XXXXXX", @@ -237,8 +237,8 @@ namespace SabreTools.Serialization.Readers.Test var input = new Data.Models.Listxml.Input { - Service = "XXXXXX", - Tilt = "XXXXXX", + Service = true, + Tilt = true, Players = "XXXXXX", ControlAttr = "XXXXXX", Buttons = "XXXXXX", @@ -258,7 +258,7 @@ namespace SabreTools.Serialization.Readers.Test { Name = "XXXXXX", Number = "XXXXXX", - Inverted = "XXXXXX", + Inverted = true, }; var dipvalue = new Data.Models.Listxml.DipValue @@ -283,7 +283,7 @@ namespace SabreTools.Serialization.Readers.Test { Name = "XXXXXX", Number = "XXXXXX", - Inverted = "XXXXXX", + Inverted = true, }; var confsetting = new Data.Models.Listxml.ConfSetting @@ -331,10 +331,10 @@ namespace SabreTools.Serialization.Readers.Test Emulation = "XXXXXX", Cocktail = "XXXXXX", SaveState = "XXXXXX", - RequiresArtwork = "XXXXXX", - Unofficial = "XXXXXX", - NoSoundHardware = "XXXXXX", - Incomplete = "XXXXXX", + RequiresArtwork = true, + Unofficial = true, + NoSoundHardware = true, + Incomplete = true, }; var feature = new Data.Models.Listxml.Feature @@ -399,10 +399,10 @@ namespace SabreTools.Serialization.Readers.Test : new Data.Models.Listxml.Machine(); gameBase.Name = "XXXXXX"; gameBase.SourceFile = "XXXXXX"; - gameBase.IsBios = "XXXXXX"; - gameBase.IsDevice = "XXXXXX"; - gameBase.IsMechanical = "XXXXXX"; - gameBase.Runnable = "XXXXXX"; + gameBase.IsBios = true; + gameBase.IsDevice = true; + gameBase.IsMechanical = true; + gameBase.Runnable = true; gameBase.CloneOf = "XXXXXX"; gameBase.RomOf = "XXXXXX"; gameBase.SampleOf = "XXXXXX"; @@ -434,7 +434,7 @@ namespace SabreTools.Serialization.Readers.Test return new Data.Models.Listxml.Mame { Build = "XXXXXX", - Debug = "XXXXXX", + Debug = true, MameConfig = "XXXXXX", Game = [gameBase], }; @@ -448,10 +448,10 @@ namespace SabreTools.Serialization.Readers.Test Assert.NotNull(gb); Assert.Equal("XXXXXX", gb.Name); Assert.Equal("XXXXXX", gb.SourceFile); - Assert.Equal("XXXXXX", gb.IsBios); - Assert.Equal("XXXXXX", gb.IsDevice); - Assert.Equal("XXXXXX", gb.IsMechanical); - Assert.Equal("XXXXXX", gb.Runnable); + Assert.Equal(true, gb.IsBios); + Assert.Equal(true, gb.IsDevice); + Assert.Equal(true, gb.IsMechanical); + Assert.Equal(true, gb.Runnable); Assert.Equal("XXXXXX", gb.CloneOf); Assert.Equal("XXXXXX", gb.RomOf); Assert.Equal("XXXXXX", gb.SampleOf); @@ -560,9 +560,9 @@ namespace SabreTools.Serialization.Readers.Test Assert.Equal("XXXXXX", rom.Region); Assert.Equal("XXXXXX", rom.Offset); Assert.Equal("XXXXXX", rom.Status); - Assert.Equal("XXXXXX", rom.Optional); - Assert.Equal("XXXXXX", rom.Dispose); - Assert.Equal("XXXXXX", rom.SoundOnly); + Assert.Equal(true, rom.Optional); + Assert.Equal(true, rom.Dispose); + Assert.Equal(true, rom.SoundOnly); } /// @@ -577,9 +577,9 @@ namespace SabreTools.Serialization.Readers.Test Assert.Equal("XXXXXX", disk.Merge); Assert.Equal("XXXXXX", disk.Region); Assert.Equal("XXXXXX", disk.Index); - Assert.Equal("XXXXXX", disk.Writable); + Assert.Equal(true, disk.Writable); Assert.Equal("XXXXXX", disk.Status); - Assert.Equal("XXXXXX", disk.Optional); + Assert.Equal(true, disk.Optional); } /// @@ -609,7 +609,7 @@ namespace SabreTools.Serialization.Readers.Test Assert.Equal("XXXXXX", chip.Name); Assert.Equal("XXXXXX", chip.Tag); Assert.Equal("XXXXXX", chip.Type); - Assert.Equal("XXXXXX", chip.SoundOnly); + Assert.Equal(true, chip.SoundOnly); Assert.Equal("XXXXXX", chip.Clock); } @@ -622,7 +622,7 @@ namespace SabreTools.Serialization.Readers.Test Assert.Equal("XXXXXX", display.Tag); Assert.Equal("XXXXXX", display.Type); Assert.Equal("XXXXXX", display.Rotate); - Assert.Equal("XXXXXX", display.FlipX); + Assert.Equal(true, display.FlipX); Assert.Equal("XXXXXX", display.Width); Assert.Equal("XXXXXX", display.Height); Assert.Equal("XXXXXX", display.Refresh); @@ -665,8 +665,8 @@ namespace SabreTools.Serialization.Readers.Test private static void Validate(Data.Models.Listxml.Input? input) { Assert.NotNull(input); - Assert.Equal("XXXXXX", input.Service); - Assert.Equal("XXXXXX", input.Tilt); + Assert.Equal(true, input.Service); + Assert.Equal(true, input.Tilt); Assert.Equal("XXXXXX", input.Players); Assert.Equal("XXXXXX", input.ControlAttr); // Mututally exclusive with input.Control Assert.Equal("XXXXXX", input.Buttons); @@ -691,7 +691,7 @@ namespace SabreTools.Serialization.Readers.Test Assert.Equal("XXXXXX", control.Maximum); Assert.Equal("XXXXXX", control.Sensitivity); Assert.Equal("XXXXXX", control.KeyDelta); - Assert.Equal("XXXXXX", control.Reverse); + Assert.Equal(true, control.Reverse); Assert.Equal("XXXXXX", control.Ways); Assert.Equal("XXXXXX", control.Ways2); Assert.Equal("XXXXXX", control.Ways3); @@ -737,7 +737,7 @@ namespace SabreTools.Serialization.Readers.Test Assert.NotNull(diplocation); Assert.Equal("XXXXXX", diplocation.Name); Assert.Equal("XXXXXX", diplocation.Number); - Assert.Equal("XXXXXX", diplocation.Inverted); + Assert.Equal(true, diplocation.Inverted); } /// @@ -780,7 +780,7 @@ namespace SabreTools.Serialization.Readers.Test Assert.NotNull(conflocation); Assert.Equal("XXXXXX", conflocation.Name); Assert.Equal("XXXXXX", conflocation.Number); - Assert.Equal("XXXXXX", conflocation.Inverted); + Assert.Equal(true, conflocation.Inverted); } /// @@ -841,10 +841,10 @@ namespace SabreTools.Serialization.Readers.Test Assert.Equal("XXXXXX", driver.Emulation); Assert.Equal("XXXXXX", driver.Cocktail); Assert.Equal("XXXXXX", driver.SaveState); - Assert.Equal("XXXXXX", driver.RequiresArtwork); - Assert.Equal("XXXXXX", driver.Unofficial); - Assert.Equal("XXXXXX", driver.NoSoundHardware); - Assert.Equal("XXXXXX", driver.Incomplete); + Assert.Equal(true, driver.RequiresArtwork); + Assert.Equal(true, driver.Unofficial); + Assert.Equal(true, driver.NoSoundHardware); + Assert.Equal(true, driver.Incomplete); } /// diff --git a/SabreTools.Serialization.Readers.Test/LogiqxTests.cs b/SabreTools.Serialization.Readers.Test/LogiqxTests.cs index e2918439..4cf70aed 100644 --- a/SabreTools.Serialization.Readers.Test/LogiqxTests.cs +++ b/SabreTools.Serialization.Readers.Test/LogiqxTests.cs @@ -89,7 +89,7 @@ namespace SabreTools.Serialization.Readers.Test // Validate the data Assert.NotNull(newDf); Assert.Equal("XXXXXX", newDf.Build); - Assert.Equal("XXXXXX", newDf.Debug); + Assert.Equal(true, newDf.Debug); // Assert.Equal("XXXXXX", newDf.SchemaLocation); // TODO: Fix this based on No-Intro DATs Validate(newDf.Header); @@ -121,7 +121,7 @@ namespace SabreTools.Serialization.Readers.Test // Validate the data Assert.NotNull(newDf); Assert.Equal("XXXXXX", newDf.Build); - Assert.Equal("XXXXXX", newDf.Debug); + Assert.Equal(true, newDf.Debug); // Assert.Equal("XXXXXX", newDf.SchemaLocation); // TODO: Fix this based on No-Intro DATs Validate(newDf.Header); @@ -152,9 +152,9 @@ namespace SabreTools.Serialization.Readers.Test RomMode = "XXXXXX", BiosMode = "XXXXXX", SampleMode = "XXXXXX", - LockRomMode = "XXXXXX", - LockBiosMode = "XXXXXX", - LockSampleMode = "XXXXXX", + LockRomMode = true, + LockBiosMode = true, + LockSampleMode = true, }; var header = new Data.Models.Logiqx.Header @@ -234,8 +234,8 @@ namespace SabreTools.Serialization.Readers.Test Serial = "XXXXXX", Header = "XXXXXX", Date = "XXXXXX", - Inverted = "XXXXXX", - MIA = "XXXXXX", + Inverted = true, + MIA = true, }; var disk = new Data.Models.Logiqx.Disk @@ -278,10 +278,10 @@ namespace SabreTools.Serialization.Readers.Test Emulation = "XXXXXX", Cocktail = "XXXXXX", SaveState = "XXXXXX", - RequiresArtwork = "XXXXXX", - Unofficial = "XXXXXX", - NoSoundHardware = "XXXXXX", - Incomplete = "XXXXXX", + RequiresArtwork = true, + Unofficial = true, + NoSoundHardware = true, + Incomplete = true, }; var softwarelist = new Data.Models.Logiqx.SoftwareList @@ -297,9 +297,9 @@ namespace SabreTools.Serialization.Readers.Test : new Data.Models.Logiqx.Machine(); gameBase.Name = "XXXXXX"; gameBase.SourceFile = "XXXXXX"; - gameBase.IsBios = "XXXXXX"; - gameBase.IsDevice = "XXXXXX"; - gameBase.IsMechanical = "XXXXXX"; + gameBase.IsBios = true; + gameBase.IsDevice = true; + gameBase.IsMechanical = true; gameBase.CloneOf = "XXXXXX"; gameBase.RomOf = "XXXXXX"; gameBase.SampleOf = "XXXXXX"; @@ -307,7 +307,7 @@ namespace SabreTools.Serialization.Readers.Test gameBase.RebuildTo = "XXXXXX"; gameBase.Id = "XXXXXX"; gameBase.CloneOfId = "XXXXXX"; - gameBase.Runnable = "XXXXXX"; + gameBase.Runnable = true; gameBase.Comment = ["XXXXXX"]; gameBase.Description = "XXXXXX"; gameBase.Year = "XXXXXX"; @@ -329,7 +329,7 @@ namespace SabreTools.Serialization.Readers.Test return new Data.Models.Logiqx.Datafile { Build = "XXXXXX", - Debug = "XXXXXX", + Debug = true, SchemaLocation = "XXXXXX", Header = header, Game = [gameBase], @@ -382,9 +382,9 @@ namespace SabreTools.Serialization.Readers.Test Assert.Equal("XXXXXX", rc.RomMode); Assert.Equal("XXXXXX", rc.BiosMode); Assert.Equal("XXXXXX", rc.SampleMode); - Assert.Equal("XXXXXX", rc.LockRomMode); - Assert.Equal("XXXXXX", rc.LockBiosMode); - Assert.Equal("XXXXXX", rc.LockSampleMode); + Assert.Equal(true, rc.LockRomMode); + Assert.Equal(true, rc.LockBiosMode); + Assert.Equal(true, rc.LockSampleMode); } /// @@ -395,9 +395,9 @@ namespace SabreTools.Serialization.Readers.Test Assert.NotNull(gb); Assert.Equal("XXXXXX", gb.Name); Assert.Equal("XXXXXX", gb.SourceFile); - Assert.Equal("XXXXXX", gb.IsBios); - Assert.Equal("XXXXXX", gb.IsDevice); - Assert.Equal("XXXXXX", gb.IsMechanical); + Assert.Equal(true, gb.IsBios); + Assert.Equal(true, gb.IsDevice); + Assert.Equal(true, gb.IsMechanical); Assert.Equal("XXXXXX", gb.CloneOf); Assert.Equal("XXXXXX", gb.RomOf); Assert.Equal("XXXXXX", gb.SampleOf); @@ -405,7 +405,7 @@ namespace SabreTools.Serialization.Readers.Test Assert.Equal("XXXXXX", gb.RebuildTo); Assert.Equal("XXXXXX", gb.Id); Assert.Equal("XXXXXX", gb.CloneOfId); - Assert.Equal("XXXXXX", gb.Runnable); + Assert.Equal(true, gb.Runnable); Assert.NotNull(gb.Comment); string comment = Assert.Single(gb.Comment); @@ -533,8 +533,8 @@ namespace SabreTools.Serialization.Readers.Test Assert.Equal("XXXXXX", rom.Serial); Assert.Equal("XXXXXX", rom.Header); Assert.Equal("XXXXXX", rom.Date); - Assert.Equal("XXXXXX", rom.Inverted); - Assert.Equal("XXXXXX", rom.MIA); + Assert.Equal(true, rom.Inverted); + Assert.Equal(true, rom.MIA); } /// @@ -601,10 +601,10 @@ namespace SabreTools.Serialization.Readers.Test Assert.Equal("XXXXXX", driver.Emulation); Assert.Equal("XXXXXX", driver.Cocktail); Assert.Equal("XXXXXX", driver.SaveState); - Assert.Equal("XXXXXX", driver.RequiresArtwork); - Assert.Equal("XXXXXX", driver.Unofficial); - Assert.Equal("XXXXXX", driver.NoSoundHardware); - Assert.Equal("XXXXXX", driver.Incomplete); + Assert.Equal(true, driver.RequiresArtwork); + Assert.Equal(true, driver.Unofficial); + Assert.Equal(true, driver.NoSoundHardware); + Assert.Equal(true, driver.Incomplete); } /// diff --git a/SabreTools.Serialization.Readers.Test/M1Tests.cs b/SabreTools.Serialization.Readers.Test/M1Tests.cs index 090d6a64..5f955026 100644 --- a/SabreTools.Serialization.Readers.Test/M1Tests.cs +++ b/SabreTools.Serialization.Readers.Test/M1Tests.cs @@ -144,9 +144,9 @@ namespace SabreTools.Serialization.Readers.Test Region = "XXXXXX", Offset = "XXXXXX", Status = "XXXXXX", - Optional = "XXXXXX", - Dispose = "XXXXXX", - SoundOnly = "XXXXXX", + Optional = true, + Dispose = true, + SoundOnly = true, }; var disk = new Data.Models.Listxml.Disk @@ -157,9 +157,9 @@ namespace SabreTools.Serialization.Readers.Test Merge = "XXXXXX", Region = "XXXXXX", Index = "XXXXXX", - Writable = "XXXXXX", + Writable = true, Status = "XXXXXX", - Optional = "XXXXXX", + Optional = true, }; var deviceref = new Data.Models.Listxml.DeviceRef @@ -177,7 +177,7 @@ namespace SabreTools.Serialization.Readers.Test Name = "XXXXXX", Tag = "XXXXXX", Type = "XXXXXX", - SoundOnly = "XXXXXX", + SoundOnly = true, Clock = "XXXXXX", }; @@ -186,7 +186,7 @@ namespace SabreTools.Serialization.Readers.Test Tag = "XXXXXX", Type = "XXXXXX", Rotate = "XXXXXX", - FlipX = "XXXXXX", + FlipX = true, Width = "XXXXXX", Height = "XXXXXX", Refresh = "XXXXXX", @@ -225,7 +225,7 @@ namespace SabreTools.Serialization.Readers.Test Maximum = "XXXXXX", Sensitivity = "XXXXXX", KeyDelta = "XXXXXX", - Reverse = "XXXXXX", + Reverse = true, Ways = "XXXXXX", Ways2 = "XXXXXX", Ways3 = "XXXXXX", @@ -233,8 +233,8 @@ namespace SabreTools.Serialization.Readers.Test var input = new Data.Models.Listxml.Input { - Service = "XXXXXX", - Tilt = "XXXXXX", + Service = true, + Tilt = true, Players = "XXXXXX", //ControlAttr = "XXXXXX", // Mututally exclusive with input.Control Buttons = "XXXXXX", @@ -254,7 +254,7 @@ namespace SabreTools.Serialization.Readers.Test { Name = "XXXXXX", Number = "XXXXXX", - Inverted = "XXXXXX", + Inverted = true, }; var dipvalue = new Data.Models.Listxml.DipValue @@ -279,7 +279,7 @@ namespace SabreTools.Serialization.Readers.Test { Name = "XXXXXX", Number = "XXXXXX", - Inverted = "XXXXXX", + Inverted = true, }; var confsetting = new Data.Models.Listxml.ConfSetting @@ -327,10 +327,10 @@ namespace SabreTools.Serialization.Readers.Test Emulation = "XXXXXX", Cocktail = "XXXXXX", SaveState = "XXXXXX", - RequiresArtwork = "XXXXXX", - Unofficial = "XXXXXX", - NoSoundHardware = "XXXXXX", - Incomplete = "XXXXXX", + RequiresArtwork = true, + Unofficial = true, + NoSoundHardware = true, + Incomplete = true, }; var feature = new Data.Models.Listxml.Feature @@ -395,10 +395,10 @@ namespace SabreTools.Serialization.Readers.Test : new Data.Models.Listxml.Machine(); gameBase.Name = "XXXXXX"; gameBase.SourceFile = "XXXXXX"; - gameBase.IsBios = "XXXXXX"; - gameBase.IsDevice = "XXXXXX"; - gameBase.IsMechanical = "XXXXXX"; - gameBase.Runnable = "XXXXXX"; + gameBase.IsBios = true; + gameBase.IsDevice = true; + gameBase.IsMechanical = true; + gameBase.Runnable = true; gameBase.CloneOf = "XXXXXX"; gameBase.RomOf = "XXXXXX"; gameBase.SampleOf = "XXXXXX"; @@ -442,10 +442,10 @@ namespace SabreTools.Serialization.Readers.Test Assert.NotNull(gb); Assert.Equal("XXXXXX", gb.Name); Assert.Equal("XXXXXX", gb.SourceFile); - Assert.Equal("XXXXXX", gb.IsBios); - Assert.Equal("XXXXXX", gb.IsDevice); - Assert.Equal("XXXXXX", gb.IsMechanical); - Assert.Equal("XXXXXX", gb.Runnable); + Assert.Equal(true, gb.IsBios); + Assert.Equal(true, gb.IsDevice); + Assert.Equal(true, gb.IsMechanical); + Assert.Equal(true, gb.Runnable); Assert.Equal("XXXXXX", gb.CloneOf); Assert.Equal("XXXXXX", gb.RomOf); Assert.Equal("XXXXXX", gb.SampleOf); @@ -554,9 +554,9 @@ namespace SabreTools.Serialization.Readers.Test Assert.Equal("XXXXXX", rom.Region); Assert.Equal("XXXXXX", rom.Offset); Assert.Equal("XXXXXX", rom.Status); - Assert.Equal("XXXXXX", rom.Optional); - Assert.Equal("XXXXXX", rom.Dispose); - Assert.Equal("XXXXXX", rom.SoundOnly); + Assert.Equal(true, rom.Optional); + Assert.Equal(true, rom.Dispose); + Assert.Equal(true, rom.SoundOnly); } /// @@ -571,9 +571,9 @@ namespace SabreTools.Serialization.Readers.Test Assert.Equal("XXXXXX", disk.Merge); Assert.Equal("XXXXXX", disk.Region); Assert.Equal("XXXXXX", disk.Index); - Assert.Equal("XXXXXX", disk.Writable); + Assert.Equal(true, disk.Writable); Assert.Equal("XXXXXX", disk.Status); - Assert.Equal("XXXXXX", disk.Optional); + Assert.Equal(true, disk.Optional); } /// @@ -603,7 +603,7 @@ namespace SabreTools.Serialization.Readers.Test Assert.Equal("XXXXXX", chip.Name); Assert.Equal("XXXXXX", chip.Tag); Assert.Equal("XXXXXX", chip.Type); - Assert.Equal("XXXXXX", chip.SoundOnly); + Assert.Equal(true, chip.SoundOnly); Assert.Equal("XXXXXX", chip.Clock); } @@ -616,7 +616,7 @@ namespace SabreTools.Serialization.Readers.Test Assert.Equal("XXXXXX", display.Tag); Assert.Equal("XXXXXX", display.Type); Assert.Equal("XXXXXX", display.Rotate); - Assert.Equal("XXXXXX", display.FlipX); + Assert.Equal(true, display.FlipX); Assert.Equal("XXXXXX", display.Width); Assert.Equal("XXXXXX", display.Height); Assert.Equal("XXXXXX", display.Refresh); @@ -659,8 +659,8 @@ namespace SabreTools.Serialization.Readers.Test private static void Validate(Data.Models.Listxml.Input? input) { Assert.NotNull(input); - Assert.Equal("XXXXXX", input.Service); - Assert.Equal("XXXXXX", input.Tilt); + Assert.Equal(true, input.Service); + Assert.Equal(true, input.Tilt); Assert.Equal("XXXXXX", input.Players); //Assert.Equal("XXXXXX", input.ControlAttr); // Mututally exclusive with input.Control Assert.Equal("XXXXXX", input.Buttons); @@ -685,7 +685,7 @@ namespace SabreTools.Serialization.Readers.Test Assert.Equal("XXXXXX", control.Maximum); Assert.Equal("XXXXXX", control.Sensitivity); Assert.Equal("XXXXXX", control.KeyDelta); - Assert.Equal("XXXXXX", control.Reverse); + Assert.Equal(true, control.Reverse); Assert.Equal("XXXXXX", control.Ways); Assert.Equal("XXXXXX", control.Ways2); Assert.Equal("XXXXXX", control.Ways3); @@ -731,7 +731,7 @@ namespace SabreTools.Serialization.Readers.Test Assert.NotNull(diplocation); Assert.Equal("XXXXXX", diplocation.Name); Assert.Equal("XXXXXX", diplocation.Number); - Assert.Equal("XXXXXX", diplocation.Inverted); + Assert.Equal(true, diplocation.Inverted); } /// @@ -774,7 +774,7 @@ namespace SabreTools.Serialization.Readers.Test Assert.NotNull(conflocation); Assert.Equal("XXXXXX", conflocation.Name); Assert.Equal("XXXXXX", conflocation.Number); - Assert.Equal("XXXXXX", conflocation.Inverted); + Assert.Equal(true, conflocation.Inverted); } /// @@ -835,10 +835,10 @@ namespace SabreTools.Serialization.Readers.Test Assert.Equal("XXXXXX", driver.Emulation); Assert.Equal("XXXXXX", driver.Cocktail); Assert.Equal("XXXXXX", driver.SaveState); - Assert.Equal("XXXXXX", driver.RequiresArtwork); - Assert.Equal("XXXXXX", driver.Unofficial); - Assert.Equal("XXXXXX", driver.NoSoundHardware); - Assert.Equal("XXXXXX", driver.Incomplete); + Assert.Equal(true, driver.RequiresArtwork); + Assert.Equal(true, driver.Unofficial); + Assert.Equal(true, driver.NoSoundHardware); + Assert.Equal(true, driver.Incomplete); } /// diff --git a/SabreTools.Serialization.Readers.Test/MessTests.cs b/SabreTools.Serialization.Readers.Test/MessTests.cs index d808f559..710ee7ea 100644 --- a/SabreTools.Serialization.Readers.Test/MessTests.cs +++ b/SabreTools.Serialization.Readers.Test/MessTests.cs @@ -144,9 +144,9 @@ namespace SabreTools.Serialization.Readers.Test Region = "XXXXXX", Offset = "XXXXXX", Status = "XXXXXX", - Optional = "XXXXXX", - Dispose = "XXXXXX", - SoundOnly = "XXXXXX", + Optional = true, + Dispose = true, + SoundOnly = true, }; var disk = new Data.Models.Listxml.Disk @@ -157,9 +157,9 @@ namespace SabreTools.Serialization.Readers.Test Merge = "XXXXXX", Region = "XXXXXX", Index = "XXXXXX", - Writable = "XXXXXX", + Writable = true, Status = "XXXXXX", - Optional = "XXXXXX", + Optional = true, }; var deviceref = new Data.Models.Listxml.DeviceRef @@ -177,7 +177,7 @@ namespace SabreTools.Serialization.Readers.Test Name = "XXXXXX", Tag = "XXXXXX", Type = "XXXXXX", - SoundOnly = "XXXXXX", + SoundOnly = true, Clock = "XXXXXX", }; @@ -186,7 +186,7 @@ namespace SabreTools.Serialization.Readers.Test Tag = "XXXXXX", Type = "XXXXXX", Rotate = "XXXXXX", - FlipX = "XXXXXX", + FlipX = true, Width = "XXXXXX", Height = "XXXXXX", Refresh = "XXXXXX", @@ -225,7 +225,7 @@ namespace SabreTools.Serialization.Readers.Test Maximum = "XXXXXX", Sensitivity = "XXXXXX", KeyDelta = "XXXXXX", - Reverse = "XXXXXX", + Reverse = true, Ways = "XXXXXX", Ways2 = "XXXXXX", Ways3 = "XXXXXX", @@ -233,8 +233,8 @@ namespace SabreTools.Serialization.Readers.Test var input = new Data.Models.Listxml.Input { - Service = "XXXXXX", - Tilt = "XXXXXX", + Service = true, + Tilt = true, Players = "XXXXXX", //ControlAttr = "XXXXXX", // Mututally exclusive with input.Control Buttons = "XXXXXX", @@ -254,7 +254,7 @@ namespace SabreTools.Serialization.Readers.Test { Name = "XXXXXX", Number = "XXXXXX", - Inverted = "XXXXXX", + Inverted = true, }; var dipvalue = new Data.Models.Listxml.DipValue @@ -279,7 +279,7 @@ namespace SabreTools.Serialization.Readers.Test { Name = "XXXXXX", Number = "XXXXXX", - Inverted = "XXXXXX", + Inverted = true, }; var confsetting = new Data.Models.Listxml.ConfSetting @@ -327,10 +327,10 @@ namespace SabreTools.Serialization.Readers.Test Emulation = "XXXXXX", Cocktail = "XXXXXX", SaveState = "XXXXXX", - RequiresArtwork = "XXXXXX", - Unofficial = "XXXXXX", - NoSoundHardware = "XXXXXX", - Incomplete = "XXXXXX", + RequiresArtwork = true, + Unofficial = true, + NoSoundHardware = true, + Incomplete = true, }; var feature = new Data.Models.Listxml.Feature @@ -395,10 +395,10 @@ namespace SabreTools.Serialization.Readers.Test : new Data.Models.Listxml.Machine(); gameBase.Name = "XXXXXX"; gameBase.SourceFile = "XXXXXX"; - gameBase.IsBios = "XXXXXX"; - gameBase.IsDevice = "XXXXXX"; - gameBase.IsMechanical = "XXXXXX"; - gameBase.Runnable = "XXXXXX"; + gameBase.IsBios = true; + gameBase.IsDevice = true; + gameBase.IsMechanical = true; + gameBase.Runnable = true; gameBase.CloneOf = "XXXXXX"; gameBase.RomOf = "XXXXXX"; gameBase.SampleOf = "XXXXXX"; @@ -442,10 +442,10 @@ namespace SabreTools.Serialization.Readers.Test Assert.NotNull(gb); Assert.Equal("XXXXXX", gb.Name); Assert.Equal("XXXXXX", gb.SourceFile); - Assert.Equal("XXXXXX", gb.IsBios); - Assert.Equal("XXXXXX", gb.IsDevice); - Assert.Equal("XXXXXX", gb.IsMechanical); - Assert.Equal("XXXXXX", gb.Runnable); + Assert.Equal(true, gb.IsBios); + Assert.Equal(true, gb.IsDevice); + Assert.Equal(true, gb.IsMechanical); + Assert.Equal(true, gb.Runnable); Assert.Equal("XXXXXX", gb.CloneOf); Assert.Equal("XXXXXX", gb.RomOf); Assert.Equal("XXXXXX", gb.SampleOf); @@ -554,9 +554,9 @@ namespace SabreTools.Serialization.Readers.Test Assert.Equal("XXXXXX", rom.Region); Assert.Equal("XXXXXX", rom.Offset); Assert.Equal("XXXXXX", rom.Status); - Assert.Equal("XXXXXX", rom.Optional); - Assert.Equal("XXXXXX", rom.Dispose); - Assert.Equal("XXXXXX", rom.SoundOnly); + Assert.Equal(true, rom.Optional); + Assert.Equal(true, rom.Dispose); + Assert.Equal(true, rom.SoundOnly); } /// @@ -571,9 +571,9 @@ namespace SabreTools.Serialization.Readers.Test Assert.Equal("XXXXXX", disk.Merge); Assert.Equal("XXXXXX", disk.Region); Assert.Equal("XXXXXX", disk.Index); - Assert.Equal("XXXXXX", disk.Writable); + Assert.Equal(true, disk.Writable); Assert.Equal("XXXXXX", disk.Status); - Assert.Equal("XXXXXX", disk.Optional); + Assert.Equal(true, disk.Optional); } /// @@ -603,7 +603,7 @@ namespace SabreTools.Serialization.Readers.Test Assert.Equal("XXXXXX", chip.Name); Assert.Equal("XXXXXX", chip.Tag); Assert.Equal("XXXXXX", chip.Type); - Assert.Equal("XXXXXX", chip.SoundOnly); + Assert.Equal(true, chip.SoundOnly); Assert.Equal("XXXXXX", chip.Clock); } @@ -616,7 +616,7 @@ namespace SabreTools.Serialization.Readers.Test Assert.Equal("XXXXXX", display.Tag); Assert.Equal("XXXXXX", display.Type); Assert.Equal("XXXXXX", display.Rotate); - Assert.Equal("XXXXXX", display.FlipX); + Assert.Equal(true, display.FlipX); Assert.Equal("XXXXXX", display.Width); Assert.Equal("XXXXXX", display.Height); Assert.Equal("XXXXXX", display.Refresh); @@ -659,8 +659,8 @@ namespace SabreTools.Serialization.Readers.Test private static void Validate(Data.Models.Listxml.Input? input) { Assert.NotNull(input); - Assert.Equal("XXXXXX", input.Service); - Assert.Equal("XXXXXX", input.Tilt); + Assert.Equal(true, input.Service); + Assert.Equal(true, input.Tilt); Assert.Equal("XXXXXX", input.Players); //Assert.Equal("XXXXXX", input.ControlAttr); // Mututally exclusive with input.Control Assert.Equal("XXXXXX", input.Buttons); @@ -685,7 +685,7 @@ namespace SabreTools.Serialization.Readers.Test Assert.Equal("XXXXXX", control.Maximum); Assert.Equal("XXXXXX", control.Sensitivity); Assert.Equal("XXXXXX", control.KeyDelta); - Assert.Equal("XXXXXX", control.Reverse); + Assert.Equal(true, control.Reverse); Assert.Equal("XXXXXX", control.Ways); Assert.Equal("XXXXXX", control.Ways2); Assert.Equal("XXXXXX", control.Ways3); @@ -731,7 +731,7 @@ namespace SabreTools.Serialization.Readers.Test Assert.NotNull(diplocation); Assert.Equal("XXXXXX", diplocation.Name); Assert.Equal("XXXXXX", diplocation.Number); - Assert.Equal("XXXXXX", diplocation.Inverted); + Assert.Equal(true, diplocation.Inverted); } /// @@ -774,7 +774,7 @@ namespace SabreTools.Serialization.Readers.Test Assert.NotNull(conflocation); Assert.Equal("XXXXXX", conflocation.Name); Assert.Equal("XXXXXX", conflocation.Number); - Assert.Equal("XXXXXX", conflocation.Inverted); + Assert.Equal(true, conflocation.Inverted); } /// @@ -835,10 +835,10 @@ namespace SabreTools.Serialization.Readers.Test Assert.Equal("XXXXXX", driver.Emulation); Assert.Equal("XXXXXX", driver.Cocktail); Assert.Equal("XXXXXX", driver.SaveState); - Assert.Equal("XXXXXX", driver.RequiresArtwork); - Assert.Equal("XXXXXX", driver.Unofficial); - Assert.Equal("XXXXXX", driver.NoSoundHardware); - Assert.Equal("XXXXXX", driver.Incomplete); + Assert.Equal(true, driver.RequiresArtwork); + Assert.Equal(true, driver.Unofficial); + Assert.Equal(true, driver.NoSoundHardware); + Assert.Equal(true, driver.Incomplete); } /// diff --git a/SabreTools.Serialization.Readers.Test/SoftwareListTests.cs b/SabreTools.Serialization.Readers.Test/SoftwareListTests.cs index 5b568e52..d90e1ded 100644 --- a/SabreTools.Serialization.Readers.Test/SoftwareListTests.cs +++ b/SabreTools.Serialization.Readers.Test/SoftwareListTests.cs @@ -155,7 +155,7 @@ namespace SabreTools.Serialization.Readers.Test MD5 = "XXXXXX", SHA1 = "XXXXXX", Status = "XXXXXX", - Writeable = "XXXXXX", + Writeable = true, }; var diskarea = new Data.Models.SoftwareList.DiskArea @@ -351,7 +351,7 @@ namespace SabreTools.Serialization.Readers.Test Assert.Equal("XXXXXX", disk.MD5); Assert.Equal("XXXXXX", disk.SHA1); Assert.Equal("XXXXXX", disk.Status); - Assert.Equal("XXXXXX", disk.Writeable); + Assert.Equal(true, disk.Writeable); } /// diff --git a/SabreTools.Serialization.Readers/AttractMode.cs b/SabreTools.Serialization.Readers/AttractMode.cs index 8bbd00ab..69b22426 100644 --- a/SabreTools.Serialization.Readers/AttractMode.cs +++ b/SabreTools.Serialization.Readers/AttractMode.cs @@ -1,6 +1,7 @@ using System.Collections.Generic; using System.IO; using System.Text; +using SabreTools.Data.Extensions; using SabreTools.Data.Models.AttractMode; using SabreTools.Text.SeparatedValue; @@ -99,7 +100,7 @@ namespace SabreTools.Serialization.Readers Tags = reader.Line[18], PlayedCount = reader.Line[19], PlayedTime = reader.Line[20], - FileIsAvailable = reader.Line[21], + FileIsAvailable = reader.Line[21].AsYesNo(), }; } diff --git a/SabreTools.Serialization.Readers/ClrMamePro.cs b/SabreTools.Serialization.Readers/ClrMamePro.cs index e7952b3c..75e973e1 100644 --- a/SabreTools.Serialization.Readers/ClrMamePro.cs +++ b/SabreTools.Serialization.Readers/ClrMamePro.cs @@ -248,7 +248,7 @@ namespace SabreTools.Serialization.Readers dat.ClrMamePro.ForceMerging = reader.Standalone?.Value; break; case "forcezipping": - dat.ClrMamePro.ForceZipping = reader.Standalone?.Value; + dat.ClrMamePro.ForceZipping = reader.Standalone?.Value?.AsYesNo(); break; case "forcepacking": dat.ClrMamePro.ForcePacking = reader.Standalone?.Value; @@ -599,10 +599,10 @@ namespace SabreTools.Serialization.Readers rom.Date = kvp.Value; break; case "inverted": - rom.Inverted = kvp.Value; + rom.Inverted = kvp.Value.AsYesNo(); break; case "mia": - rom.MIA = kvp.Value; + rom.MIA = kvp.Value.AsYesNo(); break; default: // TODO: Log invalid values @@ -884,10 +884,10 @@ namespace SabreTools.Serialization.Readers input.Coins = kvp.Value; break; case "tilt": - input.Tilt = kvp.Value; + input.Tilt = kvp.Value.AsYesNo(); break; case "service": - input.Service = kvp.Value; + input.Service = kvp.Value.AsYesNo(); break; default: // TODO: Log invalid values diff --git a/SabreTools.Serialization.Readers/Listxml.cs b/SabreTools.Serialization.Readers/Listxml.cs index e497a1f6..9c9570f3 100644 --- a/SabreTools.Serialization.Readers/Listxml.cs +++ b/SabreTools.Serialization.Readers/Listxml.cs @@ -71,7 +71,7 @@ namespace SabreTools.Serialization.Readers var obj = new Mame(); obj.Build = reader.GetAttribute("build"); - obj.Debug = reader.GetAttribute("debug"); + obj.Debug = reader.GetAttribute("debug").AsYesNo(); obj.MameConfig = reader.GetAttribute("mameconfig"); List games = []; @@ -190,7 +190,7 @@ namespace SabreTools.Serialization.Readers obj.Name = reader.GetAttribute("name"); obj.Tag = reader.GetAttribute("tag"); obj.Type = reader.GetAttribute("type"); - obj.SoundOnly = reader.GetAttribute("soundonly"); + obj.SoundOnly = reader.GetAttribute("soundonly").AsYesNo(); obj.Clock = reader.GetAttribute("clock"); return obj; @@ -285,7 +285,7 @@ namespace SabreTools.Serialization.Readers obj.Name = reader.GetAttribute("name"); obj.Number = reader.GetAttribute("number"); - obj.Inverted = reader.GetAttribute("inverted"); + obj.Inverted = reader.GetAttribute("inverted").AsYesNo(); return obj; } @@ -348,7 +348,7 @@ namespace SabreTools.Serialization.Readers obj.Maximum = reader.GetAttribute("maximum"); obj.Sensitivity = reader.GetAttribute("sensitivity"); obj.KeyDelta = reader.GetAttribute("keydelta"); - obj.Reverse = reader.GetAttribute("reverse"); + obj.Reverse = reader.GetAttribute("reverse").AsYesNo(); obj.Ways = reader.GetAttribute("ways"); obj.Ways2 = reader.GetAttribute("ways2"); obj.Ways3 = reader.GetAttribute("ways3"); @@ -435,7 +435,7 @@ namespace SabreTools.Serialization.Readers obj.Name = reader.GetAttribute("name"); obj.Number = reader.GetAttribute("number"); - obj.Inverted = reader.GetAttribute("inverted"); + obj.Inverted = reader.GetAttribute("inverted").AsYesNo(); return obj; } @@ -557,9 +557,9 @@ namespace SabreTools.Serialization.Readers obj.Merge = reader.GetAttribute("merge"); obj.Region = reader.GetAttribute("region"); obj.Index = reader.GetAttribute("index"); - obj.Writable = reader.GetAttribute("writable"); + obj.Writable = reader.GetAttribute("writable").AsYesNo(); obj.Status = reader.GetAttribute("status"); - obj.Optional = reader.GetAttribute("optional"); + obj.Optional = reader.GetAttribute("optional").AsYesNo(); return obj; } @@ -576,7 +576,7 @@ namespace SabreTools.Serialization.Readers obj.Tag = reader.GetAttribute("tag"); obj.Type = reader.GetAttribute("type"); obj.Rotate = reader.GetAttribute("rotate"); - obj.FlipX = reader.GetAttribute("flipx"); + obj.FlipX = reader.GetAttribute("flipx").AsYesNo(); obj.Width = reader.GetAttribute("width"); obj.Height = reader.GetAttribute("height"); obj.Refresh = reader.GetAttribute("refresh"); @@ -607,10 +607,10 @@ namespace SabreTools.Serialization.Readers obj.Emulation = reader.GetAttribute("emulation"); obj.Cocktail = reader.GetAttribute("cocktail"); obj.SaveState = reader.GetAttribute("savestate"); - obj.RequiresArtwork = reader.GetAttribute("requiresartwork"); - obj.Unofficial = reader.GetAttribute("unofficial"); - obj.NoSoundHardware = reader.GetAttribute("nosoundhardware"); - obj.Incomplete = reader.GetAttribute("incomplete"); + obj.RequiresArtwork = reader.GetAttribute("requiresartwork").AsYesNo(); + obj.Unofficial = reader.GetAttribute("unofficial").AsYesNo(); + obj.NoSoundHardware = reader.GetAttribute("nosoundhardware").AsYesNo(); + obj.Incomplete = reader.GetAttribute("incomplete").AsYesNo(); return obj; } @@ -662,10 +662,10 @@ namespace SabreTools.Serialization.Readers obj.Name = reader.GetAttribute("name"); obj.SourceFile = reader.GetAttribute("sourcefile"); - obj.IsBios = reader.GetAttribute("isbios"); - obj.IsDevice = reader.GetAttribute("isdevice"); - obj.IsMechanical = reader.GetAttribute("ismechanical"); - obj.Runnable = reader.GetAttribute("runnable"); + obj.IsBios = reader.GetAttribute("isbios").AsYesNo(); + obj.IsDevice = reader.GetAttribute("isdevice").AsYesNo(); + obj.IsMechanical = reader.GetAttribute("ismechanical").AsYesNo(); + obj.Runnable = reader.GetAttribute("runnable").AsYesNo(); obj.CloneOf = reader.GetAttribute("cloneof"); obj.RomOf = reader.GetAttribute("romof"); obj.SampleOf = reader.GetAttribute("sampleof"); @@ -920,8 +920,8 @@ namespace SabreTools.Serialization.Readers { var obj = new Input(); - obj.Service = reader.GetAttribute("service"); - obj.Tilt = reader.GetAttribute("tilt"); + obj.Service = reader.GetAttribute("service").AsYesNo(); + obj.Tilt = reader.GetAttribute("tilt").AsYesNo(); obj.Players = reader.GetAttribute("players"); obj.ControlAttr = reader.GetAttribute("control"); obj.Buttons = reader.GetAttribute("buttons"); @@ -1053,9 +1053,9 @@ namespace SabreTools.Serialization.Readers obj.Region = reader.GetAttribute("region"); obj.Offset = reader.GetAttribute("offset"); obj.Status = reader.GetAttribute("status"); - obj.Optional = reader.GetAttribute("optional"); - obj.Dispose = reader.GetAttribute("dispose"); - obj.SoundOnly = reader.GetAttribute("soundonly"); + obj.Optional = reader.GetAttribute("optional").AsYesNo(); + obj.Dispose = reader.GetAttribute("dispose").AsYesNo(); + obj.SoundOnly = reader.GetAttribute("soundonly").AsYesNo(); return obj; } diff --git a/SabreTools.Serialization.Readers/Logiqx.cs b/SabreTools.Serialization.Readers/Logiqx.cs index cbead97a..603b21ee 100644 --- a/SabreTools.Serialization.Readers/Logiqx.cs +++ b/SabreTools.Serialization.Readers/Logiqx.cs @@ -71,7 +71,7 @@ namespace SabreTools.Serialization.Readers var obj = new Datafile(); obj.Build = reader.GetAttribute("build"); - obj.Debug = reader.GetAttribute("debug"); + obj.Debug = reader.GetAttribute("debug").AsYesNo(); // TODO: Fix this based on No-Intro DATs // obj.SchemaLocation = reader.GetAttribute("schemaLocation"); @@ -281,9 +281,9 @@ namespace SabreTools.Serialization.Readers obj.RomMode = reader.GetAttribute("rommode"); obj.BiosMode = reader.GetAttribute("biosmode"); obj.SampleMode = reader.GetAttribute("samplemode"); - obj.LockRomMode = reader.GetAttribute("lockrommode"); - obj.LockBiosMode = reader.GetAttribute("lockbiosmode"); - obj.LockSampleMode = reader.GetAttribute("locksamplemode"); + obj.LockRomMode = reader.GetAttribute("lockrommode").AsYesNo(); + obj.LockBiosMode = reader.GetAttribute("lockbiosmode").AsYesNo(); + obj.LockSampleMode = reader.GetAttribute("locksamplemode").AsYesNo(); return obj; } @@ -422,10 +422,10 @@ namespace SabreTools.Serialization.Readers obj.Emulation = reader.GetAttribute("emulation"); obj.Cocktail = reader.GetAttribute("cocktail"); obj.SaveState = reader.GetAttribute("savestate"); - obj.RequiresArtwork = reader.GetAttribute("requiresartwork"); - obj.Unofficial = reader.GetAttribute("unofficial"); - obj.NoSoundHardware = reader.GetAttribute("nosoundhardware"); - obj.Incomplete = reader.GetAttribute("incomplete"); + obj.RequiresArtwork = reader.GetAttribute("requiresartwork").AsYesNo(); + obj.Unofficial = reader.GetAttribute("unofficial").AsYesNo(); + obj.NoSoundHardware = reader.GetAttribute("nosoundhardware").AsYesNo(); + obj.Incomplete = reader.GetAttribute("incomplete").AsYesNo(); return obj; } @@ -447,9 +447,9 @@ namespace SabreTools.Serialization.Readers obj.Name = reader.GetAttribute("name"); obj.SourceFile = reader.GetAttribute("sourcefile"); - obj.IsBios = reader.GetAttribute("isbios"); - obj.IsDevice = reader.GetAttribute("isdevice"); - obj.IsMechanical = reader.GetAttribute("ismechanical"); + obj.IsBios = reader.GetAttribute("isbios").AsYesNo(); + obj.IsDevice = reader.GetAttribute("isdevice").AsYesNo(); + obj.IsMechanical = reader.GetAttribute("ismechanical").AsYesNo(); obj.CloneOf = reader.GetAttribute("cloneof"); obj.RomOf = reader.GetAttribute("romof"); obj.SampleOf = reader.GetAttribute("sampleof"); @@ -457,7 +457,7 @@ namespace SabreTools.Serialization.Readers obj.RebuildTo = reader.GetAttribute("rebuildto"); obj.Id = reader.GetAttribute("id"); obj.CloneOfId = reader.GetAttribute("cloneofid"); - obj.Runnable = reader.GetAttribute("runnable"); + obj.Runnable = reader.GetAttribute("runnable").AsYesNo(); List comments = []; List categories = []; @@ -710,8 +710,8 @@ namespace SabreTools.Serialization.Readers obj.Serial = reader.GetAttribute("serial"); obj.Header = reader.GetAttribute("header"); obj.Date = reader.GetAttribute("date"); - obj.Inverted = reader.GetAttribute("inverted"); - obj.MIA = reader.GetAttribute("mia"); + obj.Inverted = reader.GetAttribute("inverted").AsYesNo(); + obj.MIA = reader.GetAttribute("mia").AsYesNo(); return obj; } diff --git a/SabreTools.Serialization.Readers/M1.cs b/SabreTools.Serialization.Readers/M1.cs index 8e744ff4..961b6c6b 100644 --- a/SabreTools.Serialization.Readers/M1.cs +++ b/SabreTools.Serialization.Readers/M1.cs @@ -188,7 +188,7 @@ namespace SabreTools.Serialization.Readers obj.Name = reader.GetAttribute("name"); obj.Tag = reader.GetAttribute("tag"); obj.Type = reader.GetAttribute("type"); - obj.SoundOnly = reader.GetAttribute("soundonly"); + obj.SoundOnly = reader.GetAttribute("soundonly").AsYesNo(); obj.Clock = reader.GetAttribute("clock"); return obj; @@ -283,7 +283,7 @@ namespace SabreTools.Serialization.Readers obj.Name = reader.GetAttribute("name"); obj.Number = reader.GetAttribute("number"); - obj.Inverted = reader.GetAttribute("inverted"); + obj.Inverted = reader.GetAttribute("inverted").AsYesNo(); return obj; } @@ -346,7 +346,7 @@ namespace SabreTools.Serialization.Readers obj.Maximum = reader.GetAttribute("maximum"); obj.Sensitivity = reader.GetAttribute("sensitivity"); obj.KeyDelta = reader.GetAttribute("keydelta"); - obj.Reverse = reader.GetAttribute("reverse"); + obj.Reverse = reader.GetAttribute("reverse").AsYesNo(); obj.Ways = reader.GetAttribute("ways"); obj.Ways2 = reader.GetAttribute("ways2"); obj.Ways3 = reader.GetAttribute("ways3"); @@ -433,7 +433,7 @@ namespace SabreTools.Serialization.Readers obj.Name = reader.GetAttribute("name"); obj.Number = reader.GetAttribute("number"); - obj.Inverted = reader.GetAttribute("inverted"); + obj.Inverted = reader.GetAttribute("inverted").AsYesNo(); return obj; } @@ -555,9 +555,9 @@ namespace SabreTools.Serialization.Readers obj.Merge = reader.GetAttribute("merge"); obj.Region = reader.GetAttribute("region"); obj.Index = reader.GetAttribute("index"); - obj.Writable = reader.GetAttribute("writable"); + obj.Writable = reader.GetAttribute("writable").AsYesNo(); obj.Status = reader.GetAttribute("status"); - obj.Optional = reader.GetAttribute("optional"); + obj.Optional = reader.GetAttribute("optional").AsYesNo(); return obj; } @@ -574,7 +574,7 @@ namespace SabreTools.Serialization.Readers obj.Tag = reader.GetAttribute("tag"); obj.Type = reader.GetAttribute("type"); obj.Rotate = reader.GetAttribute("rotate"); - obj.FlipX = reader.GetAttribute("flipx"); + obj.FlipX = reader.GetAttribute("flipx").AsYesNo(); obj.Width = reader.GetAttribute("width"); obj.Height = reader.GetAttribute("height"); obj.Refresh = reader.GetAttribute("refresh"); @@ -605,10 +605,10 @@ namespace SabreTools.Serialization.Readers obj.Emulation = reader.GetAttribute("emulation"); obj.Cocktail = reader.GetAttribute("cocktail"); obj.SaveState = reader.GetAttribute("savestate"); - obj.RequiresArtwork = reader.GetAttribute("requiresartwork"); - obj.Unofficial = reader.GetAttribute("unofficial"); - obj.NoSoundHardware = reader.GetAttribute("nosoundhardware"); - obj.Incomplete = reader.GetAttribute("incomplete"); + obj.RequiresArtwork = reader.GetAttribute("requiresartwork").AsYesNo(); + obj.Unofficial = reader.GetAttribute("unofficial").AsYesNo(); + obj.NoSoundHardware = reader.GetAttribute("nosoundhardware").AsYesNo(); + obj.Incomplete = reader.GetAttribute("incomplete").AsYesNo(); return obj; } @@ -660,10 +660,10 @@ namespace SabreTools.Serialization.Readers obj.Name = reader.GetAttribute("name"); obj.SourceFile = reader.GetAttribute("sourcefile"); - obj.IsBios = reader.GetAttribute("isbios"); - obj.IsDevice = reader.GetAttribute("isdevice"); - obj.IsMechanical = reader.GetAttribute("ismechanical"); - obj.Runnable = reader.GetAttribute("runnable"); + obj.IsBios = reader.GetAttribute("isbios").AsYesNo(); + obj.IsDevice = reader.GetAttribute("isdevice").AsYesNo(); + obj.IsMechanical = reader.GetAttribute("ismechanical").AsYesNo(); + obj.Runnable = reader.GetAttribute("runnable").AsYesNo(); obj.CloneOf = reader.GetAttribute("cloneof"); obj.RomOf = reader.GetAttribute("romof"); obj.SampleOf = reader.GetAttribute("sampleof"); @@ -918,8 +918,8 @@ namespace SabreTools.Serialization.Readers { var obj = new Input(); - obj.Service = reader.GetAttribute("service"); - obj.Tilt = reader.GetAttribute("tilt"); + obj.Service = reader.GetAttribute("service").AsYesNo(); + obj.Tilt = reader.GetAttribute("tilt").AsYesNo(); obj.Players = reader.GetAttribute("players"); obj.ControlAttr = reader.GetAttribute("control"); obj.Buttons = reader.GetAttribute("buttons"); @@ -1051,9 +1051,9 @@ namespace SabreTools.Serialization.Readers obj.Region = reader.GetAttribute("region"); obj.Offset = reader.GetAttribute("offset"); obj.Status = reader.GetAttribute("status"); - obj.Optional = reader.GetAttribute("optional"); - obj.Dispose = reader.GetAttribute("dispose"); - obj.SoundOnly = reader.GetAttribute("soundonly"); + obj.Optional = reader.GetAttribute("optional").AsYesNo(); + obj.Dispose = reader.GetAttribute("dispose").AsYesNo(); + obj.SoundOnly = reader.GetAttribute("soundonly").AsYesNo(); return obj; } diff --git a/SabreTools.Serialization.Readers/Mess.cs b/SabreTools.Serialization.Readers/Mess.cs index 1a197ff2..c555b12e 100644 --- a/SabreTools.Serialization.Readers/Mess.cs +++ b/SabreTools.Serialization.Readers/Mess.cs @@ -188,7 +188,7 @@ namespace SabreTools.Serialization.Readers obj.Name = reader.GetAttribute("name"); obj.Tag = reader.GetAttribute("tag"); obj.Type = reader.GetAttribute("type"); - obj.SoundOnly = reader.GetAttribute("soundonly"); + obj.SoundOnly = reader.GetAttribute("soundonly").AsYesNo(); obj.Clock = reader.GetAttribute("clock"); return obj; @@ -283,7 +283,7 @@ namespace SabreTools.Serialization.Readers obj.Name = reader.GetAttribute("name"); obj.Number = reader.GetAttribute("number"); - obj.Inverted = reader.GetAttribute("inverted"); + obj.Inverted = reader.GetAttribute("inverted").AsYesNo(); return obj; } @@ -346,7 +346,7 @@ namespace SabreTools.Serialization.Readers obj.Maximum = reader.GetAttribute("maximum"); obj.Sensitivity = reader.GetAttribute("sensitivity"); obj.KeyDelta = reader.GetAttribute("keydelta"); - obj.Reverse = reader.GetAttribute("reverse"); + obj.Reverse = reader.GetAttribute("reverse").AsYesNo(); obj.Ways = reader.GetAttribute("ways"); obj.Ways2 = reader.GetAttribute("ways2"); obj.Ways3 = reader.GetAttribute("ways3"); @@ -433,7 +433,7 @@ namespace SabreTools.Serialization.Readers obj.Name = reader.GetAttribute("name"); obj.Number = reader.GetAttribute("number"); - obj.Inverted = reader.GetAttribute("inverted"); + obj.Inverted = reader.GetAttribute("inverted").AsYesNo(); return obj; } @@ -555,9 +555,9 @@ namespace SabreTools.Serialization.Readers obj.Merge = reader.GetAttribute("merge"); obj.Region = reader.GetAttribute("region"); obj.Index = reader.GetAttribute("index"); - obj.Writable = reader.GetAttribute("writable"); + obj.Writable = reader.GetAttribute("writable").AsYesNo(); obj.Status = reader.GetAttribute("status"); - obj.Optional = reader.GetAttribute("optional"); + obj.Optional = reader.GetAttribute("optional").AsYesNo(); return obj; } @@ -574,7 +574,7 @@ namespace SabreTools.Serialization.Readers obj.Tag = reader.GetAttribute("tag"); obj.Type = reader.GetAttribute("type"); obj.Rotate = reader.GetAttribute("rotate"); - obj.FlipX = reader.GetAttribute("flipx"); + obj.FlipX = reader.GetAttribute("flipx").AsYesNo(); obj.Width = reader.GetAttribute("width"); obj.Height = reader.GetAttribute("height"); obj.Refresh = reader.GetAttribute("refresh"); @@ -605,10 +605,10 @@ namespace SabreTools.Serialization.Readers obj.Emulation = reader.GetAttribute("emulation"); obj.Cocktail = reader.GetAttribute("cocktail"); obj.SaveState = reader.GetAttribute("savestate"); - obj.RequiresArtwork = reader.GetAttribute("requiresartwork"); - obj.Unofficial = reader.GetAttribute("unofficial"); - obj.NoSoundHardware = reader.GetAttribute("nosoundhardware"); - obj.Incomplete = reader.GetAttribute("incomplete"); + obj.RequiresArtwork = reader.GetAttribute("requiresartwork").AsYesNo(); + obj.Unofficial = reader.GetAttribute("unofficial").AsYesNo(); + obj.NoSoundHardware = reader.GetAttribute("nosoundhardware").AsYesNo(); + obj.Incomplete = reader.GetAttribute("incomplete").AsYesNo(); return obj; } @@ -660,10 +660,10 @@ namespace SabreTools.Serialization.Readers obj.Name = reader.GetAttribute("name"); obj.SourceFile = reader.GetAttribute("sourcefile"); - obj.IsBios = reader.GetAttribute("isbios"); - obj.IsDevice = reader.GetAttribute("isdevice"); - obj.IsMechanical = reader.GetAttribute("ismechanical"); - obj.Runnable = reader.GetAttribute("runnable"); + obj.IsBios = reader.GetAttribute("isbios").AsYesNo(); + obj.IsDevice = reader.GetAttribute("isdevice").AsYesNo(); + obj.IsMechanical = reader.GetAttribute("ismechanical").AsYesNo(); + obj.Runnable = reader.GetAttribute("runnable").AsYesNo(); obj.CloneOf = reader.GetAttribute("cloneof"); obj.RomOf = reader.GetAttribute("romof"); obj.SampleOf = reader.GetAttribute("sampleof"); @@ -918,8 +918,8 @@ namespace SabreTools.Serialization.Readers { var obj = new Input(); - obj.Service = reader.GetAttribute("service"); - obj.Tilt = reader.GetAttribute("tilt"); + obj.Service = reader.GetAttribute("service").AsYesNo(); + obj.Tilt = reader.GetAttribute("tilt").AsYesNo(); obj.Players = reader.GetAttribute("players"); obj.ControlAttr = reader.GetAttribute("control"); obj.Buttons = reader.GetAttribute("buttons"); @@ -1051,9 +1051,9 @@ namespace SabreTools.Serialization.Readers obj.Region = reader.GetAttribute("region"); obj.Offset = reader.GetAttribute("offset"); obj.Status = reader.GetAttribute("status"); - obj.Optional = reader.GetAttribute("optional"); - obj.Dispose = reader.GetAttribute("dispose"); - obj.SoundOnly = reader.GetAttribute("soundonly"); + obj.Optional = reader.GetAttribute("optional").AsYesNo(); + obj.Dispose = reader.GetAttribute("dispose").AsYesNo(); + obj.SoundOnly = reader.GetAttribute("soundonly").AsYesNo(); return obj; } diff --git a/SabreTools.Serialization.Readers/SoftwareList.cs b/SabreTools.Serialization.Readers/SoftwareList.cs index 649d0cce..5a2fe176 100644 --- a/SabreTools.Serialization.Readers/SoftwareList.cs +++ b/SabreTools.Serialization.Readers/SoftwareList.cs @@ -243,7 +243,7 @@ namespace SabreTools.Serialization.Readers obj.MD5 = reader.GetAttribute("md5"); obj.SHA1 = reader.GetAttribute("sha1"); obj.Status = reader.GetAttribute("status"); - obj.Writeable = reader.GetAttribute("writable"); + obj.Writeable = reader.GetAttribute("writable").AsYesNo(); return obj; } diff --git a/SabreTools.Serialization.Writers/AttractMode.cs b/SabreTools.Serialization.Writers/AttractMode.cs index 29898453..35b2be3d 100644 --- a/SabreTools.Serialization.Writers/AttractMode.cs +++ b/SabreTools.Serialization.Writers/AttractMode.cs @@ -186,7 +186,7 @@ namespace SabreTools.Serialization.Writers row.Tags, row.PlayedCount, row.PlayedTime, - row.FileIsAvailable, + row.FileIsAvailable.ToString()?.ToLowerInvariant(), ]; } else diff --git a/SabreTools.Serialization.Writers/ClrMamePro.cs b/SabreTools.Serialization.Writers/ClrMamePro.cs index 75ea39b9..8f3341d3 100644 --- a/SabreTools.Serialization.Writers/ClrMamePro.cs +++ b/SabreTools.Serialization.Writers/ClrMamePro.cs @@ -112,7 +112,7 @@ namespace SabreTools.Serialization.Writers writer.WriteOptionalStandalone("header", header.Header); writer.WriteOptionalStandalone("type", header.Type); writer.WriteOptionalStandalone("forcemerging", header.ForceMerging); - writer.WriteOptionalStandalone("forcezipping", header.ForceZipping); + writer.WriteOptionalStandalone("forcezipping", header.ForceZipping.FromYesNo()); writer.WriteOptionalStandalone("forcepacking", header.ForcePacking); writer.WriteEndElement(); // clrmamepro @@ -283,8 +283,8 @@ namespace SabreTools.Serialization.Writers writer.WriteOptionalAttributeString("serial", rom.Serial); writer.WriteOptionalAttributeString("header", rom.Header); writer.WriteOptionalAttributeString("date", rom.Date); - writer.WriteOptionalAttributeString("inverted", rom.Inverted); - writer.WriteOptionalAttributeString("mia", rom.MIA); + writer.WriteOptionalAttributeString("inverted", rom.Inverted.FromYesNo()); + writer.WriteOptionalAttributeString("mia", rom.MIA.FromYesNo()); writer.WriteEndElement(); // rom } } @@ -453,8 +453,8 @@ namespace SabreTools.Serialization.Writers writer.WriteOptionalAttributeString("control", input.Control); writer.WriteRequiredAttributeString("buttons", input.Buttons, throwOnError: true); writer.WriteOptionalAttributeString("coins", input.Coins); - writer.WriteOptionalAttributeString("tilt", input.Tilt); - writer.WriteOptionalAttributeString("service", input.Service); + writer.WriteOptionalAttributeString("tilt", input.Tilt.FromYesNo()); + writer.WriteOptionalAttributeString("service", input.Service.FromYesNo()); writer.WriteEndElement(); // input } diff --git a/SabreTools.Serialization.Writers/Listxml.cs b/SabreTools.Serialization.Writers/Listxml.cs index b834c5eb..c2960be4 100644 --- a/SabreTools.Serialization.Writers/Listxml.cs +++ b/SabreTools.Serialization.Writers/Listxml.cs @@ -50,7 +50,7 @@ namespace SabreTools.Serialization.Writers writer.WriteStartElement("mame"); writer.WriteOptionalAttributeString("build", obj.Build); - writer.WriteOptionalAttributeString("debug", obj.Debug); + writer.WriteOptionalAttributeString("debug", obj.Debug.FromYesNo()); writer.WriteRequiredAttributeString("mameconfig", obj.MameConfig); if (obj.Game is not null && obj.Game.Length > 0) @@ -126,7 +126,7 @@ namespace SabreTools.Serialization.Writers writer.WriteRequiredAttributeString("name", obj.Name); writer.WriteOptionalAttributeString("tag", obj.Tag); writer.WriteRequiredAttributeString("type", obj.Type); - writer.WriteOptionalAttributeString("soundonly", obj.SoundOnly); + writer.WriteOptionalAttributeString("soundonly", obj.SoundOnly.FromYesNo()); writer.WriteOptionalAttributeString("clock", obj.Clock); writer.WriteEndElement(); @@ -195,7 +195,7 @@ namespace SabreTools.Serialization.Writers writer.WriteRequiredAttributeString("name", obj.Name); writer.WriteRequiredAttributeString("number", obj.Number); - writer.WriteOptionalAttributeString("inverted", obj.Inverted); + writer.WriteOptionalAttributeString("inverted", obj.Inverted.FromYesNo()); writer.WriteEndElement(); } @@ -236,7 +236,7 @@ namespace SabreTools.Serialization.Writers writer.WriteOptionalAttributeString("maximum", obj.Maximum); writer.WriteOptionalAttributeString("sensitivity", obj.Sensitivity); writer.WriteOptionalAttributeString("keydelta", obj.KeyDelta); - writer.WriteOptionalAttributeString("reverse", obj.Reverse); + writer.WriteOptionalAttributeString("reverse", obj.Reverse.FromYesNo()); writer.WriteOptionalAttributeString("ways", obj.Ways); writer.WriteOptionalAttributeString("ways2", obj.Ways2); writer.WriteOptionalAttributeString("ways3", obj.Ways3); @@ -298,7 +298,7 @@ namespace SabreTools.Serialization.Writers writer.WriteRequiredAttributeString("name", obj.Name); writer.WriteRequiredAttributeString("number", obj.Number); - writer.WriteOptionalAttributeString("inverted", obj.Inverted); + writer.WriteOptionalAttributeString("inverted", obj.Inverted.FromYesNo()); writer.WriteEndElement(); } @@ -372,9 +372,9 @@ namespace SabreTools.Serialization.Writers writer.WriteOptionalAttributeString("merge", obj.Merge); writer.WriteOptionalAttributeString("region", obj.Region); writer.WriteOptionalAttributeString("index", obj.Index); - writer.WriteOptionalAttributeString("writable", obj.Writable); + writer.WriteOptionalAttributeString("writable", obj.Writable.FromYesNo()); writer.WriteOptionalAttributeString("status", obj.Status); - writer.WriteOptionalAttributeString("optional", obj.Optional); + writer.WriteOptionalAttributeString("optional", obj.Optional.FromYesNo()); writer.WriteEndElement(); } @@ -391,7 +391,7 @@ namespace SabreTools.Serialization.Writers writer.WriteOptionalAttributeString("tag", obj.Tag); writer.WriteRequiredAttributeString("type", obj.Type); writer.WriteOptionalAttributeString("rotate", obj.Rotate); - writer.WriteOptionalAttributeString("flipx", obj.FlipX); + writer.WriteOptionalAttributeString("flipx", obj.FlipX.FromYesNo()); writer.WriteOptionalAttributeString("width", obj.Width); writer.WriteOptionalAttributeString("height", obj.Height); writer.WriteRequiredAttributeString("refresh", obj.Refresh); @@ -422,10 +422,10 @@ namespace SabreTools.Serialization.Writers writer.WriteRequiredAttributeString("emulation", obj.Emulation); writer.WriteRequiredAttributeString("cocktail", obj.Cocktail); writer.WriteRequiredAttributeString("savestate", obj.SaveState); - writer.WriteOptionalAttributeString("requiresartwork", obj.RequiresArtwork); - writer.WriteOptionalAttributeString("unofficial", obj.Unofficial); - writer.WriteOptionalAttributeString("nosoundhardware", obj.NoSoundHardware); - writer.WriteOptionalAttributeString("incomplete", obj.Incomplete); + writer.WriteOptionalAttributeString("requiresartwork", obj.RequiresArtwork.FromYesNo()); + writer.WriteOptionalAttributeString("unofficial", obj.Unofficial.FromYesNo()); + writer.WriteOptionalAttributeString("nosoundhardware", obj.NoSoundHardware.FromYesNo()); + writer.WriteOptionalAttributeString("incomplete", obj.Incomplete.FromYesNo()); writer.WriteEndElement(); } @@ -476,10 +476,10 @@ namespace SabreTools.Serialization.Writers writer.WriteRequiredAttributeString("name", obj.Name); writer.WriteOptionalAttributeString("sourcefile", obj.SourceFile); - writer.WriteOptionalAttributeString("isbios", obj.IsBios); - writer.WriteOptionalAttributeString("isdevice", obj.IsDevice); - writer.WriteOptionalAttributeString("ismechanical", obj.IsMechanical); - writer.WriteOptionalAttributeString("runnable", obj.Runnable); + writer.WriteOptionalAttributeString("isbios", obj.IsBios.FromYesNo()); + writer.WriteOptionalAttributeString("isdevice", obj.IsDevice.FromYesNo()); + writer.WriteOptionalAttributeString("ismechanical", obj.IsMechanical.FromYesNo()); + writer.WriteOptionalAttributeString("runnable", obj.Runnable.FromYesNo()); writer.WriteOptionalAttributeString("cloneof", obj.CloneOf); writer.WriteOptionalAttributeString("romof", obj.RomOf); writer.WriteOptionalAttributeString("sampleof", obj.SampleOf); @@ -646,8 +646,8 @@ namespace SabreTools.Serialization.Writers { writer.WriteStartElement("input"); - writer.WriteOptionalAttributeString("service", obj.Service); - writer.WriteOptionalAttributeString("tilt", obj.Tilt); + writer.WriteOptionalAttributeString("service", obj.Service.FromYesNo()); + writer.WriteOptionalAttributeString("tilt", obj.Tilt.FromYesNo()); writer.WriteRequiredAttributeString("players", obj.Players); writer.WriteOptionalAttributeString("control", obj.ControlAttr); writer.WriteOptionalAttributeString("buttons", obj.Buttons); @@ -737,9 +737,9 @@ namespace SabreTools.Serialization.Writers writer.WriteOptionalAttributeString("region", obj.Region); writer.WriteOptionalAttributeString("offset", obj.Offset); writer.WriteOptionalAttributeString("status", obj.Status); - writer.WriteOptionalAttributeString("optional", obj.Optional); - writer.WriteOptionalAttributeString("dispose", obj.Dispose); - writer.WriteOptionalAttributeString("soundonly", obj.SoundOnly); + writer.WriteOptionalAttributeString("optional", obj.Optional.FromYesNo()); + writer.WriteOptionalAttributeString("dispose", obj.Dispose.FromYesNo()); + writer.WriteOptionalAttributeString("soundonly", obj.SoundOnly.FromYesNo()); writer.WriteEndElement(); } diff --git a/SabreTools.Serialization.Writers/Logiqx.cs b/SabreTools.Serialization.Writers/Logiqx.cs index ab668ac0..5b834f74 100644 --- a/SabreTools.Serialization.Writers/Logiqx.cs +++ b/SabreTools.Serialization.Writers/Logiqx.cs @@ -87,7 +87,7 @@ namespace SabreTools.Serialization.Writers writer.WriteStartElement("datafile"); writer.WriteOptionalAttributeString("build", obj.Build); - writer.WriteOptionalAttributeString("debug", obj.Debug); + writer.WriteOptionalAttributeString("debug", obj.Debug.FromYesNo()); // TODO: Fix schema location writing // writer.WriteOptionalAttributeString("schemaLocation", obj.SchemaLocation); @@ -178,9 +178,9 @@ namespace SabreTools.Serialization.Writers writer.WriteOptionalAttributeString("rommode", obj.RomMode); writer.WriteOptionalAttributeString("biosmode", obj.BiosMode); writer.WriteOptionalAttributeString("samplemode", obj.SampleMode); - writer.WriteOptionalAttributeString("lockrommode", obj.LockRomMode); - writer.WriteOptionalAttributeString("lockbiosmode", obj.LockBiosMode); - writer.WriteOptionalAttributeString("locksamplemode", obj.LockSampleMode); + writer.WriteOptionalAttributeString("lockrommode", obj.LockRomMode.FromYesNo()); + writer.WriteOptionalAttributeString("lockbiosmode", obj.LockBiosMode.FromYesNo()); + writer.WriteOptionalAttributeString("locksamplemode", obj.LockSampleMode.FromYesNo()); writer.WriteEndElement(); } @@ -295,10 +295,10 @@ namespace SabreTools.Serialization.Writers writer.WriteRequiredAttributeString("emulation", obj.Emulation); writer.WriteRequiredAttributeString("cocktail", obj.Cocktail); writer.WriteRequiredAttributeString("savestate", obj.SaveState); - writer.WriteOptionalAttributeString("requiresartwork", obj.RequiresArtwork); - writer.WriteOptionalAttributeString("unofficial", obj.Unofficial); - writer.WriteOptionalAttributeString("nosoundhardware", obj.NoSoundHardware); - writer.WriteOptionalAttributeString("incomplete", obj.Incomplete); + writer.WriteOptionalAttributeString("requiresartwork", obj.RequiresArtwork.FromYesNo()); + writer.WriteOptionalAttributeString("unofficial", obj.Unofficial.FromYesNo()); + writer.WriteOptionalAttributeString("nosoundhardware", obj.NoSoundHardware.FromYesNo()); + writer.WriteOptionalAttributeString("incomplete", obj.Incomplete.FromYesNo()); writer.WriteEndElement(); } @@ -319,9 +319,9 @@ namespace SabreTools.Serialization.Writers writer.WriteRequiredAttributeString("name", obj.Name); writer.WriteOptionalAttributeString("sourcefile", obj.SourceFile); - writer.WriteOptionalAttributeString("isbios", obj.IsBios); - writer.WriteOptionalAttributeString("isdevice", obj.IsDevice); - writer.WriteOptionalAttributeString("ismechanical", obj.IsMechanical); + writer.WriteOptionalAttributeString("isbios", obj.IsBios.FromYesNo()); + writer.WriteOptionalAttributeString("isdevice", obj.IsDevice.FromYesNo()); + writer.WriteOptionalAttributeString("ismechanical", obj.IsMechanical.FromYesNo()); writer.WriteOptionalAttributeString("cloneof", obj.CloneOf); writer.WriteOptionalAttributeString("romof", obj.RomOf); writer.WriteOptionalAttributeString("sampleof", obj.SampleOf); @@ -329,7 +329,7 @@ namespace SabreTools.Serialization.Writers writer.WriteOptionalAttributeString("rebuildto", obj.RebuildTo); writer.WriteOptionalAttributeString("id", obj.Id); writer.WriteOptionalAttributeString("cloneofid", obj.CloneOfId); - writer.WriteOptionalAttributeString("runnable", obj.Runnable); + writer.WriteOptionalAttributeString("runnable", obj.Runnable.FromYesNo()); if (obj.Comment is not null && obj.Comment.Length > 0) { @@ -503,8 +503,8 @@ namespace SabreTools.Serialization.Writers writer.WriteOptionalAttributeString("serial", obj.Serial); writer.WriteOptionalAttributeString("header", obj.Header); writer.WriteOptionalAttributeString("date", obj.Date); - writer.WriteOptionalAttributeString("inverted", obj.Inverted); - writer.WriteOptionalAttributeString("mia", obj.MIA); + writer.WriteOptionalAttributeString("inverted", obj.Inverted.FromYesNo()); + writer.WriteOptionalAttributeString("mia", obj.MIA.FromYesNo()); writer.WriteEndElement(); } diff --git a/SabreTools.Serialization.Writers/M1.cs b/SabreTools.Serialization.Writers/M1.cs index cb9c879c..ea04975f 100644 --- a/SabreTools.Serialization.Writers/M1.cs +++ b/SabreTools.Serialization.Writers/M1.cs @@ -124,7 +124,7 @@ namespace SabreTools.Serialization.Writers writer.WriteRequiredAttributeString("name", obj.Name); writer.WriteOptionalAttributeString("tag", obj.Tag); writer.WriteRequiredAttributeString("type", obj.Type); - writer.WriteOptionalAttributeString("soundonly", obj.SoundOnly); + writer.WriteOptionalAttributeString("soundonly", obj.SoundOnly.FromYesNo()); writer.WriteOptionalAttributeString("clock", obj.Clock); writer.WriteEndElement(); @@ -193,7 +193,7 @@ namespace SabreTools.Serialization.Writers writer.WriteRequiredAttributeString("name", obj.Name); writer.WriteRequiredAttributeString("number", obj.Number); - writer.WriteOptionalAttributeString("inverted", obj.Inverted); + writer.WriteOptionalAttributeString("inverted", obj.Inverted.FromYesNo()); writer.WriteEndElement(); } @@ -234,7 +234,7 @@ namespace SabreTools.Serialization.Writers writer.WriteOptionalAttributeString("maximum", obj.Maximum); writer.WriteOptionalAttributeString("sensitivity", obj.Sensitivity); writer.WriteOptionalAttributeString("keydelta", obj.KeyDelta); - writer.WriteOptionalAttributeString("reverse", obj.Reverse); + writer.WriteOptionalAttributeString("reverse", obj.Reverse.FromYesNo()); writer.WriteOptionalAttributeString("ways", obj.Ways); writer.WriteOptionalAttributeString("ways2", obj.Ways2); writer.WriteOptionalAttributeString("ways3", obj.Ways3); @@ -296,7 +296,7 @@ namespace SabreTools.Serialization.Writers writer.WriteRequiredAttributeString("name", obj.Name); writer.WriteRequiredAttributeString("number", obj.Number); - writer.WriteOptionalAttributeString("inverted", obj.Inverted); + writer.WriteOptionalAttributeString("inverted", obj.Inverted.FromYesNo()); writer.WriteEndElement(); } @@ -370,9 +370,9 @@ namespace SabreTools.Serialization.Writers writer.WriteOptionalAttributeString("merge", obj.Merge); writer.WriteOptionalAttributeString("region", obj.Region); writer.WriteOptionalAttributeString("index", obj.Index); - writer.WriteOptionalAttributeString("writable", obj.Writable); + writer.WriteOptionalAttributeString("writable", obj.Writable.FromYesNo()); writer.WriteOptionalAttributeString("status", obj.Status); - writer.WriteOptionalAttributeString("optional", obj.Optional); + writer.WriteOptionalAttributeString("optional", obj.Optional.FromYesNo()); writer.WriteEndElement(); } @@ -389,7 +389,7 @@ namespace SabreTools.Serialization.Writers writer.WriteOptionalAttributeString("tag", obj.Tag); writer.WriteRequiredAttributeString("type", obj.Type); writer.WriteOptionalAttributeString("rotate", obj.Rotate); - writer.WriteOptionalAttributeString("flipx", obj.FlipX); + writer.WriteOptionalAttributeString("flipx", obj.FlipX.FromYesNo()); writer.WriteOptionalAttributeString("width", obj.Width); writer.WriteOptionalAttributeString("height", obj.Height); writer.WriteRequiredAttributeString("refresh", obj.Refresh); @@ -420,10 +420,10 @@ namespace SabreTools.Serialization.Writers writer.WriteRequiredAttributeString("emulation", obj.Emulation); writer.WriteRequiredAttributeString("cocktail", obj.Cocktail); writer.WriteRequiredAttributeString("savestate", obj.SaveState); - writer.WriteOptionalAttributeString("requiresartwork", obj.RequiresArtwork); - writer.WriteOptionalAttributeString("unofficial", obj.Unofficial); - writer.WriteOptionalAttributeString("nosoundhardware", obj.NoSoundHardware); - writer.WriteOptionalAttributeString("incomplete", obj.Incomplete); + writer.WriteOptionalAttributeString("requiresartwork", obj.RequiresArtwork.FromYesNo()); + writer.WriteOptionalAttributeString("unofficial", obj.Unofficial.FromYesNo()); + writer.WriteOptionalAttributeString("nosoundhardware", obj.NoSoundHardware.FromYesNo()); + writer.WriteOptionalAttributeString("incomplete", obj.Incomplete.FromYesNo()); writer.WriteEndElement(); } @@ -474,10 +474,10 @@ namespace SabreTools.Serialization.Writers writer.WriteRequiredAttributeString("name", obj.Name); writer.WriteOptionalAttributeString("sourcefile", obj.SourceFile); - writer.WriteOptionalAttributeString("isbios", obj.IsBios); - writer.WriteOptionalAttributeString("isdevice", obj.IsDevice); - writer.WriteOptionalAttributeString("ismechanical", obj.IsMechanical); - writer.WriteOptionalAttributeString("runnable", obj.Runnable); + writer.WriteOptionalAttributeString("isbios", obj.IsBios.FromYesNo()); + writer.WriteOptionalAttributeString("isdevice", obj.IsDevice.FromYesNo()); + writer.WriteOptionalAttributeString("ismechanical", obj.IsMechanical.FromYesNo()); + writer.WriteOptionalAttributeString("runnable", obj.Runnable.FromYesNo()); writer.WriteOptionalAttributeString("cloneof", obj.CloneOf); writer.WriteOptionalAttributeString("romof", obj.RomOf); writer.WriteOptionalAttributeString("sampleof", obj.SampleOf); @@ -644,8 +644,8 @@ namespace SabreTools.Serialization.Writers { writer.WriteStartElement("input"); - writer.WriteOptionalAttributeString("service", obj.Service); - writer.WriteOptionalAttributeString("tilt", obj.Tilt); + writer.WriteOptionalAttributeString("service", obj.Service.FromYesNo()); + writer.WriteOptionalAttributeString("tilt", obj.Tilt.FromYesNo()); writer.WriteRequiredAttributeString("players", obj.Players); writer.WriteOptionalAttributeString("control", obj.ControlAttr); writer.WriteOptionalAttributeString("buttons", obj.Buttons); @@ -735,9 +735,9 @@ namespace SabreTools.Serialization.Writers writer.WriteOptionalAttributeString("region", obj.Region); writer.WriteOptionalAttributeString("offset", obj.Offset); writer.WriteOptionalAttributeString("status", obj.Status); - writer.WriteOptionalAttributeString("optional", obj.Optional); - writer.WriteOptionalAttributeString("dispose", obj.Dispose); - writer.WriteOptionalAttributeString("soundonly", obj.SoundOnly); + writer.WriteOptionalAttributeString("optional", obj.Optional.FromYesNo()); + writer.WriteOptionalAttributeString("dispose", obj.Dispose.FromYesNo()); + writer.WriteOptionalAttributeString("soundonly", obj.SoundOnly.FromYesNo()); writer.WriteEndElement(); } diff --git a/SabreTools.Serialization.Writers/Mess.cs b/SabreTools.Serialization.Writers/Mess.cs index 698bd133..df019522 100644 --- a/SabreTools.Serialization.Writers/Mess.cs +++ b/SabreTools.Serialization.Writers/Mess.cs @@ -124,7 +124,7 @@ namespace SabreTools.Serialization.Writers writer.WriteRequiredAttributeString("name", obj.Name); writer.WriteOptionalAttributeString("tag", obj.Tag); writer.WriteRequiredAttributeString("type", obj.Type); - writer.WriteOptionalAttributeString("soundonly", obj.SoundOnly); + writer.WriteOptionalAttributeString("soundonly", obj.SoundOnly.FromYesNo()); writer.WriteOptionalAttributeString("clock", obj.Clock); writer.WriteEndElement(); @@ -193,7 +193,7 @@ namespace SabreTools.Serialization.Writers writer.WriteRequiredAttributeString("name", obj.Name); writer.WriteRequiredAttributeString("number", obj.Number); - writer.WriteOptionalAttributeString("inverted", obj.Inverted); + writer.WriteOptionalAttributeString("inverted", obj.Inverted.FromYesNo()); writer.WriteEndElement(); } @@ -234,7 +234,7 @@ namespace SabreTools.Serialization.Writers writer.WriteOptionalAttributeString("maximum", obj.Maximum); writer.WriteOptionalAttributeString("sensitivity", obj.Sensitivity); writer.WriteOptionalAttributeString("keydelta", obj.KeyDelta); - writer.WriteOptionalAttributeString("reverse", obj.Reverse); + writer.WriteOptionalAttributeString("reverse", obj.Reverse.FromYesNo()); writer.WriteOptionalAttributeString("ways", obj.Ways); writer.WriteOptionalAttributeString("ways2", obj.Ways2); writer.WriteOptionalAttributeString("ways3", obj.Ways3); @@ -296,7 +296,7 @@ namespace SabreTools.Serialization.Writers writer.WriteRequiredAttributeString("name", obj.Name); writer.WriteRequiredAttributeString("number", obj.Number); - writer.WriteOptionalAttributeString("inverted", obj.Inverted); + writer.WriteOptionalAttributeString("inverted", obj.Inverted.FromYesNo()); writer.WriteEndElement(); } @@ -370,9 +370,9 @@ namespace SabreTools.Serialization.Writers writer.WriteOptionalAttributeString("merge", obj.Merge); writer.WriteOptionalAttributeString("region", obj.Region); writer.WriteOptionalAttributeString("index", obj.Index); - writer.WriteOptionalAttributeString("writable", obj.Writable); + writer.WriteOptionalAttributeString("writable", obj.Writable.FromYesNo()); writer.WriteOptionalAttributeString("status", obj.Status); - writer.WriteOptionalAttributeString("optional", obj.Optional); + writer.WriteOptionalAttributeString("optional", obj.Optional.FromYesNo()); writer.WriteEndElement(); } @@ -389,7 +389,7 @@ namespace SabreTools.Serialization.Writers writer.WriteOptionalAttributeString("tag", obj.Tag); writer.WriteRequiredAttributeString("type", obj.Type); writer.WriteOptionalAttributeString("rotate", obj.Rotate); - writer.WriteOptionalAttributeString("flipx", obj.FlipX); + writer.WriteOptionalAttributeString("flipx", obj.FlipX.FromYesNo()); writer.WriteOptionalAttributeString("width", obj.Width); writer.WriteOptionalAttributeString("height", obj.Height); writer.WriteRequiredAttributeString("refresh", obj.Refresh); @@ -420,10 +420,10 @@ namespace SabreTools.Serialization.Writers writer.WriteRequiredAttributeString("emulation", obj.Emulation); writer.WriteRequiredAttributeString("cocktail", obj.Cocktail); writer.WriteRequiredAttributeString("savestate", obj.SaveState); - writer.WriteOptionalAttributeString("requiresartwork", obj.RequiresArtwork); - writer.WriteOptionalAttributeString("unofficial", obj.Unofficial); - writer.WriteOptionalAttributeString("nosoundhardware", obj.NoSoundHardware); - writer.WriteOptionalAttributeString("incomplete", obj.Incomplete); + writer.WriteOptionalAttributeString("requiresartwork", obj.RequiresArtwork.FromYesNo()); + writer.WriteOptionalAttributeString("unofficial", obj.Unofficial.FromYesNo()); + writer.WriteOptionalAttributeString("nosoundhardware", obj.NoSoundHardware.FromYesNo()); + writer.WriteOptionalAttributeString("incomplete", obj.Incomplete.FromYesNo()); writer.WriteEndElement(); } @@ -474,10 +474,10 @@ namespace SabreTools.Serialization.Writers writer.WriteRequiredAttributeString("name", obj.Name); writer.WriteOptionalAttributeString("sourcefile", obj.SourceFile); - writer.WriteOptionalAttributeString("isbios", obj.IsBios); - writer.WriteOptionalAttributeString("isdevice", obj.IsDevice); - writer.WriteOptionalAttributeString("ismechanical", obj.IsMechanical); - writer.WriteOptionalAttributeString("runnable", obj.Runnable); + writer.WriteOptionalAttributeString("isbios", obj.IsBios.FromYesNo()); + writer.WriteOptionalAttributeString("isdevice", obj.IsDevice.FromYesNo()); + writer.WriteOptionalAttributeString("ismechanical", obj.IsMechanical.FromYesNo()); + writer.WriteOptionalAttributeString("runnable", obj.Runnable.FromYesNo()); writer.WriteOptionalAttributeString("cloneof", obj.CloneOf); writer.WriteOptionalAttributeString("romof", obj.RomOf); writer.WriteOptionalAttributeString("sampleof", obj.SampleOf); @@ -644,8 +644,8 @@ namespace SabreTools.Serialization.Writers { writer.WriteStartElement("input"); - writer.WriteOptionalAttributeString("service", obj.Service); - writer.WriteOptionalAttributeString("tilt", obj.Tilt); + writer.WriteOptionalAttributeString("service", obj.Service.FromYesNo()); + writer.WriteOptionalAttributeString("tilt", obj.Tilt.FromYesNo()); writer.WriteRequiredAttributeString("players", obj.Players); writer.WriteOptionalAttributeString("control", obj.ControlAttr); writer.WriteOptionalAttributeString("buttons", obj.Buttons); @@ -735,9 +735,9 @@ namespace SabreTools.Serialization.Writers writer.WriteOptionalAttributeString("region", obj.Region); writer.WriteOptionalAttributeString("offset", obj.Offset); writer.WriteOptionalAttributeString("status", obj.Status); - writer.WriteOptionalAttributeString("optional", obj.Optional); - writer.WriteOptionalAttributeString("dispose", obj.Dispose); - writer.WriteOptionalAttributeString("soundonly", obj.SoundOnly); + writer.WriteOptionalAttributeString("optional", obj.Optional.FromYesNo()); + writer.WriteOptionalAttributeString("dispose", obj.Dispose.FromYesNo()); + writer.WriteOptionalAttributeString("soundonly", obj.SoundOnly.FromYesNo()); writer.WriteEndElement(); } diff --git a/SabreTools.Serialization.Writers/SoftwareList.cs b/SabreTools.Serialization.Writers/SoftwareList.cs index e7b316bf..9cd31522 100644 --- a/SabreTools.Serialization.Writers/SoftwareList.cs +++ b/SabreTools.Serialization.Writers/SoftwareList.cs @@ -172,7 +172,7 @@ namespace SabreTools.Serialization.Writers writer.WriteOptionalAttributeString("md5", obj.MD5); writer.WriteOptionalAttributeString("sha1", obj.SHA1); writer.WriteOptionalAttributeString("status", obj.Status); - writer.WriteOptionalAttributeString("writable", obj.Writeable); + writer.WriteOptionalAttributeString("writable", obj.Writeable.FromYesNo()); writer.WriteEndElement(); }