Update Logiqx DTD, add models (nw)

This commit is contained in:
Matt Nadareski
2023-07-12 10:40:21 -04:00
parent 14e765bcf5
commit 13af5a4f50
16 changed files with 707 additions and 35 deletions

View File

@@ -0,0 +1,12 @@
using System.Xml;
using System.Xml.Serialization;
namespace SabreTools.Models.Logiqx
{
[XmlRoot("archive")]
public class Archive
{
[XmlAttribute("name")]
public string Name { get; set; }
}
}

View File

@@ -0,0 +1,19 @@
using System.Xml;
using System.Xml.Serialization;
namespace SabreTools.Models.Logiqx
{
[XmlRoot("biosset")]
public class BiosSet
{
[XmlAttribute("name")]
public string Name { get; set; }
[XmlAttribute("description")]
public string Description { get; set; }
/// <remarks>(yes|no) "no"</remarks>
[XmlAttribute("default")]
public string? Default { get; set; }
}
}

View File

@@ -0,0 +1,24 @@
using System.Xml;
using System.Xml.Serialization;
namespace SabreTools.Models.Logiqx
{
[XmlRoot("clrmamepro")]
public class ClrMamePro
{
[XmlAttribute("header")]
public string? Header { get; set; }
/// <remarks>(none|split|merged|nonmerged|fullmerged|device|full) "split"</remarks>
[XmlAttribute("forcemerging")]
public string? ForceMerging { get; set; }
/// <remarks>(obsolete|required|ignore) "obsolete"</remarks>
[XmlAttribute("forcenodump")]
public string? ForceNodump { get; set; }
/// <remarks>(zip|unzip) "zip"</remarks>
[XmlAttribute("forcepacking")]
public string? ForcePacking { get; set; }
}
}

View File

@@ -0,0 +1,33 @@
using System.Xml;
using System.Xml.Serialization;
namespace SabreTools.Models.Logiqx
{
[XmlRoot("datafile")]
public class Datafile
{
[XmlAttribute("build")]
public string? Build { get; set; }
/// <remarks>(yes|no) "no"</remarks>
[XmlAttribute("debug")]
public string? Debug { get; set; }
[XmlElement("header")]
public Header? Header { get; set; }
[XmlElement("game")]
public Game[]? Game { get; set; }
[XmlElement("machine")]
public Machine[]? Machine { get; set; }
#region RomVault Extensions
/// <remarks>Boolean; Appears after Header</remarks>
[XmlAttribute("dir")]
public Dir[]? Dir { get; set; }
#endregion
}
}

View File

@@ -0,0 +1,18 @@
using System.Xml;
using System.Xml.Serialization;
namespace SabreTools.Models.Logiqx
{
[XmlRoot("dir")]
public class Dir
{
[XmlAttribute("name")]
public string Name { get; set; }
[XmlAttribute("machine")]
public Game[]? Game { get; set; }
[XmlAttribute("machine")]
public Machine[]? Machine { get; set; }
}
}

View File

@@ -0,0 +1,25 @@
using System.Xml;
using System.Xml.Serialization;
namespace SabreTools.Models.Logiqx
{
[XmlRoot("disk")]
public class Disk
{
[XmlAttribute("name")]
public string Name { get; set; }
[XmlAttribute("md5")]
public string? MD5 { get; set; }
[XmlAttribute("sha1")]
public string? SHA1 { get; set; }
[XmlAttribute("merge")]
public string? Merge { get; set; }
/// <remarks>(baddump|nodump|good|verified) "good"</remarks>
[XmlAttribute("status")]
public string? Status { get; set; }
}
}

View File

