Create Required attribute and tag properties

This commit is contained in:
Matt Nadareski
2023-08-10 12:09:29 -04:00
parent 1557882fe1
commit fb81fd0243
89 changed files with 316 additions and 155 deletions

View File

@@ -6,8 +6,9 @@ namespace SabreTools.Models.Listxml
[XmlRoot("adjuster")]
public class Adjuster
{
[Required]
[XmlAttribute("name")]
public string Name { get; set; }
public string? Name { get; set; }
/// <remarks>(yes|no) "no"</remarks>
[XmlAttribute("default")]

View File

@@ -6,8 +6,9 @@ namespace SabreTools.Models.Listxml
[XmlRoot("analog")]
public class Analog
{
[Required]
[XmlAttribute("mask")]
public string Mask { get; set; }
public string? Mask { get; set; }
#region DO NOT USE IN PRODUCTION

View File

@@ -6,11 +6,13 @@ namespace SabreTools.Models.Listxml
[XmlRoot("biosset")]
public class BiosSet
{
[Required]
[XmlAttribute("name")]
public string Name { get; set; }
public string? Name { get; set; }
[Required]
[XmlAttribute("description")]
public string Description { get; set; }
public string? Description { get; set; }
/// <remarks>(yes|no) "no"</remarks>
[XmlAttribute("default")]

View File

@@ -6,15 +6,17 @@ namespace SabreTools.Models.Listxml
[XmlRoot("chip")]
public class Chip
{
[Required]
[XmlAttribute("name")]
public string Name { get; set; }
public string? Name { get; set; }
[XmlAttribute("tag")]
public string? Tag { get; set; }
/// <remarks>(cpu|audio)</remarks>
[Required]
[XmlAttribute("type")]
public string Type { get; set; }
public string? Type { get; set; }
/// <remarks>Only present in older versions</remarks>
[XmlAttribute("soundonly")]

View File

@@ -6,18 +6,22 @@ namespace SabreTools.Models.Listxml
[XmlRoot("condition")]
public class Condition
{
[Required]
[XmlAttribute("tag")]
public string Tag { get; set; }
public string? Tag { get; set; }
[Required]
[XmlAttribute("mask")]
public string Mask { get; set; }
public string? Mask { get; set; }
/// <remarks>(eq|ne|gt|le|lt|ge)</remarks>
[Required]
[XmlAttribute("relation")]
public string Relation { get; set; }
public string? Relation { get; set; }
[Required]
[XmlAttribute("value")]
public string Value { get; set; }
public string? Value { get; set; }
#region DO NOT USE IN PRODUCTION

View File

@@ -6,12 +6,14 @@ namespace SabreTools.Models.Listxml
[XmlRoot("conflocation")]
public class ConfLocation
{
[Required]
[XmlAttribute("name")]
public string Name { get; set; }
public string? Name { get; set; }
/// <remarks>Numeric?</remarks>
[Required]
[XmlAttribute("number")]
public string Number { get; set; }
public string? Number { get; set; }
/// <remarks>(yes|no) "no"</remarks>
[XmlAttribute("inverted")]

View File

@@ -6,11 +6,13 @@ namespace SabreTools.Models.Listxml
[XmlRoot("confsetting")]
public class ConfSetting
{
[Required]
[XmlAttribute("name")]
public string Name { get; set; }
public string? Name { get; set; }
[Required]
[XmlAttribute("value")]
public string Value { get; set; }
public string? Value { get; set; }
/// <remarks>(yes|no) "no"</remarks>
[XmlAttribute("default")]

View File

@@ -6,11 +6,13 @@ namespace SabreTools.Models.Listxml
[XmlRoot("configuration")]
public class Configuration
{
[Required]
[XmlAttribute("name")]
public string Name { get; set; }
public string? Name { get; set; }
[Required]
[XmlAttribute("tag")]
public string Tag { get; set; }
public string? Tag { get; set; }
[XmlAttribute("mask")]
public string? Mask { get; set; }

View File

@@ -7,8 +7,9 @@ namespace SabreTools.Models.Listxml
public class Control
{
/// <remarks>(joy|stick|paddle|pedal|lightgun|positional|dial|trackball|mouse|only_buttons|keypad|keyboard|mahjong|hanafuda|gambling)</remarks>
[Required]
[XmlAttribute("type")]
public string Type { get; set; }
public string? Type { get; set; }
/// <remarks>Numeric</remarks>
[XmlAttribute("player")]

View File

@@ -6,8 +6,9 @@ namespace SabreTools.Models.Listxml
[XmlRoot("device")]
public class Device
{
[Required]
[XmlAttribute("type")]
public string Type { get; set; }
public string? Type { get; set; }
[XmlAttribute("tag")]
public string? Tag { get; set; }

View File

@@ -6,8 +6,9 @@ namespace SabreTools.Models.Listxml
[XmlRoot("device_ref")]
public class DeviceRef
{
[Required]
[XmlAttribute("name")]
public string Name { get; set; }
public string? Name { get; set; }
#region DO NOT USE IN PRODUCTION

View File

@@ -6,12 +6,14 @@ namespace SabreTools.Models.Listxml
[XmlRoot("diplocation")]
public class DipLocation
{
[Required]
[XmlAttribute("name")]
public string Name { get; set; }
public string? Name { get; set; }
/// <remarks>Numeric?</remarks>
[Required]
[XmlAttribute("number")]
public string Number { get; set; }
public string? Number { get; set; }
/// <remarks>(yes|no) "no"</remarks>
[XmlAttribute("inverted")]

View File

@@ -6,11 +6,13 @@ namespace SabreTools.Models.Listxml
[XmlRoot("dipswitch")]
public class DipSwitch
{
[Required]
[XmlAttribute("name")]
public string Name { get; set; }
public string? Name { get; set; }
[Required]
[XmlAttribute("tag")]
public string Tag { get; set; }
public string? Tag { get; set; }
[XmlAttribute("mask")]
public string? Mask { get; set; }

View File

@@ -6,11 +6,13 @@ namespace SabreTools.Models.Listxml
[XmlRoot("dipvalue")]
public class DipValue
{
[Required]
[XmlAttribute("name")]
public string Name { get; set; }
public string? Name { get; set; }
[Required]
[XmlAttribute("value")]
public string Value { get; set; }
public string? Value { get; set; }
/// <remarks>(yes|no) "no"</remarks>
[XmlAttribute("default")]

View File

@@ -6,8 +6,9 @@ namespace SabreTools.Models.Listxml
[XmlRoot("disk")]
public class Disk
{
[Required]
[XmlAttribute("name")]
public string Name { get; set; }
public string? Name { get; set; }
/// <remarks>Only present in older versions</remarks>
[XmlAttribute("md5")]

View File

@@ -10,8 +10,9 @@ namespace SabreTools.Models.Listxml
public string? Tag { get; set; }
/// <remarks>(raster|vector|lcd|svg|unknown)</remarks>
[Required]
[XmlAttribute("type")]
public string Type { get; set; }
public string? Type { get; set; }
/// <remarks>(0|90|180|270)</remarks>
[XmlAttribute("rotate")]
@@ -30,8 +31,9 @@ namespace SabreTools.Models.Listxml
public string? Height { get; set; }
/// <remarks>Numeric</remarks>
[Required]
[XmlAttribute("refresh")]
public string Refresh { get; set; }
public string? Refresh { get; set; }
/// <remarks>Numeric</remarks>
[XmlAttribute("pixclock")]

View File

@@ -7,8 +7,9 @@ namespace SabreTools.Models.Listxml
public class Driver
{
/// <remarks>(good|imperfect|preliminary), (good|preliminary|test) in older versions</remarks>
[Required]
[XmlAttribute("status")]
public string Status { get; set; }
public string? Status { get; set; }
/// <remarks>(good|imperfect|preliminary), Only present in older versions</remarks>
[XmlAttribute("color")]
@@ -23,16 +24,19 @@ namespace SabreTools.Models.Listxml
public string? PaletteSize { get; set; }
/// <remarks>(good|imperfect|preliminary)</remarks>
[Required]
[XmlAttribute("emulation")]
public string Emulation { get; set; }
public string? Emulation { get; set; }
/// <remarks>(good|imperfect|preliminary)</remarks>
[Required]
[XmlAttribute("cocktail")]
public string Cocktail { get; set; }
public string? Cocktail { get; set; }
/// <remarks>(supported|unsupported)</remarks>
[Required]
[XmlAttribute("savestate")]
public string SaveState { get; set; }
public string? SaveState { get; set; }
/// <remarks>(yes|no) "no"</remarks>
[XmlAttribute("requiresartwork")]

View File

@@ -6,8 +6,9 @@ namespace SabreTools.Models.Listxml
[XmlRoot("extension")]
public class Extension
{
[Required]
[XmlAttribute("name")]
public string Name { get; set; }
public string? Name { get; set; }
#region DO NOT USE IN PRODUCTION

View File

@@ -7,8 +7,9 @@ namespace SabreTools.Models.Listxml
public class Feature
{
/// <remarks>(protection|timing|graphics|palette|sound|capture|camera|microphone|controls|keyboard|mouse|media|disk|printer|tape|punch|drum|rom|comms|lan|wan)</remarks>
[Required]
[XmlAttribute("type")]
public string Type { get; set; }
public string? Type { get; set; }
/// <remarks>(unemulated|imperfect)</remarks>
[XmlAttribute("status")]

View File

@@ -8,8 +8,9 @@ namespace SabreTools.Models.Listxml
/// </summary>
public abstract class GameBase
{
[Required]
[XmlAttribute("name")]
public string Name { get; set; }
public string? Name { get; set; }
/// <remarks>Machine only</remarks>
[XmlAttribute("sourcefile")]
@@ -40,8 +41,9 @@ namespace SabreTools.Models.Listxml
[XmlAttribute("sampleof")]
public string? SampleOf { get; set; }
[Required]
[XmlElement("description")]
public string Description { get; set; }
public string? Description { get; set; }
[XmlElement("year")]
public string? Year { get; set; }

View File

@@ -15,8 +15,9 @@ namespace SabreTools.Models.Listxml
public string? Tilt { get; set; }
/// <remarks>Numeric</remarks>
[Required]
[XmlAttribute("players")]
public string Players { get; set; }
public string? Players { get; set; }
/// <remarks>Only present in older versions</remarks>
[XmlAttribute("control")]

View File

@@ -6,11 +6,13 @@ namespace SabreTools.Models.Listxml
[XmlRoot("instance")]
public class Instance
{
[Required]
[XmlAttribute("name")]
public string Name { get; set; }
public string? Name { get; set; }
[Required]
[XmlAttribute("briefname")]
public string BriefName { get; set; }
public string? BriefName { get; set; }
#region DO NOT USE IN PRODUCTION

View File

@@ -11,7 +11,7 @@ namespace SabreTools.Models.Listxml
[XmlElement("machine", typeof(Machine))]
[XmlElement("game", typeof(Game))]
public GameBase[] Game { get; set; }
public GameBase[]? Game { get; set; }
#region DO NOT USE IN PRODUCTION

View File

@@ -13,12 +13,13 @@ namespace SabreTools.Models.Listxml
[XmlAttribute("debug")]
public string? Debug { get; set; }
[Required]
[XmlAttribute("mameconfig")]
public string MameConfig { get; set; }
public string? MameConfig { get; set; }
[XmlElement("machine", typeof(Machine))]
[XmlElement("game", typeof(Game))]
public GameBase[] Game { get; set; }
public GameBase[]? Game { get; set; }
#region DO NOT USE IN PRODUCTION

View File

@@ -6,8 +6,9 @@ namespace SabreTools.Models.Listxml
[XmlRoot("port")]
public class Port
{
[Required]
[XmlAttribute("tag")]
public string Tag { get; set; }
public string? Tag { get; set; }
[XmlElement("analog")]
public Analog[]? Analog { get; set; }

View File

@@ -6,8 +6,9 @@ namespace SabreTools.Models.Listxml
[XmlRoot("ramoption")]
public class RamOption
{
[Required]
[XmlAttribute("name")]
public string Name { get; set; }
public string? Name { get; set; }
[XmlAttribute("default")]
public string? Default { get; set; }

View File

@@ -6,15 +6,17 @@ namespace SabreTools.Models.Listxml
[XmlRoot("rom")]
public class Rom
{
[Required]
[XmlAttribute("name")]
public string Name { get; set; }
public string? Name { get; set; }
[XmlAttribute("bios")]
public string? Bios { get; set; }
/// <remarks>Numeric</remarks>
[Required]
[XmlAttribute("size")]
public string Size { get; set; }
public string? Size { get; set; }
[XmlAttribute("crc")]
public string? CRC { get; set; }

View File

@@ -6,8 +6,9 @@ namespace SabreTools.Models.Listxml
[XmlRoot("sample")]
public class Sample
{
[Required]
[XmlAttribute("name")]
public string Name { get; set; }
public string? Name { get; set; }
#region DO NOT USE IN PRODUCTION

View File

@@ -6,8 +6,9 @@ namespace SabreTools.Models.Listxml
[XmlRoot("slot")]
public class Slot
{
[Required]
[XmlAttribute("name")]
public string Name { get; set; }
public string? Name { get; set; }
[XmlElement("slotoption")]
public SlotOption[]? SlotOption { get; set; }

View File

@@ -6,11 +6,13 @@ namespace SabreTools.Models.Listxml
[XmlRoot("slotoption")]
public class SlotOption
{
[Required]
[XmlAttribute("name")]
public string Name { get; set; }
public string? Name { get; set; }
[Required]
[XmlAttribute("devname")]
public string DevName { get; set; }
public string? DevName { get; set; }
/// <remarks>(yes|no) "no"</remarks>
[XmlAttribute("default")]

View File

@@ -6,15 +6,18 @@ namespace SabreTools.Models.Listxml
[XmlRoot("softwarelist")]
public class SoftwareList
{
[Required]
[XmlAttribute("tag")]
public string Tag { get; set; }
public string? Tag { get; set; }
[Required]
[XmlAttribute("name")]
public string Name { get; set; }
public string? Name { get; set; }
/// <remarks>(original|compatible)</remarks>
[Required]
[XmlAttribute("status")]
public string Status { get; set; }
public string? Status { get; set; }
[XmlAttribute("filter")]
public string? Filter { get; set; }

View File

@@ -7,8 +7,9 @@ namespace SabreTools.Models.Listxml
public class Sound
{
/// <remarks>Numeric</remarks>
[Required]
[XmlAttribute("channels")]
public string Channels { get; set; }
public string? Channels { get; set; }
#region DO NOT USE IN PRODUCTION

View File

@@ -7,12 +7,14 @@ namespace SabreTools.Models.Listxml
public class Video
{
/// <remarks>(raster|vector)</remarks>
[Required]
[XmlAttribute("screen")]
public string Screen { get; set; }
public string? Screen { get; set; }
/// <remarks>(vertical|horizontal)</remarks>
[Required]
[XmlAttribute("orientation")]
public string Orientation { get; set; }
public string? Orientation { get; set; }
/// <remarks>Numeric</remarks>
[XmlAttribute("width")]