Boolean stuff convert to property

This commit is contained in:
Matt Nadareski
2026-04-01 21:59:16 -04:00
parent 826df09a3e
commit 451e89afff
108 changed files with 1298 additions and 970 deletions

View File

@@ -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]);
}

View File

@@ -137,12 +137,108 @@ namespace SabreTools.Data.Extensions
/// <summary>
/// Deep clone a DictionaryBase object
/// </summary>
/// 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),
};

View File

@@ -46,6 +46,6 @@ namespace SabreTools.Data.Models.AttractMode
public string? PlayedTime { get; set; }
public string? FileIsAvailable { get; set; }
public bool? FileIsAvailable { get; set; }
}
}

View File

@@ -3,15 +3,15 @@ namespace SabreTools.Data.Models.ClrMamePro
/// <remarks>biosset</remarks>
public class BiosSet
{
/// <remarks>name</remarks>
/// <remarks>"name"</remarks>
[Required]
public string? Name { get; set; }
/// <remarks>description</remarks>
/// <remarks>"description"</remarks>
[Required]
public string? Description { get; set; }
/// <remarks>default</remarks>
/// <remarks>"default", (yes|no) "no"</remarks>
public bool? Default { get; set; }
}
}

View File

@@ -42,8 +42,8 @@ namespace SabreTools.Data.Models.ClrMamePro
/// <remarks>forcemerging</remarks>
public string? ForceMerging { get; set; }
/// <remarks>forcezipping</remarks>
public string? ForceZipping { get; set; }
/// <remarks>forcezipping, (yes|no) "no"</remarks>
public bool? ForceZipping { get; set; }
/// <remarks>forcepacking</remarks>
public string? ForcePacking { get; set; }

View File

@@ -4,14 +4,14 @@ namespace SabreTools.Data.Models.ClrMamePro
/// <remarks>dipswitch</remarks>
public class DipSwitch
{
/// <remarks>name</remarks>
/// <remarks>"name"</remarks>
[Required]
public string? Name { get; set; }
/// <remarks>entry</remarks>
/// <remarks>"entry"</remarks>
public string[]? Entry { get; set; }
/// <remarks>default, (yes|no) "no"</remarks>
/// <remarks>"default", (yes|no) "no"</remarks>
public bool? Default { get; set; }
}
}

View File

@@ -4,24 +4,24 @@ namespace SabreTools.Data.Models.ClrMamePro
/// <remarks>input</remarks>
public class Input
{
/// <remarks>players, Numeric/remarks>
/// <remarks>"players", Numeric/remarks>
[Required]
public string? Players { get; set; }
/// <remarks>control</remarks>
/// <remarks>"control"</remarks>
public string? Control { get; set; }
/// <remarks>buttons, Numeric</remarks>
/// <remarks>"buttons", Numeric</remarks>
[Required]
public string? Buttons { get; set; }
/// <remarks>coins, Numeric</remarks>
/// <remarks>"coins", Numeric</remarks>
public string? Coins { get; set; }
/// <remarks>tilt, (yes|no) "no"</remarks>
public string? Tilt { get; set; }
/// <remarks>"tilt", (yes|no) "no"</remarks>
public bool? Tilt { get; set; }
/// <remarks>service, (yes|no) "no"</remarks>
public string? Service { get; set; }
/// <remarks>"service", (yes|no) "no"</remarks>
public bool? Service { get; set; }
}
}

View File

@@ -4,21 +4,21 @@ namespace SabreTools.Data.Models.ClrMamePro
/// <remarks>release</remarks>
public class Release
{
/// <remarks>name</remarks>
/// <remarks>"name"</remarks>
[Required]
public string? Name { get; set; }
/// <remarks>region</remarks>
/// <remarks>"region"</remarks>
[Required]
public string? Region { get; set; }
/// <remarks>language</remarks>
/// <remarks>"language"</remarks>
public string? Language { get; set; }
/// <remarks>date</remarks>
/// <remarks>"date"</remarks>
public string? Date { get; set; }
/// <remarks>default</remarks>
/// <remarks>"default", (yes|no) "no"</remarks>
public bool? Default { get; set; }
}
}

View File

@@ -101,10 +101,10 @@ namespace SabreTools.Data.Models.ClrMamePro
#region RomVault Extensions
/// <remarks>inverted; Boolean; Appears after Date</remarks>
public string? Inverted { get; set; }
public bool? Inverted { get; set; }
/// <remarks>mia; Boolean; Appears after Inverted</remarks>
public string? MIA { get; set; }
public bool? MIA { get; set; }
#endregion
}

View File

@@ -20,7 +20,7 @@ namespace SabreTools.Data.Models.Listxml
/// <remarks>Only present in older versions</remarks>
[XmlAttribute("soundonly")]
public string? SoundOnly { get; set; }
public bool? SoundOnly { get; set; }
[XmlAttribute("clock")]
public string? Clock { get; set; }

View File

@@ -17,6 +17,6 @@ namespace SabreTools.Data.Models.Listxml
/// <remarks>(yes|no) "no"</remarks>
[XmlAttribute("inverted")]
public string? Inverted { get; set; }
public bool? Inverted { get; set; }
}
}

View File

