mirror of
https://github.com/claunia/SabreTools.git
synced 2025-12-16 19:14:27 +00:00
Update Logiqx DTD, add models (nw)
This commit is contained in:
@@ -1,7 +1,6 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Xml;
|
||||
@@ -25,6 +24,7 @@ namespace SabreTools.DatFiles.Formats
|
||||
/// <summary>
|
||||
/// DTD for original Logiqx DATs
|
||||
/// </summary>
|
||||
/// <remarks>This has been edited to reflect actual current standards</remarks>
|
||||
private const string LogiqxDTD = @"<!--
|
||||
ROM Management Datafile - DTD
|
||||
|
||||
@@ -32,8 +32,8 @@ namespace SabreTools.DatFiles.Formats
|
||||
|
||||
This DTD module is identified by the PUBLIC and SYSTEM identifiers:
|
||||
|
||||
PUBLIC string.Empty -//Logiqx//DTD ROM Management Datafile//ENstring.Empty
|
||||
SYSTEM string.Emptyhttp://www.logiqx.com/Dats/datafile.dtdstring.Empty
|
||||
PUBLIC "" -//Logiqx//DTD ROM Management Datafile//EN""
|
||||
SYSTEM ""http://www.logiqx.com/Dats/datafile.dtd""
|
||||
|
||||
$Revision: 1.5 $
|
||||
$Date: 2008/10/28 21:39:16 $
|
||||
@@ -42,10 +42,13 @@ namespace SabreTools.DatFiles.Formats
|
||||
|
||||
<!ELEMENT datafile(header?, game*, machine*)>
|
||||
<!ATTLIST datafile build CDATA #IMPLIED>
|
||||
<!ATTLIST datafile debug (yes|no) string.Emptynostring.Empty>
|
||||
<!ELEMENT header(name, description, category?, version, date?, author, email?, homepage?, url?, comment?, clrmamepro?, romcenter?)>
|
||||
<!ATTLIST datafile debug (yes|no) ""no"">
|
||||
<!ELEMENT header (id?, name, description, rootdir?, type?, category?, version, date?, author, email?, homepage?, url?, comment?, clrmamepro?, romcenter?)>
|
||||
<!ELEMENT id (#PCDATA)>
|
||||
<!ELEMENT name(#PCDATA)>
|
||||
<!ELEMENT description (#PCDATA)>
|
||||
<!ELEMENT rootdir (#PCDATA)>
|
||||
<!ELEMENT type (#PCDATA)>
|
||||
<!ELEMENT category (#PCDATA)>
|
||||
<!ELEMENT version (#PCDATA)>
|
||||
<!ELEMENT date (#PCDATA)>
|
||||
@@ -56,38 +59,56 @@ namespace SabreTools.DatFiles.Formats
|
||||
<!ELEMENT comment (#PCDATA)>
|
||||
<!ELEMENT clrmamepro EMPTY>
|
||||
<!ATTLIST clrmamepro header CDATA #IMPLIED>
|
||||
<!ATTLIST clrmamepro forcemerging (none|split|full) string.Emptysplitstring.Empty>
|
||||
<!ATTLIST clrmamepro forcenodump(obsolete|required|ignore) string.Emptyobsoletestring.Empty>
|
||||
<!ATTLIST clrmamepro forcepacking(zip|unzip) string.Emptyzipstring.Empty>
|
||||
<!ATTLIST clrmamepro forcemerging (none|split|merged|nonmerged|fullmerged|device|full) ""split"">
|
||||
<!ATTLIST clrmamepro forcenodump(obsolete|required|ignore) ""obsolete"">
|
||||
<!ATTLIST clrmamepro forcepacking(zip|unzip) ""zip"">
|
||||
<!ELEMENT romcenter EMPTY>
|
||||
<!ATTLIST romcenter plugin CDATA #IMPLIED>
|
||||
<!ATTLIST romcenter rommode (merged|split|unmerged) string.Emptysplitstring.Empty>
|
||||
<!ATTLIST romcenter biosmode(merged|split|unmerged) string.Emptysplitstring.Empty>
|
||||
<!ATTLIST romcenter samplemode(merged|unmerged) string.Emptymergedstring.Empty>
|
||||
<!ATTLIST romcenter lockrommode(yes|no) string.Emptynostring.Empty>
|
||||
<!ATTLIST romcenter lockbiosmode(yes|no) string.Emptynostring.Empty>
|
||||
<!ATTLIST romcenter locksamplemode(yes|no) string.Emptynostring.Empty>
|
||||
<!ELEMENT game(comment*, description, year?, manufacturer?, release*, biosset*, rom*, disk*, sample*, archive*)>
|
||||
<!ATTLIST romcenter rommode (none|split|merged|unmerged|fullmerged|device|full) ""split"">
|
||||
<!ATTLIST romcenter biosmode (none|split|merged|unmerged|fullmerged|device|full) ""split"">
|
||||
<!ATTLIST romcenter samplemode (none|split|merged|unmerged|fullmerged|device|full) ""merged"">
|
||||
<!ATTLIST romcenter lockrommode(yes|no) ""no"">
|
||||
<!ATTLIST romcenter lockbiosmode(yes|no) ""no"">
|
||||
<!ATTLIST romcenter locksamplemode(yes|no) ""no"">
|
||||
<!ELEMENT game (comment*, description, year?, manufacturer?, publisher?, category?, trurip?, release*, biosset*, rom*, disk*, media*, sample*, archive*)>
|
||||
<!ATTLIST game name CDATA #REQUIRED>
|
||||
<!ATTLIST game sourcefile CDATA #IMPLIED>
|
||||
<!ATTLIST game isbios (yes|no) string.Emptynostring.Empty>
|
||||
<!ATTLIST game isbios (yes|no) ""no"">
|
||||
<!ATTLIST game cloneof CDATA #IMPLIED>
|
||||
<!ATTLIST game romof CDATA #IMPLIED>
|
||||
<!ATTLIST game sampleof CDATA #IMPLIED>
|
||||
<!ATTLIST game board CDATA #IMPLIED>
|
||||
<!ATTLIST game rebuildto CDATA #IMPLIED>
|
||||
<!ATTLIST game id CDATA #IMPLIED>
|
||||
<!ATTLIST game cloneofid CDATA #IMPLIED>
|
||||
<!ATTLIST game runnable (no|partial|yes) ""no"" #IMPLIED>
|
||||
<!ELEMENT year (#PCDATA)>
|
||||
<!ELEMENT manufacturer (#PCDATA)>
|
||||
<!ELEMENT publisher (#PCDATA)>
|
||||
<!ELEMENT trurip (titleid?, publisher?, developer?, year?, genre?, subgenre?, ratings?, score?, players?, enabled?, crc?, source?, cloneof?, relatedto?)>
|
||||
<!ELEMENT titleid (#PCDATA)>
|
||||
<!ELEMENT developer (#PCDATA)>
|
||||
<!ELEMENT year (#PCDATA)>
|
||||
<!ELEMENT genre (#PCDATA)>
|
||||
<!ELEMENT subgenre (#PCDATA)>
|
||||
<!ELEMENT ratings (#PCDATA)>
|
||||
<!ELEMENT score (#PCDATA)>
|
||||
<!ELEMENT players (#PCDATA)>
|
||||
<!ELEMENT enabled (#PCDATA)>
|
||||
<!ELEMENT crc (#PCDATA)>
|
||||
<!ELEMENT source (#PCDATA)>
|
||||
<!ELEMENT cloneof (#PCDATA)>
|
||||
<!ELEMENT relatedto (#PCDATA)>
|
||||
<!ELEMENT release EMPTY>
|
||||
<!ATTLIST release name CDATA #REQUIRED>
|
||||
<!ATTLIST release region CDATA #REQUIRED>
|
||||
<!ATTLIST release language CDATA #IMPLIED>
|
||||
<!ATTLIST release date CDATA #IMPLIED>
|
||||
<!ATTLIST release default (yes|no) string.Emptynostring.Empty>
|
||||
<!ATTLIST release default (yes|no) ""no"">
|
||||
<!ELEMENT biosset EMPTY>
|
||||
<!ATTLIST biosset name CDATA #REQUIRED>
|
||||
<!ATTLIST biosset description CDATA #REQUIRED>
|
||||
<!ATTLIST biosset default (yes|no) string.Emptynostring.Empty>
|
||||
<!ATTLIST biosset default (yes|no) ""no"">
|
||||
<!ELEMENT rom EMPTY>
|
||||
<!ATTLIST rom name CDATA #REQUIRED>
|
||||
<!ATTLIST rom size CDATA #REQUIRED>
|
||||
@@ -97,28 +118,46 @@ namespace SabreTools.DatFiles.Formats
|
||||
<!ATTLIST rom sha256 CDATA #IMPLIED>
|
||||
<!ATTLIST rom sha384 CDATA #IMPLIED>
|
||||
<!ATTLIST rom sha512 CDATA #IMPLIED>
|
||||
<!ATTLIST rom spamsum CDATA #IMPLIED>
|
||||
<!ATTLIST rom xxh3_64 CDATA #IMPLIED>
|
||||
<!ATTLIST rom xxh3_128 CDATA #IMPLIED>
|
||||
<!ATTLIST rom merge CDATA #IMPLIED>
|
||||
<!ATTLIST rom status (baddump|nodump|good|verified) string.Emptygoodstring.Empty>
|
||||
<!ATTLIST rom status (baddump|nodump|good|verified) ""good"">
|
||||
<!ATTLIST rom serial CDATA #IMPLIED>
|
||||
<!ATTLIST rom header CDATA #IMPLIED>
|
||||
<!ATTLIST rom date CDATA #IMPLIED>
|
||||
<!ATTLIST rom inverted CDATA #IMPLIED>
|
||||
<!ATTLIST rom mia CDATA #IMPLIED>
|
||||
<!ELEMENT disk EMPTY>
|
||||
<!ATTLIST disk name CDATA #REQUIRED>
|
||||
<!ATTLIST disk md5 CDATA #IMPLIED>
|
||||
<!ATTLIST disk sha1 CDATA #IMPLIED>
|
||||
<!ATTLIST disk merge CDATA #IMPLIED>
|
||||
<!ATTLIST disk status (baddump|nodump|good|verified) string.Emptygoodstring.Empty>
|
||||
<!ATTLIST disk status (baddump|nodump|good|verified) ""good"">
|
||||
<!ELEMENT media EMPTY>
|
||||
<!ATTLIST media name CDATA #REQUIRED>
|
||||
<!ATTLIST media md5 CDATA #IMPLIED>
|
||||
<!ATTLIST media sha1 CDATA #IMPLIED>
|
||||
<!ATTLIST media sha256 CDATA #IMPLIED>
|
||||
<!ATTLIST media spamsum CDATA #IMPLIED>
|
||||
<!ELEMENT sample EMPTY>
|
||||
<!ATTLIST sample name CDATA #REQUIRED>
|
||||
<!ELEMENT archive EMPTY>
|
||||
<!ATTLIST archive name CDATA #REQUIRED>
|
||||
<!ELEMENT machine (comment*, description, year?, manufacturer?, release*, biosset*, rom*, disk*, sample*, archive*)>
|
||||
<!ATTLIST machine name CDATA #REQUIRED>
|
||||
<!ATTLIST machine sourcefile CDATA #IMPLIED>
|
||||
<!ATTLIST machine isbios (yes|no) string.Emptynostring.Empty>
|
||||
<!ATTLIST machine cloneof CDATA #IMPLIED>
|
||||
<!ATTLIST machine romof CDATA #IMPLIED>
|
||||
<!ATTLIST machine sampleof CDATA #IMPLIED>
|
||||
<!ATTLIST machine board CDATA #IMPLIED>
|
||||
<!ATTLIST machine rebuildto CDATA #IMPLIED>
|
||||
<!ELEMENT machine (comment*, description, year?, manufacturer?, publisher?, category?, trurip?, release*, biosset*, rom*, disk*, media*, sample*, archive*)>
|
||||
<!ATTLIST game name CDATA #REQUIRED>
|
||||
<!ATTLIST game sourcefile CDATA #IMPLIED>
|
||||
<!ATTLIST game isbios (yes|no) ""no"">
|
||||
<!ATTLIST game cloneof CDATA #IMPLIED>
|
||||
<!ATTLIST game romof CDATA #IMPLIED>
|
||||
<!ATTLIST game sampleof CDATA #IMPLIED>
|
||||
<!ATTLIST game board CDATA #IMPLIED>
|
||||
<!ATTLIST game rebuildto CDATA #IMPLIED>
|
||||
<!ATTLIST game id CDATA #IMPLIED>
|
||||
<!ATTLIST game cloneofid CDATA #IMPLIED>
|
||||
<!ATTLIST game runnable (no|partial|yes) ""no"" #IMPLIED>
|
||||
<!ELEMENT dir (game*, machine*)>
|
||||
<!ATTLIST dir name CDATA #REQUIRED>
|
||||
";
|
||||
|
||||
/// <summary>
|
||||
@@ -468,12 +507,6 @@ namespace SabreTools.DatFiles.Formats
|
||||
if (reader.GetAttribute("isbios").AsYesNo() == true)
|
||||
machineType |= MachineType.Bios;
|
||||
|
||||
if (reader.GetAttribute("isdevice").AsYesNo() == true) // Listxml-specific, used by older DATs
|
||||
machineType |= MachineType.Device;
|
||||
|
||||
if (reader.GetAttribute("ismechanical").AsYesNo() == true) // Listxml-specific, used by older DATs
|
||||
machineType |= MachineType.Mechanical;
|
||||
|
||||
string dirsString = (dirs != null && dirs.Count > 0 ? string.Join("/", dirs) + "/" : string.Empty);
|
||||
Machine machine = new()
|
||||
{
|
||||
|
||||
12
SabreTools.Models/Logiqx/Archive.cs
Normal file
12
SabreTools.Models/Logiqx/Archive.cs
Normal 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; }
|
||||
}
|
||||
}
|
||||
19
SabreTools.Models/Logiqx/BiosSet.cs
Normal file
19
SabreTools.Models/Logiqx/BiosSet.cs
Normal 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; }
|
||||
}
|
||||
}
|
||||
24
SabreTools.Models/Logiqx/ClrMamePro.cs
Normal file
24
SabreTools.Models/Logiqx/ClrMamePro.cs
Normal 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; }
|
||||
}
|
||||
}
|
||||
33
SabreTools.Models/Logiqx/Datafile.cs
Normal file
33
SabreTools.Models/Logiqx/Datafile.cs
Normal 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
|
||||
}
|
||||
}
|
||||
18
SabreTools.Models/Logiqx/Dir.cs
Normal file
18
SabreTools.Models/Logiqx/Dir.cs
Normal 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; }
|
||||
}
|
||||
}
|
||||
25
SabreTools.Models/Logiqx/Disk.cs
Normal file
25
SabreTools.Models/Logiqx/Disk.cs
Normal 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; }
|
||||
}
|
||||
}
|
||||
102
SabreTools.Models/Logiqx/Game.cs
Normal file
102
SabreTools.Models/Logiqx/Game.cs
Normal 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
|
||||
}
|
||||
}
|
||||
65
SabreTools.Models/Logiqx/Header.cs
Normal file
65
SabreTools.Models/Logiqx/Header.cs
Normal 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
|
||||
}
|
||||
}
|
||||
102
SabreTools.Models/Logiqx/Machine.cs
Normal file
102
SabreTools.Models/Logiqx/Machine.cs
Normal 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
|
||||
}
|
||||
}
|
||||
24
SabreTools.Models/Logiqx/Media.cs
Normal file
24
SabreTools.Models/Logiqx/Media.cs
Normal 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; }
|
||||
}
|
||||
}
|
||||
25
SabreTools.Models/Logiqx/Release.cs
Normal file
25
SabreTools.Models/Logiqx/Release.cs
Normal 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; }
|
||||
}
|
||||
}
|
||||
90
SabreTools.Models/Logiqx/Rom.cs
Normal file
90
SabreTools.Models/Logiqx/Rom.cs
Normal 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
|
||||
}
|
||||
}
|
||||
36
SabreTools.Models/Logiqx/RomCenter.cs
Normal file
36
SabreTools.Models/Logiqx/RomCenter.cs
Normal 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; }
|
||||
}
|
||||
}
|
||||
12
SabreTools.Models/Logiqx/Sample.cs
Normal file
12
SabreTools.Models/Logiqx/Sample.cs
Normal 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; }
|
||||
}
|
||||
}
|
||||
52
SabreTools.Models/Logiqx/Trurip.cs
Normal file
52
SabreTools.Models/Logiqx/Trurip.cs
Normal 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; }
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user