@@ -0,0 +1,102 @@
using System.Xml;
using System.Xml.Serialization;
namespace SabreTools.Models.Logiqx
{
[XmlRoot("game")]
public class Game
{
[XmlAttribute("name")]
public string Name { get; set; }
[XmlAttribute("sourcefile")]
public string? SourceFile { get; set; }
/// <remarks>(yes|no) "no"</remarks>
[XmlAttribute("isbios")]
public string? IsBios { get; set; }
[XmlAttribute("cloneof")]
public string? CloneOf { get; set; }
[XmlAttribute("romof")]
public string? RomOf { get; set; }
[XmlAttribute("sampleof")]
public string? SampleOf { get; set; }
[XmlAttribute("board")]
public string? Board { get; set; }
[XmlAttribute("rebuildto")]
public string? RebuildTo { get; set; }
/// <remarks>(no|partial|yes) "no"</remarks>
[XmlAttribute("runnable")]
public string? Runnable { get; set; }
[XmlElement("comment")]
public string[]? Comment { get; set; }
[XmlElement("description")]
public string Description { get; set; }
[XmlElement("year")]
public string? Year { get; set; }
[XmlElement("manufacturer")]
public string? Manufacturer { get; set; }
[XmlElement("publisher")]
public string? Publisher { get; set; }
[XmlElement("category")]
public string? Category { get; set; }
[XmlElement("release")]
public Release[]? Release { get; set; }
[XmlElement("biosset")]
public BiosSet[]? BiosSet { get; set; }
[XmlElement("rom")]
public Rom[]? Rom { get; set; }
[XmlElement("disk")]
public Disk[]? Disk { get; set; }
[XmlElement("sample")]
public Sample[]? Sample { get; set; }
[XmlElement("archive")]
public Archive[]? Archive { get; set; }
#region Aaru Extensions
/// <remarks>Appears after Disk</remarks>
[XmlElement("media")]
public Media[]? Media { get; set; }
#endregion
#region No-Intro Extensions
/// <remarks>Appears after RebuildTo</remarks>
[XmlAttribute("id")]
public string? Id { get; set; }
/// <remarks>Appears after Id</remarks>
[XmlAttribute("cloneofid")]
public string? CloneOfId { get; set; }
#endregion
#region Trurip Extensions
/// <remarks>Appears after Category</remarks>
[XmlElement("trurip")]
public Trurip? Trurip { get; set; }
#endregion
}
}

View File

@@ -0,0 +1,65 @@
using System.Xml;
using System.Xml.Serialization;
namespace SabreTools.Models.Logiqx
{
[XmlRoot("header")]
public class Header
{
[XmlAttribute("name")]
public string Name { get; set; }
[XmlElement("description")]
public string Description { get; set; }
[XmlElement("category")]
public string? Category { get; set; }
[XmlElement("version")]
public string Version { get; set; }
[XmlElement("date")]
public string? Date { get; set; }
[XmlElement("author")]
public string Author { get; set; }
[XmlElement("email")]
public string? Email { get; set; }
[XmlElement("homepage")]
public string? Homepage { get; set; }
[XmlElement("url")]
public string? Url { get; set; }
[XmlElement("comment")]
public string? Comment { get; set; }
[XmlElement("clrmamepro")]
public ClrMamePro? ClrMamePro { get; set; }
[XmlElement("romcenter")]
public RomCenter? RomCenter { get; set; }
#region No-Intro Extensions
/// <remarks>Appears at very top</remarks>
[XmlElement("id")]
public string? Id { get; set; }
#endregion
#region Trurip Extensions
/// <remarks>Appears after Description</remarks>
[XmlElement("rootdir")]
public string? RootDir { get; set; }
/// <remarks>Appears after Comment</remarks>
[XmlElement("type")]
public string? Type { get; set; }
#endregion
}
}

View File