@@ -41,7 +41,7 @@ namespace SabreTools.Data.Models.Listxml
/// <remarks>(yes|no) "no"</remarks>
[XmlAttribute("reverse")]
public string? Reverse { get; set; }
public bool? Reverse { get; set; }
/// <remarks>Numeric?</remarks>
[XmlAttribute("ways")]

View File

@@ -17,6 +17,6 @@ namespace SabreTools.Data.Models.Listxml
/// <remarks>(yes|no) "no"</remarks>
[XmlAttribute("inverted")]
public string? Inverted { get; set; }
public bool? Inverted { get; set; }
}
}

View File

@@ -29,7 +29,7 @@ namespace SabreTools.Data.Models.Listxml
/// <remarks>(yes|no) "no"</remarks>
[XmlAttribute("writable")]
public string? Writable { get; set; }
public bool? Writable { get; set; }
/// <remarks>(baddump|nodump|good) "good"</remarks>
[XmlAttribute("status")]
@@ -37,6 +37,6 @@ namespace SabreTools.Data.Models.Listxml
/// <remarks>(yes|no) "no"</remarks>
[XmlAttribute("optional")]
public string? Optional { get; set; }
public bool? Optional { get; set; }
}
}

View File

@@ -20,7 +20,7 @@ namespace SabreTools.Data.Models.Listxml
/// <remarks>(yes|no) "no"</remarks>
[XmlAttribute("flipx")]
public string? FlipX { get; set; }
public bool? FlipX { get; set; }
/// <remarks>Numeric</remarks>
[XmlAttribute("width")]

View File

@@ -40,18 +40,18 @@ namespace SabreTools.Data.Models.Listxml
/// <remarks>(yes|no) "no"</remarks>
[XmlAttribute("requiresartwork")]
public string? RequiresArtwork { get; set; }
public bool? RequiresArtwork { get; set; }
/// <remarks>(yes|no) "no"</remarks>
[XmlAttribute("unofficial")]
public string? Unofficial { get; set; }
public bool? Unofficial { get; set; }
/// <remarks>(yes|no) "no"</remarks>
[XmlAttribute("nosoundhardware")]
public string? NoSoundHardware { get; set; }
public bool? NoSoundHardware { get; set; }
/// <remarks>(yes|no) "no"</remarks>
[XmlAttribute("incomplete")]
public string? Incomplete { get; set; }
public bool? Incomplete { get; set; }
}
}

View File

@@ -18,19 +18,19 @@ namespace SabreTools.Data.Models.Listxml
/// <remarks>(yes|no) "no", Machine only</remarks>
[XmlAttribute("isbios")]
public string? IsBios { get; set; }
public bool? IsBios { get; set; }
/// <remarks>(yes|no) "no", Machine only</remarks>
[XmlAttribute("isdevice")]
public string? IsDevice { get; set; }
public bool? IsDevice { get; set; }
/// <remarks>(yes|no) "no", Machine only</remarks>
[XmlAttribute("ismechanical")]
public string? IsMechanical { get; set; }
public bool? IsMechanical { get; set; }
/// <remarks>(yes|no) "no"</remarks>
[XmlAttribute("runnable")]
public string? Runnable { get; set; }
public bool? Runnable { get; set; }
[XmlAttribute("cloneof")]
public string? CloneOf { get; set; }

View File

@@ -8,11 +8,11 @@ namespace SabreTools.Data.Models.Listxml
{
/// <remarks>(yes|no) "no"</remarks>
[XmlAttribute("service")]
public string? Service { get; set; }
public bool? Service { get; set; }
/// <remarks>(yes|no) "no"</remarks>
[XmlAttribute("tilt")]
public string? Tilt { get; set; }
public bool? Tilt { get; set; }
/// <remarks>Numeric</remarks>
[Required]

View File

@@ -11,7 +11,7 @@ namespace SabreTools.Data.Models.Listxml
/// <remarks>(yes|no) "no"</remarks>
[XmlAttribute("debug")]
public string? Debug { get; set; }
public bool? Debug { get; set; }
[Required]
[XmlAttribute("mameconfig")]

View File

@@ -10,6 +10,7 @@ namespace SabreTools.Data.Models.Listxml
[XmlAttribute("name")]
public string? Name { get; set; }
/// <remarks>(yes|no) "no"</remarks>
[XmlAttribute("default")]
public bool? Default { get; set; }

View File

@@ -40,14 +40,14 @@ namespace SabreTools.Data.Models.Listxml
/// <remarks>(yes|no) "no"</remarks>
[XmlAttribute("optional")]
public string? Optional { get; set; }
public bool? Optional { get; set; }
/// <remarks>(yes|no) "no", Only present in older versions</remarks>
[XmlAttribute("dispose")]
public string? Dispose { get; set; }
public bool? Dispose { get; set; }
/// <remarks>(yes|no) "no", Only present in older versions</remarks>
[XmlAttribute("soundonly")]
public string? SoundOnly { get; set; }
public bool? SoundOnly { get; set; }
}
}

View File

@@ -11,7 +11,7 @@ namespace SabreTools.Data.Models.Logiqx
/// <remarks>(yes|no) "no"</remarks>
[XmlAttribute("debug")]
public string? Debug { get; set; }
public bool? Debug { get; set; }
/// <remarks>No-Intro extension</remarks>
[XmlAttribute(Namespace = "http://www.w3.org/2001/XMLSchema-instance", AttributeName = "schemaLocation")]

View File

@@ -28,18 +28,18 @@ namespace SabreTools.Data.Models.Logiqx
/// <remarks>(yes|no) "no"</remarks>
[XmlAttribute("requiresartwork")]
public string? RequiresArtwork { get; set; }
public bool? RequiresArtwork { get; set; }
/// <remarks>(yes|no) "no"</remarks>
[XmlAttribute("unofficial")]
public string? Unofficial { get; set; }
public bool? Unofficial { get; set; }
/// <remarks>(yes|no) "no"</remarks>
[XmlAttribute("nosoundhardware")]
public string? NoSoundHardware { get; set; }
public bool? NoSoundHardware { get; set; }
/// <remarks>(yes|no) "no"</remarks>
[XmlAttribute("incomplete")]
public string? Incomplete { get; set; }
public bool? Incomplete { get; set; }
}
}

View File

@@ -17,15 +17,15 @@ namespace SabreTools.Data.Models.Logiqx
/// <remarks>(yes|no) "no"</remarks>
[XmlAttribute("isbios")]
public string? IsBios { get; set; }
public bool? IsBios { get; set; }
/// <remarks>(yes|no) "no", MAME extension</remarks>
[XmlAttribute("isdevice")]
public string? IsDevice { get; set; }
public bool? IsDevice { get; set; }
/// <remarks>(yes|no) "no", MAME extension</remarks>
[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
/// <remarks>(no|partial|yes) "no"</remarks>
[XmlAttribute("runnable")]
public string? Runnable { get; set; }
public bool? Runnable { get; set; }
[XmlElement("comment")]
public string[]? Comment { get; set; }

View File

@@ -92,10 +92,10 @@ namespace SabreTools.Data.Models.Logiqx
/// <remarks>Boolean; RomVault extension</remarks>
[XmlAttribute("inverted")]
public string? Inverted { get; set; }
public bool? Inverted { get; set; }
/// <remarks>Boolean; RomVault extension</remarks>
[XmlAttribute("mia")]
public string? MIA { get; set; }
public bool? MIA { get; set; }
}
}

View File

@@ -23,14 +23,14 @@ namespace SabreTools.Data.Models.Logiqx
/// <remarks>(yes|no) "no"</remarks>
[XmlAttribute("lockrommode")]
public string? LockRomMode { get; set; }
public bool? LockRomMode { get; set; }
/// <remarks>(yes|no) "no"</remarks>
[XmlAttribute("lockbiosmode")]
public string? LockBiosMode { get; set; }
public bool? LockBiosMode { get; set; }
/// <remarks>(yes|no) "no"</remarks>
[XmlAttribute("locksamplemode")]
public string? LockSampleMode { get; set; }
public bool? LockSampleMode { get; set; }
}
}

View File