@@ -0,0 +1,102 @@
using System.Xml;
using System.Xml.Serialization;
namespace SabreTools.Models.Logiqx
{
[XmlRoot("machine")]
public class Machine
{
[XmlAttribute("name")]
public string Name { get; set; }
[XmlAttribute("sourcefile")]
public string? SourceFile { get; set; }
/// <remarks>(yes|no) "no"</remarks>
[XmlAttribute("isbios")]
public string? IsBios { get; set; }
[XmlAttribute("cloneof")]
public string? CloneOf { get; set; }
[XmlAttribute("romof")]
public string? RomOf { get; set; }
[XmlAttribute("sampleof")]
public string? SampleOf { get; set; }
[XmlAttribute("board")]
public string? Board { get; set; }
[XmlAttribute("rebuildto")]
public string? RebuildTo { get; set; }
/// <remarks>(no|partial|yes) "no"</remarks>
[XmlAttribute("runnable")]
public string? Runnable { get; set; }
[XmlElement("comment")]
public string[]? Comment { get; set; }
[XmlElement("description")]
public string Description { get; set; }
[XmlElement("year")]
public string? Year { get; set; }
[XmlElement("manufacturer")]
public string? Manufacturer { get; set; }
[XmlElement("publisher")]
public string? Publisher { get; set; }
[XmlElement("category")]
public string? Category { get; set; }
[XmlElement("release")]
public Release[]? Release { get; set; }
[XmlElement("biosset")]
public BiosSet[]? BiosSet { get; set; }
[XmlElement("rom")]
public Rom[]? Rom { get; set; }
[XmlElement("disk")]
public Disk[]? Disk { get; set; }
[XmlElement("sample")]
public Sample[]? Sample { get; set; }
[XmlElement("archive")]
public Archive[]? Archive { get; set; }
#region Aaru Extensions
/// <remarks>Appears after Disk</remarks>
[XmlElement("media")]
public Media[]? Media { get; set; }
#endregion
#region No-Intro Extensions
/// <remarks>Appears after RebuildTo</remarks>
[XmlAttribute("id")]
public string? Id { get; set; }
/// <remarks>Appears after Id</remarks>
[XmlAttribute("cloneofid")]
public string? CloneOfId { get; set; }
#endregion
#region Trurip Extensions
/// <remarks>Appears after Category</remarks>
[XmlElement("trurip")]
public Trurip? Trurip { get; set; }
#endregion
}
}

View File

@@ -0,0 +1,24 @@
using System.Xml;
using System.Xml.Serialization;
namespace SabreTools.Models.Logiqx
{
[XmlRoot("media")]
public class Media
{
[XmlAttribute("name")]
public string Name { get; set; }
[XmlAttribute("md5")]
public string? MD5 { get; set; }
[XmlAttribute("sha1")]
public string? SHA1 { get; set; }
[XmlAttribute("sha256")]
public string? SHA256 { get; set; }
[XmlAttribute("spamsum")]
public string? SpamSum { get; set; }
}
}

View File

@@ -0,0 +1,25 @@
using System.Xml;
using System.Xml.Serialization;
namespace SabreTools.Models.Logiqx
{
[XmlRoot("release")]
public class Release
{
[XmlAttribute("name")]
public string Name { get; set; }
[XmlAttribute("region")]
public string Region { get; set; }
[XmlAttribute("language")]
public string? Language { get; set; }
[XmlAttribute("date")]
public string? Date { get; set; }
/// <remarks>(yes|no) "no"</remarks>
[XmlAttribute("default")]
public string? Default { get; set; }
}
}

View File