@@ -8,6 +8,7 @@ namespace SabreTools.Data.Models.Metadata
{
#region Properties
/// <remarks>(yes|no) "no"</remarks>
public bool? Default { get; set; }
public string? Name { get; set; }

View File

@@ -8,6 +8,7 @@ namespace SabreTools.Data.Models.Metadata
{
#region Properties
/// <remarks>(yes|no) "no"</remarks>
public bool? Default { get; set; }
public string? Name { get; set; }

View File

@@ -10,6 +10,9 @@ namespace SabreTools.Data.Models.Metadata
public string? Name { get; set; }
/// <remarks>(yes|no) "no"</remarks>
public bool? SoundOnly { get; set; }
#endregion
#region Keys
@@ -20,9 +23,6 @@ namespace SabreTools.Data.Models.Metadata
/// <remarks>string</remarks>
public const string FlagsKey = "flags";
/// <remarks>(yes|no) "no"</remarks>
public const string SoundOnlyKey = "soundonly";
/// <remarks>string</remarks>
public const string TagKey = "tag";

View File

@@ -8,15 +8,15 @@ namespace SabreTools.Data.Models.Metadata
{
#region Properties
/// <remarks>(yes|no) "no"</remarks>
public bool? Inverted { get; set; }
public string? Name { get; set; }
#endregion
#region Keys
/// <remarks>(yes|no) "no"</remarks>
public const string InvertedKey = "inverted";
/// <remarks>string, possibly long</remarks>
public const string NumberKey = "number";

View File

@@ -8,6 +8,7 @@ namespace SabreTools.Data.Models.Metadata
{
#region Properties
/// <remarks>(yes|no) "no"</remarks>
public bool? Default { get; set; }
public string? Name { get; set; }

View File

@@ -6,6 +6,13 @@ namespace SabreTools.Data.Models.Metadata
[JsonObject("control"), XmlRoot("control")]
public class Control : DatItem
{
#region Properties
/// <remarks>(yes|no) "no"</remarks>
public bool? Reverse { get; set; }
#endregion
#region Keys
/// <remarks>long</remarks>
@@ -26,9 +33,6 @@ namespace SabreTools.Data.Models.Metadata
/// <remarks>long</remarks>
public const string ReqButtonsKey = "reqbuttons";
/// <remarks>(yes|no) "no"</remarks>
public const string ReverseKey = "reverse";
/// <remarks>long</remarks>
public const string SensitivityKey = "sensitivity";

View File

@@ -8,15 +8,15 @@ namespace SabreTools.Data.Models.Metadata
{
#region Properties
/// <remarks>(yes|no) "no"</remarks>
public bool? Inverted { get; set; }
public string? Name { get; set; }
#endregion
#region Keys
/// <remarks>(yes|no) "no"</remarks>
public const string InvertedKey = "inverted";
/// <remarks>string, possibly long</remarks>
public const string NumberKey = "number";

View File

@@ -8,6 +8,7 @@ namespace SabreTools.Data.Models.Metadata
{
#region Properties
/// <remarks>(yes|no) "no"</remarks>
public bool? Default { get; set; }
public string? Name { get; set; }

View File

@@ -8,6 +8,7 @@ namespace SabreTools.Data.Models.Metadata
{
#region Properties
/// <remarks>(yes|no) "no"</remarks>
public bool? Default { get; set; }
public string? Name { get; set; }

View File

@@ -10,6 +10,12 @@ namespace SabreTools.Data.Models.Metadata
public string? Name { get; set; }
/// <remarks>(yes|no) "no"</remarks>
public bool? Optional { get; set; }
/// <remarks>(yes|no) "no"</remarks>
public bool? Writable { get; set; }
#endregion
#region Keys
@@ -26,9 +32,6 @@ namespace SabreTools.Data.Models.Metadata
/// <remarks>string</remarks>
public const string MergeKey = "merge";
/// <remarks>(yes|no) "no"</remarks>
public const string OptionalKey = "optional";
/// <remarks>string</remarks>
public const string RegionKey = "region";
@@ -38,9 +41,6 @@ namespace SabreTools.Data.Models.Metadata
/// <remarks>(baddump|nodump|good|verified) "good"</remarks>
public const string StatusKey = "status";
/// <remarks>(yes|no) "no"</remarks>
public const string WritableKey = "writable";
#endregion
public Disk() => ItemType = ItemType.Disk;

View File

@@ -6,10 +6,14 @@ namespace SabreTools.Data.Models.Metadata
[JsonObject("display"), XmlRoot("display")]
public class Display : DatItem
{
#region Keys
#region Properties
/// <remarks>(yes|no) "no"</remarks>
public const string FlipXKey = "flipx";
public bool? FlipX { get; set; }
#endregion
#region Keys
/// <remarks>long</remarks>
public const string HBEndKey = "hbend";

View File

@@ -6,6 +6,22 @@ namespace SabreTools.Data.Models.Metadata
[JsonObject("driver"), XmlRoot("driver")]
public class Driver : DatItem
{
#region Properties
/// <remarks>(yes|no) "no"</remarks>
public bool? Incomplete { get; set; }
/// <remarks>(yes|no) "no"</remarks>
public bool? NoSoundHardware { get; set; }
/// <remarks>(yes|no) "no"</remarks>
public bool? RequiresArtwork { get; set; }
/// <remarks>(yes|no) "no"</remarks>
public bool? Unofficial { get; set; }
#endregion
#region Keys
/// <remarks>(plain|dirty)</remarks>
@@ -20,18 +36,9 @@ namespace SabreTools.Data.Models.Metadata
/// <remarks>(good|imperfect|preliminary)</remarks>
public const string EmulationKey = "emulation";
/// <remarks>(yes|no) "no"</remarks>
public const string IncompleteKey = "incomplete";
/// <remarks>(yes|no) "no"</remarks>
public const string NoSoundHardwareKey = "nosoundhardware";
/// <remarks>string, possibly long</remarks>
public const string PaletteSizeKey = "palettesize";
/// <remarks>(yes|no) "no"</remarks>
public const string RequiresArtworkKey = "requiresartwork";
/// <remarks>(supported|unsupported)</remarks>
public const string SaveStateKey = "savestate";
@@ -41,9 +48,6 @@ namespace SabreTools.Data.Models.Metadata
/// <remarks>(good|imperfect|preliminary|test)</remarks>
public const string StatusKey = "status";
/// <remarks>(yes|no) "no"</remarks>
public const string UnofficialKey = "unofficial";
#endregion
public Driver() => ItemType = ItemType.Driver;

View File

@@ -8,6 +8,21 @@ namespace SabreTools.Data.Models.Metadata
{
#region Properties
/// <remarks>(yes|no) "no"</remarks>
public bool? Debug { get; set; }
/// <remarks>(yes|no) "yes"</remarks>
public bool? ForceZipping { get; set; }
/// <remarks>(yes|no) "no"</remarks>
public bool? LockBiosMode { get; set; }
/// <remarks>(yes|no) "no"</remarks>
public bool? LockRomMode { get; set; }
/// <remarks>(yes|no) "no"</remarks>
public bool? LockSampleMode { get; set; }
public string? Name { get; set; }
#endregion
@@ -40,9 +55,6 @@ namespace SabreTools.Data.Models.Metadata
/// <remarks>string</remarks>
public const string DatVersionKey = "datversion";
/// <remarks>(yes|no) "no"</remarks>
public const string DebugKey = "debug";
/// <remarks>string</remarks>
public const string DescriptionKey = "description";
@@ -61,9 +73,6 @@ namespace SabreTools.Data.Models.Metadata
/// <remarks>(zip|unzip) "zip"</remarks>
public const string ForcePackingKey = "forcepacking";
/// <remarks>(yes|no) "yes"</remarks>
public const string ForceZippingKey = "forcezipping";
/// <remarks>string, string[]</remarks>
public const string HeaderKey = "header";
@@ -86,15 +95,6 @@ namespace SabreTools.Data.Models.Metadata
[NoFilter]
public const string InfosKey = "infos";
/// <remarks>(yes|no) "no"</remarks>
public const string LockBiosModeKey = "lockbiosmode";
/// <remarks>(yes|no) "no"</remarks>
public const string LockRomModeKey = "lockrommode";
/// <remarks>(yes|no) "no"</remarks>
public const string LockSampleModeKey = "locksamplemode";
/// <remarks>string</remarks>
public const string MameConfigKey = "mameconfig";

View File

@@ -6,6 +6,16 @@ namespace SabreTools.Data.Models.Metadata
[JsonObject("input"), XmlRoot("input")]
public class Input : DatItem
{
#region Properties
/// <remarks>(yes|no) "no"</remarks>
public bool? Service { get; set; }
/// <remarks>(yes|no) "no"</remarks>
public bool? Tilt { get; set; }
#endregion
#region Keys
/// <remarks>long</remarks>
@@ -20,12 +30,6 @@ namespace SabreTools.Data.Models.Metadata
/// <remarks>long</remarks>
public const string PlayersKey = "players";
/// <remarks>(yes|no) "no"</remarks>
public const string ServiceKey = "service";
/// <remarks>(yes|no) "no"</remarks>
public const string TiltKey = "tilt";
#endregion
public Input() => ItemType = ItemType.Input;

View File

@@ -8,8 +8,21 @@ namespace SabreTools.Data.Models.Metadata
{
#region Properties
/// <remarks>(yes|no) "no"</remarks>
public bool? IsBios { get; set; }
/// <remarks>(yes|no) "no"</remarks>
public bool? IsDevice { get; set; }
/// <remarks>(yes|no) "no"</remarks>
public bool? IsMechanical { get; set; }
public string? Name { get; set; }
/// <remarks>(yes|partial|no) "no"</remarks>
/// 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";
/// <remarks>(yes|no) "no"</remarks>
public const string IsBiosKey = "isbios";
/// <remarks>(yes|no) "no"</remarks>
public const string IsDeviceKey = "isdevice";
/// <remarks>(yes|no) "no"</remarks>
public const string IsMechanicalKey = "ismechanical";
/// <remarks>string</remarks>
public const string LanguageKey = "language";
@@ -215,9 +219,6 @@ namespace SabreTools.Data.Models.Metadata
/// <remarks>string</remarks>
public const string RotationKey = "rotation";
/// <remarks>(yes|no) "no"</remarks>
public const string RunnableKey = "runnable";
/// <remarks>Sample[]</remarks>
[NoFilter]
public const string SampleKey = "sample";

View File

@@ -8,6 +8,7 @@ namespace SabreTools.Data.Models.Metadata
{
#region Properties
/// <remarks>(yes|no) "no"</remarks>
public bool? Default { get; set; }
public string? Name { get; set; }

View File

@@ -8,6 +8,7 @@ namespace SabreTools.Data.Models.Metadata
{
#region Properties
/// <remarks>(yes|no) "no"</remarks>
public bool? Default { get; set; }
public string? Name { get; set; }

View File

@@ -8,8 +8,26 @@ namespace SabreTools.Data.Models.Metadata
{
#region Properties
/// <remarks>(yes|no) "no"</remarks>
public bool? Dispose { get; set; }
/// <remarks>bool; AttractMode.Row</remarks>
public bool? FileIsAvailable { get; set; }
/// <remarks>(yes|no) "no"</remarks>
public bool? Inverted { get; set; }
/// <remarks>(yes|no) "no"</remarks>
public bool? MIA { get; set; }
public string? Name { get; set; }
/// <remarks>(yes|no) "no"</remarks>
public bool? Optional { get; set; }
/// <remarks>(yes|no) "no"</remarks>
public bool? SoundOnly { get; set; }
#endregion
#region Keys
@@ -68,18 +86,12 @@ namespace SabreTools.Data.Models.Metadata
/// <remarks>string</remarks>
public const string DateKey = "date";
/// <remarks>(yes|no) "no"</remarks>
public const string DisposeKey = "dispose";
/// <remarks>string; OfflineList.FileRomCRC</remarks>
public const string ExtensionKey = "extension";
/// <remarks>long; ArchiveDotOrg.File</remarks>
public const string FileCountKey = "filecount";
/// <remarks>bool; AttractMode.Row</remarks>
public const string FileIsAvailableKey = "file_is_available";
/// <remarks>string</remarks>
public const string FlagsKey = "flags";
@@ -110,9 +122,6 @@ namespace SabreTools.Data.Models.Metadata
/// <remarks>string; ArchiveDotOrg.File</remarks>
public const string hOCRPageIndexModuleVersionKey = "hocr_pageindex_module_version";
/// <remarks>(yes|no) "no"</remarks>
public const string InvertedKey = "inverted";
/// <remarks>long; ArchiveDotOrg.File</remarks>
public const string LastModifiedTimeKey = "mtime";
@@ -140,9 +149,6 @@ namespace SabreTools.Data.Models.Metadata
/// <remarks>string</remarks>
public const string MergeKey = "merge";
/// <remarks>(yes|no) "no"</remarks>
public const string MIAKey = "mia";
/// <remarks>string; ArchiveDotOrg.File</remarks>
public const string TesseractOCRKey = "ocr";
@@ -170,9 +176,6 @@ namespace SabreTools.Data.Models.Metadata
/// <remarks>string, possibly long; Originally "offs"</remarks>
public const string OffsetKey = "offset";
/// <remarks>(yes|no) "no"</remarks>
public const string OptionalKey = "optional";
/// <remarks>string; ArchiveDotOrg.File</remarks>
public const string OriginalKey = "original";
@@ -218,9 +221,6 @@ namespace SabreTools.Data.Models.Metadata
/// <remarks>long</remarks>
public const string SizeKey = "size";
/// <remarks>(yes|no) "no"</remarks>
public const string SoundOnlyKey = "soundonly";
/// <remarks>string; ArchiveDotOrg.File</remarks>
public const string SourceKey = "source";

View File

@@ -8,6 +8,7 @@ namespace SabreTools.Data.Models.Metadata
{
#region Properties
/// <remarks>(yes|no) "no"</remarks>
public bool? Default { get; set; }
public string? Name { get; set; }

View File

@@ -5,7 +5,7 @@ namespace SabreTools.Data.Models.OfflineList
{
public class InfoBase
{
/// <remarks>Boolean</remarks>
/// <remarks>(true|false) "false"</remarks>
[XmlAttribute("visible")]
public string? Visible { get; set; }
@@ -13,7 +13,7 @@ namespace SabreTools.Data.Models.OfflineList
[XmlAttribute("inNamingOption")]
public string? InNamingOption { get; set; }
/// <remarks>Boolean</remarks>
/// <remarks>(true|false) "false"</remarks>
[XmlAttribute("default")]
public bool? Default { get; set; }
}

View File

@@ -9,7 +9,7 @@ namespace SabreTools.Data.Models.OfflineList
[XmlAttribute("value")]
public string? Value { get; set; }
/// <remarks>Boolean</remarks>
/// <remarks>(true|false) "false"</remarks>
[XmlAttribute("default")]
public bool? Default { get; set; }

View File

@@ -22,6 +22,6 @@ namespace SabreTools.Data.Models.SoftwareList
/// <remarks>(yes|no) "no"</remarks>
[XmlAttribute("writable")]
public string? Writeable { get; set; }
public bool? Writeable { get; set; }
}
}

View File

@@ -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<Control[]>(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));

View File

@@ -20,7 +20,7 @@ namespace SabreTools.Metadata.DatFiles.Test
Machine childMachine = new Machine();
childMachine.SetName("child");
childMachine.Write<string?>(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<string?>(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<string?>(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<string?>(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<string?>(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<string?>(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<string?>(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<string?>(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<string?>(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<string?>(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");

View File

@@ -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.OfflineList.Images>(Data.Models.Metadata.Header.ImagesKey));
Assert.Equal("imfolder", header.ReadString(Data.Models.Metadata.Header.ImFolderKey));
Assert.NotNull(header.Read<Data.Models.OfflineList.Infos>(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.OfflineList.NewDat>(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.Control>(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);

View File

@@ -105,8 +105,8 @@ namespace SabreTools.Metadata.DatFiles
Header.Write<string?>(Data.Models.Metadata.Header.DateKey, header.ReadString(Data.Models.Metadata.Header.DateKey));
if (Header.ReadString(Data.Models.Metadata.Header.DatVersionKey) is null)
Header.Write<string?>(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<string?>(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<string?>(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<string?>(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<string?>(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<string?>(Data.Models.Metadata.Header.IdKey, header.ReadString(Data.Models.Metadata.Header.IdKey));
if (Header.ReadString(Data.Models.Metadata.Header.ImFolderKey) is null)
Header.Write<string?>(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<string?>(Data.Models.Metadata.Header.MameConfigKey, header.ReadString(Data.Models.Metadata.Header.MameConfigKey));
if (Header.Name is null)

View File

@@ -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)
{

View File

@@ -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
{

View File

@@ -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<DupeType>(DatItem.DupeTypeKey));

View File

@@ -10,6 +10,17 @@ namespace SabreTools.Metadata.DatItems.Formats
[JsonObject("chip"), XmlRoot("chip")]
public sealed class Chip : DatItem<Data.Models.Metadata.Chip>
{
#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<string?>(Data.Models.Metadata.Chip.SoundOnlyKey, soundOnly.FromYesNo());
string? chipType = ReadString(Data.Models.Metadata.Chip.ChipTypeKey);
if (chipType is not null)
Write<string?>(Data.Models.Metadata.Chip.ChipTypeKey, chipType.AsChipType()?.AsStringValue());

View File

@@ -10,17 +10,21 @@ namespace SabreTools.Metadata.DatItems.Formats
[JsonObject("conflocation"), XmlRoot("conflocation")]
public sealed class ConfLocation : DatItem<Data.Models.Metadata.ConfLocation>
{
#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<string?>(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)
{

View File

@@ -10,6 +10,16 @@ namespace SabreTools.Metadata.DatItems.Formats
[JsonObject("control"), XmlRoot("control")]
public sealed class Control : DatItem<Data.Models.Metadata.Control>
{
#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<string?>(Data.Models.Metadata.Control.ReqButtonsKey, reqButtons.ToString());
bool? reverse = ReadBool(Data.Models.Metadata.Control.ReverseKey);
if (reverse is not null)
Write<string?>(Data.Models.Metadata.Control.ReverseKey, reverse.FromYesNo());
long? sensitivity = ReadLong(Data.Models.Metadata.Control.SensitivityKey);
if (sensitivity is not null)
Write<string?>(Data.Models.Metadata.Control.SensitivityKey, sensitivity.ToString());

View File

@@ -10,17 +10,21 @@ namespace SabreTools.Metadata.DatItems.Formats
[JsonObject("diplocation"), XmlRoot("diplocation")]
public sealed class DipLocation : DatItem<Data.Models.Metadata.DipLocation>
{
#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<string?>(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)
{

View File

@@ -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<DupeType>(DupeTypeKey, 0x00);
// Process flag values
bool? optional = ReadBool(Data.Models.Metadata.Disk.OptionalKey);
if (optional is not null)
Write<string?>(Data.Models.Metadata.Disk.OptionalKey, optional.FromYesNo());
string? status = ReadString(Data.Models.Metadata.Disk.StatusKey);
if (status is not null)
Write<string?>(Data.Models.Metadata.Disk.StatusKey, status.AsItemStatus()?.AsStringValue());
bool? writable = ReadBool(Data.Models.Metadata.Disk.WritableKey);
if (writable is not null)
Write<string?>(Data.Models.Metadata.Disk.WritableKey, writable.FromYesNo());
// Process hash values
string? md5 = ReadString(Data.Models.Metadata.Disk.MD5Key);
if (md5 is not null)

View File

@@ -11,6 +11,16 @@ namespace SabreTools.Metadata.DatItems.Formats
[JsonObject("display"), XmlRoot("display")]
public sealed class Display : DatItem<Data.Models.Metadata.Display>
{
#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<string?>(Data.Models.Metadata.Display.FlipXKey, flipX.FromYesNo());
long? hbEnd = ReadLong(Data.Models.Metadata.Display.HBEndKey);
if (hbEnd is not null)
Write<string?>(Data.Models.Metadata.Display.HBEndKey, hbEnd.ToString());

View File

@@ -10,6 +10,34 @@ namespace SabreTools.Metadata.DatItems.Formats
[JsonObject("driver"), XmlRoot("driver")]
public sealed class Driver : DatItem<Data.Models.Metadata.Driver>
{
#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<string?>(Data.Models.Metadata.Driver.EmulationKey, emulation.AsSupportStatus()?.AsStringValue());
bool? incomplete = ReadBool(Data.Models.Metadata.Driver.IncompleteKey);
if (incomplete is not null)
Write<string?>(Data.Models.Metadata.Driver.IncompleteKey, incomplete.FromYesNo());
bool? noSoundHardware = ReadBool(Data.Models.Metadata.Driver.NoSoundHardwareKey);
if (noSoundHardware is not null)
Write<string?>(Data.Models.Metadata.Driver.NoSoundHardwareKey, noSoundHardware.FromYesNo());
long? paletteSize = ReadLong(Data.Models.Metadata.Driver.PaletteSizeKey);
if (paletteSize is not null)
Write<string?>(Data.Models.Metadata.Driver.PaletteSizeKey, paletteSize.ToString());
bool? requiresArtwork = ReadBool(Data.Models.Metadata.Driver.RequiresArtworkKey);
if (requiresArtwork is not null)
Write<string?>(Data.Models.Metadata.Driver.RequiresArtworkKey, requiresArtwork.FromYesNo());
string? saveState = ReadString(Data.Models.Metadata.Driver.SaveStateKey);
if (saveState is not null)
Write<string?>(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<string?>(Data.Models.Metadata.Driver.StatusKey, status.AsSupportStatus()?.AsStringValue());
bool? unofficial = ReadBool(Data.Models.Metadata.Driver.UnofficialKey);
if (unofficial is not null)
Write<string?>(Data.Models.Metadata.Driver.UnofficialKey, unofficial.FromYesNo());
}
public Driver(Data.Models.Metadata.Driver item, Machine machine, Source source) : this(item)

View File

@@ -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<string?>(Data.Models.Metadata.Input.PlayersKey, players.ToString());
bool? service = ReadBool(Data.Models.Metadata.Input.ServiceKey);
if (service is not null)
Write<string?>(Data.Models.Metadata.Input.ServiceKey, service.FromYesNo());
bool? tilt = ReadBool(Data.Models.Metadata.Input.TiltKey);
if (tilt is not null)
Write<string?>(Data.Models.Metadata.Input.TiltKey, tilt.FromYesNo());
// Handle subitems
var controls = item.ReadArray<Data.Models.Metadata.Control>(Data.Models.Metadata.Input.ControlKey);
if (controls is not null)

View File

@@ -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?>("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?>("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<DupeType>(DupeTypeKey, 0x00);
// Process flag values
bool? dispose = ReadBool(Data.Models.Metadata.Rom.DisposeKey);
if (dispose is not null)
Write<string?>(Data.Models.Metadata.Rom.DisposeKey, dispose.FromYesNo());
bool? inverted = ReadBool(Data.Models.Metadata.Rom.InvertedKey);
if (inverted is not null)
Write<string?>(Data.Models.Metadata.Rom.InvertedKey, inverted.FromYesNo());
string? loadFlag = ReadString(Data.Models.Metadata.Rom.LoadFlagKey);
if (loadFlag is not null)
Write<string?>(Data.Models.Metadata.Rom.LoadFlagKey, loadFlag.AsLoadFlag()?.AsStringValue());
@@ -210,18 +238,6 @@ namespace SabreTools.Metadata.DatItems.Formats
if (openMSXMediaType is not null)
Write<string?>(Data.Models.Metadata.Rom.OpenMSXMediaType, openMSXMediaType.AsOpenMSXSubType()?.AsStringValue());
bool? mia = ReadBool(Data.Models.Metadata.Rom.MIAKey);
if (mia is not null)
Write<string?>(Data.Models.Metadata.Rom.MIAKey, mia.FromYesNo());
bool? optional = ReadBool(Data.Models.Metadata.Rom.OptionalKey);
if (optional is not null)
Write<string?>(Data.Models.Metadata.Rom.OptionalKey, optional.FromYesNo());
bool? soundOnly = ReadBool(Data.Models.Metadata.Rom.SoundOnlyKey);
if (soundOnly is not null)
Write<string?>(Data.Models.Metadata.Rom.SoundOnlyKey, soundOnly.FromYesNo());
string? status = ReadString(Data.Models.Metadata.Rom.StatusKey);
if (status is not null)
Write<string?>(Data.Models.Metadata.Rom.StatusKey, status.AsItemStatus()?.AsStringValue());

View File

@@ -13,6 +13,34 @@ namespace SabreTools.Metadata.DatItems
[JsonObject("machine"), XmlRoot("machine")]
public sealed class Machine : ModelBackedItem<Data.Models.Metadata.Machine>, ICloneable, IEquatable<Machine>
{
#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<string?>(Data.Models.Metadata.Machine.Im2CRCKey, TextHelper.NormalizeCRC32(im2Crc));
bool? isBios = ReadBool(Data.Models.Metadata.Machine.IsBiosKey);
if (isBios is not null)
Write<string?>(Data.Models.Metadata.Machine.IsBiosKey, isBios.FromYesNo());
bool? isDevice = ReadBool(Data.Models.Metadata.Machine.IsDeviceKey);
if (isDevice is not null)
Write<string?>(Data.Models.Metadata.Machine.IsDeviceKey, isDevice.FromYesNo());
bool? isMechanical = ReadBool(Data.Models.Metadata.Machine.IsMechanicalKey);
if (isMechanical is not null)
Write<string?>(Data.Models.Metadata.Machine.IsMechanicalKey, isMechanical.FromYesNo());
string? supported = ReadString(Data.Models.Metadata.Machine.SupportedKey);
if (supported is not null)
Write<string?>(Data.Models.Metadata.Machine.SupportedKey, supported.AsSupported()?.AsStringValue());

View File

@@ -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;

View File

@@ -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

View File

@@ -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);
}
}
}

View File

@@ -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);
}
/// <summary>
@@ -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);
}
/// <summary>

View File

@@ -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);
}
/// <summary>
@@ -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);
}
/// <summary>
@@ -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);
}
/// <summary>
@@ -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);
}
/// <summary>
@@ -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);
}
/// <summary>

View File

@@ -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);
}
/// <summary>
@@ -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);
}
/// <summary>
@@ -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);
}
/// <summary>

View File

@@ -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);
}
/// <summary>
@@ -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);
}
/// <summary>
@@ -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);
}
/// <summary>
@@ -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);
}
/// <summary>
@@ -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);
}
/// <summary>

View File

@@ -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);
}
/// <summary>
@@ -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);
}
/// <summary>
@@ -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);
}
/// <summary>
@@ -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);
}
/// <summary>
@@ -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);
}
/// <summary>

View File

@@ -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);
}
/// <summary>

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;

View File

@@ -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
{

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -35,6 +35,7 @@
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\SabreTools.Data.Extensions\SabreTools.Data.Extensions.csproj" />
<ProjectReference Include="..\SabreTools.Data.Models\SabreTools.Data.Models.csproj" />
</ItemGroup>

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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
{

View File

@@ -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);
}
/// <summary>
@@ -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);
}
/// <summary>

View File

@@ -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);
}
/// <summary>
@@ -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);
}
/// <summary>
@@ -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);
}
/// <summary>
@@ -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);
}
/// <summary>
@@ -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);
}
/// <summary>

View File

@@ -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);
}
/// <summary>
@@ -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);
}
/// <summary>
@@ -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);
}
/// <summary>

View File

@@ -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);
}
/// <summary>
@@ -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);
}
/// <summary>
@@ -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);
}
/// <summary>
@@ -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);
}
/// <summary>
@@ -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);
}
/// <summary>

View File

@@ -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);
}
/// <summary>
@@ -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);
}
/// <summary>
@@ -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);
}
/// <summary>
@@ -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);
}
/// <summary>
@@ -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);
}
/// <summary>

View File

@@ -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);
}
/// <summary>

View File

@@ -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(),
};
}

View File

@@ -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

View File

@@ -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<GameBase> 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;
}

View File

@@ -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<string> comments = [];
List<string> 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;
}

View File

@@ -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;
}

View File

@@ -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;
}

Some files were not shown because too many files have changed in this diff Show More