@@ -0,0 +1,90 @@
using System.Xml;
using System.Xml.Serialization;
namespace SabreTools.Models.Logiqx
{
[XmlRoot("rom")]
public class Rom
{
[XmlAttribute("name")]
public string Name { get; set; }
[XmlAttribute("size")]
public long Size { get; set; }
[XmlAttribute("crc")]
public string? CRC { get; set; }
[XmlAttribute("md5")]
public string? MD5 { get; set; }
[XmlAttribute("sha1")]
public string? SHA1 { get; set; }
[XmlAttribute("merge")]
public string? Merge { get; set; }
/// <remarks>(baddump|nodump|good|verified) "good"</remarks>
[XmlAttribute("status")]
public string? Status { get; set; }
[XmlAttribute("date")]
public string? Date { get; set; }
#region Hash Extensions
/// <remarks>Also in No-Intro spec; Appears after SHA1</remarks>
[XmlAttribute("sha256")]
public string? SHA256 { get; set; }
/// <remarks>Appears after SHA256</remarks>
[XmlAttribute("sha384")]
public string? SHA384 { get; set; }
/// <remarks>Appears after SHA384</remarks>
[XmlAttribute("sha512")]
public string? SHA512 { get; set; }
/// <remarks>Appears after SHA512</remarks>
[XmlAttribute("spamsum")]
public string? SpamSum { get; set; }
#endregion
#region DiscImgeCreator Extensions
/// <remarks>Appears after SpamSum</remarks>
[XmlAttribute("xxh3_64")]
public string? xxHash364 { get; set; }
/// <remarks>Appears after xxHash364</remarks>
[XmlAttribute("xxh3_128")]
public string? xxHash3128 { get; set; }
#endregion
#region No-Intro Extensions
/// <remarks>Appears after Status</remarks>
[XmlAttribute("serial")]
public string? Serial { get; set; }
/// <remarks>Appears after Serial</remarks>
[XmlAttribute("header")]
public string? Header { get; set; }
#endregion
#region RomVault Extensions
/// <remarks>Boolean; Appears after Date</remarks>
[XmlAttribute("inverted")]
public bool? Inverted { get; set; }
/// <remarks>Boolean; Appears after Inverted</remarks>
[XmlAttribute("mia")]
public bool? MIA { get; set; }
#endregion
}
}

View File

@@ -0,0 +1,36 @@
using System.Xml;
using System.Xml.Serialization;
namespace SabreTools.Models.Logiqx
{
[XmlRoot("romcenter")]
public class RomCenter
{
[XmlAttribute("plugin")]
public string? Plugin { get; set; }
/// <remarks>(none|split|merged|unmerged|fullmerged|device|full) "split"</remarks>
[XmlAttribute("rommode")]
public string? RomMode { get; set; }
/// <remarks>(none|split|merged|unmerged|fullmerged|device|full) "split"</remarks>
[XmlAttribute("biosmode")]
public string? BiosMode { get; set; }
/// <remarks>(none|split|merged|unmerged|fullmerged|device|full) "merged"</remarks>
[XmlAttribute("samplemode")]
public string? SampleMode { get; set; }
/// <remarks>(yes|no) "no"</remarks>
[XmlAttribute("lockrommode")]
public string? LockRomMode { get; set; }
/// <remarks>(yes|no) "no"</remarks>
[XmlAttribute("lockbiosmode")]
public string? LockBiosMode { get; set; }
/// <remarks>(yes|no) "no"</remarks>
[XmlAttribute("locksamplemode")]
public string? LockSampleMode { get; set; }
}
}

View File

@@ -0,0 +1,12 @@
using System.Xml;
using System.Xml.Serialization;
namespace SabreTools.Models.Logiqx
{
[XmlRoot("sample")]
public class Sample
{
[XmlAttribute("name")]
public string Name { get; set; }
}
}

View File

@@ -0,0 +1,52 @@
using System.Xml;
using System.Xml.Serialization;
namespace SabreTools.Models.Logiqx
{
[XmlRoot("trurip")]
public class Trurip
{
[XmlElement("titleid")]
public string? TitleID { get; set; }
[XmlElement("publisher")]
public string? Publisher { get; set; }
[XmlElement("developer")]
public string? Developer { get; set; }
[XmlElement("year")]
public string? Year { get; set; }
[XmlElement("genre")]
public string? Genre { get; set; }
[XmlElement("subgenre")]
public string? Subgenre { get; set; }
[XmlElement("ratings")]
public string? Ratings { get; set; }
[XmlElement("score")]
public string? Score { get; set; }
[XmlElement("players")]
public string? Players { get; set; }
/// <remarks>Boolean?</remarks>
[XmlElement("enabled")]
public string? Enabled { get; set; }
[XmlElement("crc")]
public string? CRC { get; set; }
[XmlElement("source")]
public string? Source { get; set; }
[XmlElement("cloneof")]
public string? CloneOf { get; set; }
[XmlElement("relatedto")]
public string? RelatedTo { get; set; }
}
}