Update formatting of DatItems

This commit is contained in:
Matt Nadareski
2022-11-03 12:22:17 -07:00
parent 7e3c04e8a2
commit ee356fb8a2
38 changed files with 305 additions and 424 deletions

View File

@@ -1,8 +1,7 @@
using System.Collections.Generic;
using System.Xml.Serialization;
using SabreTools.Core;
using Newtonsoft.Json;
using SabreTools.Core;
namespace SabreTools.DatItems.Formats
{
@@ -17,15 +16,13 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Name of the item
/// </summary>
[JsonProperty("name")]
[XmlElement("name")]
[JsonProperty("name"), XmlElement("name")]
public string Name { get; set; }
/// <summary>
/// Determine whether the value is default
/// </summary>
[JsonProperty("default", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("default")]
[JsonProperty("default", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("default")]
public bool? Default { get; set; }
[JsonIgnore]
@@ -34,8 +31,7 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Conditions associated with the adjustment
/// </summary>
[JsonProperty("conditions", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("conditions")]
[JsonProperty("conditions", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("conditions")]
public List<Condition> Conditions { get; set; }
[JsonIgnore]
@@ -68,6 +64,7 @@ namespace SabreTools.DatItems.Formats
#region Cloning Methods
/// <inheritdoc/>
public override object Clone()
{
return new Adjuster()
@@ -89,6 +86,7 @@ namespace SabreTools.DatItems.Formats
#region Comparision Methods
/// <inheritdoc/>
public override bool Equals(DatItem other)
{
// If we don't have a Adjuster, return false
@@ -99,7 +97,8 @@ namespace SabreTools.DatItems.Formats
Adjuster newOther = other as Adjuster;
// If the Adjuster information matches
bool match = (Name == newOther.Name && Default == newOther.Default);
bool match = (Name == newOther.Name
&& Default == newOther.Default);
if (!match)
return match;

View File

@@ -1,7 +1,6 @@
using System.Xml.Serialization;
using SabreTools.Core;
using Newtonsoft.Json;
using SabreTools.Core;
namespace SabreTools.DatItems.Formats
{
@@ -16,8 +15,7 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Analog mask value
/// </summary>
[JsonProperty("mask", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("mask")]
[JsonProperty("mask", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("mask")]
public string Mask { get; set; }
#endregion
@@ -36,6 +34,7 @@ namespace SabreTools.DatItems.Formats
#region Cloning Methods
/// <inheritdoc/>
public override object Clone()
{
return new Analog()
@@ -55,6 +54,7 @@ namespace SabreTools.DatItems.Formats
#region Comparision Methods
/// <inheritdoc/>
public override bool Equals(DatItem other)
{
// If we don't have a Analog, return false

View File

@@ -1,7 +1,6 @@
using System.Xml.Serialization;
using SabreTools.Core;
using Newtonsoft.Json;
using SabreTools.Core;
namespace SabreTools.DatItems.Formats
{
@@ -16,8 +15,7 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Name of the item
/// </summary>
[JsonProperty("name")]
[XmlElement("name")]
[JsonProperty("name"), XmlElement("name")]
public string Name { get; set; }
#endregion
@@ -46,6 +44,7 @@ namespace SabreTools.DatItems.Formats
#region Cloning Methods
/// <inheritdoc/>
public override object Clone()
{
return new Archive()
@@ -65,6 +64,7 @@ namespace SabreTools.DatItems.Formats
#region Comparision Methods
/// <inheritdoc/>
public override bool Equals(DatItem other)
{
// If we don't have an archive, return false

View File

@@ -1,5 +1,4 @@
using System.Xml.Serialization;
using Newtonsoft.Json;
/// <summary>
@@ -17,10 +16,10 @@ namespace SabreTools.DatItems.Formats
[JsonObject("original"), XmlRoot("original")]
public class Original
{
[JsonProperty("value")]
[JsonProperty("value"), XmlElement("value")]
public bool? Value { get; set; }
[JsonProperty("content")]
[JsonProperty("content"), XmlElement("content")]
public string Content { get; set; }
}

View File

@@ -1,7 +1,6 @@
using System.Xml.Serialization;
using SabreTools.Core;
using Newtonsoft.Json;
using SabreTools.Core;
namespace SabreTools.DatItems.Formats
{
@@ -16,22 +15,19 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Name of the item
/// </summary>
[JsonProperty("name")]
[XmlElement("name")]
[JsonProperty("name"), XmlElement("name")]
public string Name { get; set; }
/// <summary>
/// Description of the BIOS
/// </summary>
[JsonProperty("description", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("description")]
[JsonProperty("description", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("description")]
public string Description { get; set; }
/// <summary>
/// Determine whether the BIOS is default
/// </summary>
[JsonProperty("default", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("default")]
[JsonProperty("default", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("default")]
public bool? Default { get; set; }
[JsonIgnore]
@@ -64,6 +60,7 @@ namespace SabreTools.DatItems.Formats
#region Cloning Methods
/// <inheritdoc/>
public override object Clone()
{
return new BiosSet()
@@ -85,6 +82,7 @@ namespace SabreTools.DatItems.Formats
#region Comparision Methods
/// <inheritdoc/>
public override bool Equals(DatItem other)
{
// If we don't have a BiosSet, return false

View File

@@ -1,7 +1,6 @@
using System.Xml.Serialization;
using SabreTools.Core;
using Newtonsoft.Json;
using SabreTools.Core;
namespace SabreTools.DatItems.Formats
{
@@ -25,6 +24,7 @@ namespace SabreTools.DatItems.Formats
#region Cloning Methods
/// <inheritdoc/>
public override object Clone()
{
return new Blank()
@@ -42,6 +42,7 @@ namespace SabreTools.DatItems.Formats
#region Comparision Methods
/// <inheritdoc/>
public override bool Equals(DatItem other)
{
// If we don't have a blank, return false

View File

@@ -1,8 +1,7 @@
using System.Xml.Serialization;
using SabreTools.Core;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using SabreTools.Core;
namespace SabreTools.DatItems.Formats
{
@@ -17,23 +16,20 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Name of the item
/// </summary>
[JsonProperty("name")]
[XmlElement("name")]
[JsonProperty("name"), XmlElement("name")]
public string Name { get; set; }
/// <summary>
/// Internal tag
/// </summary>
[JsonProperty("tag", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("tag")]
[JsonProperty("tag", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("tag")]
public string Tag { get; set; }
/// <summary>
/// Type of the chip
/// </summary>
[JsonProperty("type", DefaultValueHandling = DefaultValueHandling.Ignore)]
[JsonProperty("type", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("type")]
[JsonConverter(typeof(StringEnumConverter))]
[XmlElement("type")]
public ChipType ChipType { get; set; }
[JsonIgnore]
@@ -42,8 +38,7 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Clock speed
/// </summary>
[JsonProperty("clock", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("clock")]
[JsonProperty("clock", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("clock")]
public long? Clock { get; set; }
[JsonIgnore]
@@ -76,6 +71,7 @@ namespace SabreTools.DatItems.Formats
#region Cloning Methods
/// <inheritdoc/>
public override object Clone()
{
return new Chip()
@@ -98,6 +94,7 @@ namespace SabreTools.DatItems.Formats
#region Comparision Methods
/// <inheritdoc/>
public override bool Equals(DatItem other)
{
// If we don't have a chip, return false

View File

@@ -1,8 +1,7 @@
using System.Xml.Serialization;
using SabreTools.Core;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using SabreTools.Core;
namespace SabreTools.DatItems.Formats
{
@@ -17,23 +16,20 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Condition tag value
/// </summary>
[JsonProperty("tag", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("tag")]
[JsonProperty("tag", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("tag")]
public string Tag { get; set; }
/// <summary>
/// Condition mask
/// </summary>
[JsonProperty("mask", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("mask")]
[JsonProperty("mask", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("mask")]
public string Mask { get; set; }
/// <summary>
/// Condition relationship
/// </summary>
[JsonProperty("relation", DefaultValueHandling = DefaultValueHandling.Ignore)]
[JsonProperty("relation", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("relation")]
[JsonConverter(typeof(StringEnumConverter))]
[XmlElement("relation")]
public Relation Relation { get; set; }
[JsonIgnore]
@@ -42,8 +38,7 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Condition value
/// </summary>
[JsonProperty("value", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("value")]
[JsonProperty("value", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("value")]
public string Value { get; set; }
#endregion
@@ -62,6 +57,7 @@ namespace SabreTools.DatItems.Formats
#region Cloning Methods
/// <inheritdoc/>
public override object Clone()
{
return new Condition()
@@ -84,6 +80,7 @@ namespace SabreTools.DatItems.Formats
#region Comparision Methods
/// <inheritdoc/>
public override bool Equals(DatItem other)
{
// If we don't have a Condition, return false

View File

@@ -1,8 +1,7 @@
using System.Collections.Generic;
using System.Xml.Serialization;
using SabreTools.Core;
using Newtonsoft.Json;
using SabreTools.Core;
namespace SabreTools.DatItems.Formats
{
@@ -17,29 +16,25 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Name of the item
/// </summary>
[JsonProperty("name")]
[XmlElement("name")]
[JsonProperty("name"), XmlElement("name")]
public string Name { get; set; }
/// <summary>
/// Tag associated with the configuration
/// </summary>
[JsonProperty("tag", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("tag")]
[JsonProperty("tag", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("tag")]
public string Tag { get; set; }
/// <summary>
/// Mask associated with the configuration
/// </summary>
[JsonProperty("mask", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("mask")]
[JsonProperty("mask", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("mask")]
public string Mask { get; set; }
/// <summary>
/// Conditions associated with the configuration
/// </summary>
[JsonProperty("conditions", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("conditions")]
[JsonProperty("conditions", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("conditions")]
public List<Condition> Conditions { get; set; }
[JsonIgnore]
@@ -48,8 +43,7 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Locations associated with the configuration
/// </summary>
[JsonProperty("locations", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("locations")]
[JsonProperty("locations", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("locations")]
public List<Location> Locations { get; set; }
[JsonIgnore]
@@ -58,8 +52,7 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Settings associated with the configuration
/// </summary>
[JsonProperty("settings", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("settings")]
[JsonProperty("settings", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("settings")]
public List<Setting> Settings { get; set; }
[JsonIgnore]
@@ -92,6 +85,7 @@ namespace SabreTools.DatItems.Formats
#region Cloning Methods
/// <inheritdoc/>
public override object Clone()
{
return new Configuration()
@@ -116,6 +110,7 @@ namespace SabreTools.DatItems.Formats
#region Comparision Methods
/// <inheritdoc/>
public override bool Equals(DatItem other)
{
// If we don't have a Configuration, return false

View File

@@ -1,8 +1,7 @@
using System.Xml.Serialization;
using SabreTools.Core;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using SabreTools.Core;
namespace SabreTools.DatItems.Formats
{
@@ -17,9 +16,8 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// General type of input
/// </summary>
[JsonProperty("type", DefaultValueHandling = DefaultValueHandling.Ignore)]
[JsonProperty("type", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("type")]
[JsonConverter(typeof(StringEnumConverter))]
[XmlElement("type")]
public ControlType ControlType { get; set; }
[JsonIgnore]
@@ -28,8 +26,7 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Player which the input belongs to
/// </summary>
[JsonProperty("player", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("player")]
[JsonProperty("player", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("player")]
public long? Player { get; set; }
[JsonIgnore]
@@ -38,8 +35,7 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Total number of buttons
/// </summary>
[JsonProperty("buttons", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("buttons")]
[JsonProperty("buttons", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("buttons")]
public long? Buttons { get; set; }
[JsonIgnore]
@@ -48,8 +44,7 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Total number of non-optional buttons
/// </summary>
[JsonProperty("reqbuttons", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("reqbuttons")]
[JsonProperty("reqbuttons", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("reqbuttons")]
public long? RequiredButtons { get; set; }
[JsonIgnore]
@@ -58,8 +53,7 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Analog minimum value
/// </summary>
[JsonProperty("minimum", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("minimum")]
[JsonProperty("minimum", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("minimum")]
public long? Minimum { get; set; }
[JsonIgnore]
@@ -68,8 +62,7 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Analog maximum value
/// </summary>
[JsonProperty("maximum", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("maximum")]
[JsonProperty("maximum", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("maximum")]
public long? Maximum { get; set; }
[JsonIgnore]
@@ -78,8 +71,7 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Default analog sensitivity
/// </summary>
[JsonProperty("sensitivity", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("sensitivity")]
[JsonProperty("sensitivity", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("sensitivity")]
public long? Sensitivity { get; set; }
[JsonIgnore]
@@ -88,8 +80,7 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Default analog keydelta
/// </summary>
[JsonProperty("keydelta", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("keydelta")]
[JsonProperty("keydelta", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("keydelta")]
public long? KeyDelta { get; set; }
[JsonIgnore]
@@ -98,8 +89,7 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Default analog reverse setting
/// </summary>
[JsonProperty("reverse", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("reverse")]
[JsonProperty("reverse", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("reverse")]
public bool? Reverse { get; set; }
[JsonIgnore]
@@ -108,22 +98,19 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// First set of ways
/// </summary>
[JsonProperty("ways", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("ways")]
[JsonProperty("ways", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("ways")]
public string Ways { get; set; }
/// <summary>
/// Second set of ways
/// </summary>
[JsonProperty("ways2", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("ways2")]
[JsonProperty("ways2", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("ways2")]
public string Ways2 { get; set; }
/// <summary>
/// Third set of ways
/// </summary>
[JsonProperty("ways3", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("ways3")]
[JsonProperty("ways3", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("ways3")]
public string Ways3 { get; set; }
#endregion
@@ -142,6 +129,7 @@ namespace SabreTools.DatItems.Formats
#region Cloning Methods
/// <inheritdoc/>
public override object Clone()
{
return new Control()
@@ -172,6 +160,7 @@ namespace SabreTools.DatItems.Formats
#region Comparision Methods
/// <inheritdoc/>
public override bool Equals(DatItem other)
{
// If we don't have a Control, return false

View File

@@ -1,7 +1,6 @@
using System.Xml.Serialization;
using SabreTools.Core;
using Newtonsoft.Json;
using SabreTools.Core;
namespace SabreTools.DatItems.Formats
{
@@ -17,15 +16,13 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Name of the item
/// </summary>
[JsonProperty("name", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("name")]
[JsonProperty("name", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("name")]
public string Name { get; set; }
/// <summary>
/// Total size of the area
/// </summary>
[JsonProperty("size", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("size")]
[JsonProperty("size", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("size")]
public long? Size { get; set; }
[JsonIgnore]
@@ -34,8 +31,7 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Word width for the area
/// </summary>
[JsonProperty("width", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("width")]
[JsonProperty("width", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("width")]
public long? Width { get; set; }
[JsonIgnore]
@@ -44,8 +40,7 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Byte endianness of the area
/// </summary>
[JsonProperty("endianness", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("endianness")]
[JsonProperty("endianness", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("endianness")]
public Endianness Endianness { get; set; }
[JsonIgnore]
@@ -78,6 +73,7 @@ namespace SabreTools.DatItems.Formats
#region Cloning Methods
/// <inheritdoc/>
public override object Clone()
{
return new DataArea()
@@ -100,6 +96,7 @@ namespace SabreTools.DatItems.Formats
#region Comparision Methods
/// <inheritdoc/>
public override bool Equals(DatItem other)
{
// If we don't have a DataArea, return false

View File

@@ -1,9 +1,8 @@
using System.Collections.Generic;
using System.Xml.Serialization;
using SabreTools.Core;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using SabreTools.Core;
namespace SabreTools.DatItems.Formats
{
@@ -18,9 +17,8 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Device type
/// </summary>
[JsonProperty("type", DefaultValueHandling = DefaultValueHandling.Ignore)]
[JsonProperty("type", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("type")]
[JsonConverter(typeof(StringEnumConverter))]
[XmlElement("type")]
public DeviceType DeviceType { get; set; }
[JsonIgnore]
@@ -29,23 +27,20 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Device tag
/// </summary>
[JsonProperty("tag", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("tag")]
[JsonProperty("tag", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("tag")]
public string Tag { get; set; }
/// <summary>
/// Fixed image format
/// </summary>
[JsonProperty("fixed_image", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("fixed_image")]
[JsonProperty("fixed_image", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("fixed_image")]
public string FixedImage { get; set; }
/// <summary>
/// Determines if the devices is mandatory
/// </summary>
/// <remarks>Only value used seems to be 1. Used like bool, but actually int</remarks>
[JsonProperty("mandatory", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("mandatory")]
[JsonProperty("mandatory", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("mandatory")]
public long? Mandatory { get; set; }
[JsonIgnore]
@@ -54,15 +49,13 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Device interface
/// </summary>
[JsonProperty("interface", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("interface")]
[JsonProperty("interface", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("interface")]
public string Interface { get; set; }
/// <summary>
/// Device instances
/// </summary>
[JsonProperty("instances", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("instances")]
[JsonProperty("instances", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("instances")]
public List<Instance> Instances { get; set; }
[JsonIgnore]
@@ -71,8 +64,7 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Device extensions
/// </summary>
[JsonProperty("extensions", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("extensions")]
[JsonProperty("extensions", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("extensions")]
public List<Extension> Extensions { get; set; }
[JsonIgnore]
@@ -94,6 +86,7 @@ namespace SabreTools.DatItems.Formats
#region Cloning Methods
/// <inheritdoc/>
public override object Clone()
{
return new Device()
@@ -119,6 +112,7 @@ namespace SabreTools.DatItems.Formats
#region Comparision Methods
/// <inheritdoc/>
public override bool Equals(DatItem other)
{
// If we don't have a Device, return false

View File

@@ -1,7 +1,6 @@
using System.Xml.Serialization;
using SabreTools.Core;
using Newtonsoft.Json;
using SabreTools.Core;
namespace SabreTools.DatItems.Formats
{
@@ -16,8 +15,7 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Name of the item
/// </summary>
[JsonProperty("name")]
[XmlElement("name")]
[JsonProperty("name"), XmlElement("name")]
public string Name { get; set; }
#endregion
@@ -47,6 +45,7 @@ namespace SabreTools.DatItems.Formats
#region Cloning Methods
/// <inheritdoc/>
public override object Clone()
{
return new DeviceReference()
@@ -66,6 +65,7 @@ namespace SabreTools.DatItems.Formats
#region Comparision Methods
/// <inheritdoc/>
public override bool Equals(DatItem other)
{
// If we don't have a device reference, return false

View File

@@ -1,8 +1,7 @@
using System.Collections.Generic;
using System.Xml.Serialization;
using SabreTools.Core;
using Newtonsoft.Json;
using SabreTools.Core;
namespace SabreTools.DatItems.Formats
{
@@ -19,29 +18,25 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Name of the item
/// </summary>
[JsonProperty("name")]
[XmlElement("name")]
[JsonProperty("name"), XmlElement("name")]
public string Name { get; set; }
/// <summary>
/// Tag associated with the dipswitch
/// </summary>
[JsonProperty("tag", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("tag")]
[JsonProperty("tag", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("tag")]
public string Tag { get; set; }
/// <summary>
/// Mask associated with the dipswitch
/// </summary>
[JsonProperty("mask", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("mask")]
[JsonProperty("mask", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("mask")]
public string Mask { get; set; }
/// <summary>
/// Conditions associated with the dipswitch
/// </summary>
[JsonProperty("conditions", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("conditions")]
[JsonProperty("conditions", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("conditions")]
public List<Condition> Conditions { get; set; }
[JsonIgnore]
@@ -50,8 +45,7 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Locations associated with the dipswitch
/// </summary>
[JsonProperty("locations", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("locations")]
[JsonProperty("locations", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("locations")]
public List<Location> Locations { get; set; }
[JsonIgnore]
@@ -60,8 +54,7 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Settings associated with the dipswitch
/// </summary>
[JsonProperty("values", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("values")]
[JsonProperty("values", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("values")]
public List<Setting> Values { get; set; }
[JsonIgnore]
@@ -74,8 +67,7 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Original hardware part associated with the item
/// </summary>
[JsonProperty("part", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("part")]
[JsonProperty("part", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("part")]
public Part Part { get; set; } = null;
[JsonIgnore]
@@ -118,6 +110,7 @@ namespace SabreTools.DatItems.Formats
#region Cloning Methods
/// <inheritdoc/>
public override object Clone()
{
return new DipSwitch()
@@ -144,6 +137,7 @@ namespace SabreTools.DatItems.Formats
#region Comparision Methods
/// <inheritdoc/>
public override bool Equals(DatItem other)
{
// If we don't have a DipSwitch, return false

View File

@@ -1,10 +1,9 @@
using System.Xml.Serialization;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using SabreTools.Core;
using SabreTools.Core.Tools;
using SabreTools.FileTypes;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
namespace SabreTools.DatItems.Formats
{
@@ -28,15 +27,13 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Name of the item
/// </summary>
[JsonProperty("name")]
[XmlElement("name")]
[JsonProperty("name"), XmlElement("name")]
public string Name { get; set; }
/// <summary>
/// Data MD5 hash
/// </summary>
[JsonProperty("md5", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("md5")]
[JsonProperty("md5", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("md5")]
public string MD5
{
get { return _md5.IsNullOrEmpty() ? null : Utilities.ByteArrayToString(_md5); }
@@ -46,8 +43,7 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Data SHA-1 hash
/// </summary>
[JsonProperty("sha1", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("sha1")]
[JsonProperty("sha1", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("sha1")]
public string SHA1
{
get { return _sha1.IsNullOrEmpty() ? null : Utilities.ByteArrayToString(_sha1); }
@@ -57,29 +53,25 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Disk name to merge from parent
/// </summary>
[JsonProperty("merge", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("merge")]
[JsonProperty("merge", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("merge")]
public string MergeTag { get; set; }
/// <summary>
/// Disk region
/// </summary>
[JsonProperty("region", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("region")]
[JsonProperty("region", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("region")]
public string Region { get; set; }
/// <summary>
/// Disk index
/// </summary>
[JsonProperty("index", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("index")]
[JsonProperty("index", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("index")]
public string Index { get; set; }
/// <summary>
/// Disk writable flag
/// </summary>
[JsonProperty("writable", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("writable")]
[JsonProperty("writable", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("writable")]
public bool? Writable { get; set; } = null;
[JsonIgnore]
@@ -88,9 +80,8 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Disk dump status
/// </summary>
[JsonProperty("status", DefaultValueHandling = DefaultValueHandling.Ignore)]
[JsonProperty("status", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("status")]
[JsonConverter(typeof(StringEnumConverter))]
[XmlElement("status")]
public ItemStatus ItemStatus { get; set; }
[JsonIgnore]
@@ -99,8 +90,7 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Determine if the disk is optional in the set
/// </summary>
[JsonProperty("optional", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("optional")]
[JsonProperty("optional", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("optional")]
public bool? Optional { get; set; } = null;
[JsonIgnore]
@@ -113,8 +103,7 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Disk area information
/// </summary>
[JsonProperty("diskarea", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("diskarea")]
[JsonProperty("diskarea", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("diskarea")]
public DiskArea DiskArea { get; set; } = null;
[JsonIgnore]
@@ -130,8 +119,7 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Original hardware part associated with the item
/// </summary>
[JsonProperty("part", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("part")]
[JsonProperty("part", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("part")]
public Part Part { get; set; } = null;
[JsonIgnore]
@@ -191,6 +179,7 @@ namespace SabreTools.DatItems.Formats
#region Cloning Methods
/// <inheritdoc/>
public override object Clone()
{
return new Disk()
@@ -266,6 +255,7 @@ namespace SabreTools.DatItems.Formats
#region Comparision Methods
/// <inheritdoc/>
public override bool Equals(DatItem other)
{
bool dupefound = false;

View File

@@ -1,7 +1,6 @@
using System.Xml.Serialization;
using SabreTools.Core;
using Newtonsoft.Json;
using SabreTools.Core;
namespace SabreTools.DatItems.Formats
{
@@ -17,8 +16,7 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Name of the item
/// </summary>
[JsonProperty("name", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("name")]
[JsonProperty("name", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("name")]
public string Name { get; set; }
#endregion
@@ -48,6 +46,7 @@ namespace SabreTools.DatItems.Formats
#region Cloning Methods
/// <inheritdoc/>
public override object Clone()
{
return new DiskArea()
@@ -67,6 +66,7 @@ namespace SabreTools.DatItems.Formats
#region Comparision Methods
/// <inheritdoc/>
public override bool Equals(DatItem other)
{
// If we don't have a DiskArea, return false

View File

@@ -1,8 +1,7 @@
using System.Xml.Serialization;
using SabreTools.Core;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using SabreTools.Core;
namespace SabreTools.DatItems.Formats
{
@@ -17,16 +16,14 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Display tag
/// </summary>
[JsonProperty("tag", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("tag")]
[JsonProperty("tag", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("tag")]
public string Tag { get; set; }
/// <summary>
/// Display type
/// </summary>
[JsonProperty("type", DefaultValueHandling = DefaultValueHandling.Ignore)]
[JsonProperty("type", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("type")]
[JsonConverter(typeof(StringEnumConverter))]
[XmlElement("type")]
public DisplayType DisplayType { get; set; }
[JsonIgnore]
@@ -35,8 +32,7 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Display rotation
/// </summary>
[JsonProperty("rotate", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("rotate")]
[JsonProperty("rotate", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("rotate")]
public long? Rotate { get; set; }
[JsonIgnore]
@@ -45,8 +41,7 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Determines if display is flipped in the X-coordinates
/// </summary>
[JsonProperty("flipx", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("flipx")]
[JsonProperty("flipx", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("flipx")]
public bool? FlipX { get; set; }
[JsonIgnore]
@@ -55,8 +50,7 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Display width
/// </summary>
[JsonProperty("width", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("width")]
[JsonProperty("width", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("width")]
public long? Width { get; set; }
[JsonIgnore]
@@ -65,8 +59,7 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Display height
/// </summary>
[JsonProperty("height", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("height")]
[JsonProperty("height", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("height")]
public long? Height { get; set; }
[JsonIgnore]
@@ -75,8 +68,7 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Refresh rate
/// </summary>
[JsonProperty("refresh", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("refresh")]
[JsonProperty("refresh", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("refresh")]
public double? Refresh { get; set; }
[JsonIgnore]
@@ -85,8 +77,7 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Pixel clock timer
/// </summary>
[JsonProperty("pixclock", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("pixclock")]
[JsonProperty("pixclock", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("pixclock")]
public long? PixClock { get; set; }
[JsonIgnore]
@@ -95,8 +86,7 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Total horizontal lines
/// </summary>
[JsonProperty("htotal", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("htotal")]
[JsonProperty("htotal", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("htotal")]
public long? HTotal { get; set; }
[JsonIgnore]
@@ -105,8 +95,7 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Horizontal blank end
/// </summary>
[JsonProperty("hbend", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("hbend")]
[JsonProperty("hbend", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("hbend")]
public long? HBEnd { get; set; }
[JsonIgnore]
@@ -115,8 +104,7 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Horizontal blank start
/// </summary>
[JsonProperty("hbstart", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("hbstart")]
[JsonProperty("hbstart", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("hbstart")]
public long? HBStart { get; set; }
[JsonIgnore]
@@ -125,8 +113,7 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Total vertical lines
/// </summary>
[JsonProperty("vtotal", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("vtotal")]
[JsonProperty("vtotal", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("vtotal")]
public long? VTotal { get; set; }
[JsonIgnore]
@@ -135,8 +122,7 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Vertical blank end
/// </summary>
[JsonProperty("vbend", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("vbend")]
[JsonProperty("vbend", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("vbend")]
public long? VBEnd { get; set; }
[JsonIgnore]
@@ -145,8 +131,7 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Vertical blank start
/// </summary>
[JsonProperty("vbstart", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("vbstart")]
[JsonProperty("vbstart", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("vbstart")]
public long? VBStart { get; set; }
[JsonIgnore]
@@ -168,6 +153,7 @@ namespace SabreTools.DatItems.Formats
#region Cloning Methods
/// <inheritdoc/>
public override object Clone()
{
return new Display()
@@ -200,6 +186,7 @@ namespace SabreTools.DatItems.Formats
#region Comparision Methods
/// <inheritdoc/>
public override bool Equals(DatItem other)
{
// If we don't have a Display, return false

View File

@@ -1,14 +1,16 @@
using System.Xml.Serialization;
using SabreTools.Core;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using SabreTools.Core;
namespace SabreTools.DatItems.Formats
{
/// <summary>
/// Represents the a driver of the machine
/// </summary>
/// <remarks>
/// TODO: Add new fields to documentation
/// </remarks>
[JsonObject("driver"), XmlRoot("driver")]
public class Driver : DatItem
{
@@ -17,9 +19,8 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Overall driver status
/// </summary>
[JsonProperty("status", DefaultValueHandling = DefaultValueHandling.Ignore)]
[JsonProperty("status", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("status")]
[JsonConverter(typeof(StringEnumConverter))]
[XmlElement("status")]
public SupportStatus Status { get; set; }
[JsonIgnore]
@@ -28,31 +29,28 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Driver emulation status
/// </summary>
[JsonProperty("emulation", DefaultValueHandling = DefaultValueHandling.Ignore)]
[JsonProperty("emulation", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("emulation")]
[JsonConverter(typeof(StringEnumConverter))]
[XmlElement("emulation")]
public SupportStatus Emulation { get; set; }
[JsonIgnore]
public bool EmulationSpecified { get { return Emulation != SupportStatus.NULL; ; } }
public bool EmulationSpecified { get { return Emulation != SupportStatus.NULL; } }
/// <summary>
/// Cocktail orientation status
/// </summary>
[JsonProperty("cocktail", DefaultValueHandling = DefaultValueHandling.Ignore)]
[JsonProperty("cocktail", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("cocktail")]
[JsonConverter(typeof(StringEnumConverter))]
[XmlElement("cocktail")]
public SupportStatus Cocktail { get; set; }
[JsonIgnore]
public bool CocktailSpecified { get { return Cocktail != SupportStatus.NULL; ; } }
public bool CocktailSpecified { get { return Cocktail != SupportStatus.NULL; } }
/// <summary>
/// Save state support status
/// </summary>
[JsonProperty("savestate", DefaultValueHandling = DefaultValueHandling.Ignore)]
[JsonProperty("savestate", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("savestate")]
[JsonConverter(typeof(StringEnumConverter))]
[XmlElement("savestate")]
public Supported SaveState { get; set; }
[JsonIgnore]
@@ -61,8 +59,7 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Requires artwork
/// </summary>
[JsonProperty("requiresartwork", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("requiresartwork")]
[JsonProperty("requiresartwork", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("requiresartwork")]
public bool? RequiresArtwork { get; set; }
[JsonIgnore]
@@ -71,8 +68,7 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Unofficial
/// </summary>
[JsonProperty("unofficial", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("unofficial")]
[JsonProperty("unofficial", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("unofficial")]
public bool? Unofficial { get; set; }
[JsonIgnore]
@@ -81,8 +77,7 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// No sound hardware
/// </summary>
[JsonProperty("nosoundhardware", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("nosoundhardware")]
[JsonProperty("nosoundhardware", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("nosoundhardware")]
public bool? NoSoundHardware { get; set; }
[JsonIgnore]
@@ -91,8 +86,7 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Incomplete
/// </summary>
[JsonProperty("incomplete", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("incomplete")]
[JsonProperty("incomplete", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("incomplete")]
public bool? Incomplete { get; set; }
[JsonIgnore]
@@ -114,6 +108,7 @@ namespace SabreTools.DatItems.Formats
#region Cloning Methods
/// <inheritdoc/>
public override object Clone()
{
return new Driver()
@@ -140,6 +135,7 @@ namespace SabreTools.DatItems.Formats
#region Comparision Methods
/// <inheritdoc/>
public override bool Equals(DatItem other)
{
// If we don't have a Driver, return false

View File

@@ -1,7 +1,6 @@
using System.Xml.Serialization;
using SabreTools.Core;
using Newtonsoft.Json;
using SabreTools.Core;
namespace SabreTools.DatItems.Formats
{
@@ -16,8 +15,7 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Name of the item
/// </summary>
[JsonProperty("name")]
[XmlElement("name")]
[JsonProperty("name"), XmlElement("name")]
public string Name { get; set; }
#endregion
@@ -47,6 +45,7 @@ namespace SabreTools.DatItems.Formats
#region Cloning Methods
/// <inheritdoc/>
public override object Clone()
{
return new Extension()
@@ -66,6 +65,7 @@ namespace SabreTools.DatItems.Formats
#region Comparision Methods
/// <inheritdoc/>
public override bool Equals(DatItem other)
{
// If we don't have a Extension, return false

View File

@@ -1,8 +1,7 @@
using System.Xml.Serialization;
using SabreTools.Core;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using SabreTools.Core;
namespace SabreTools.DatItems.Formats
{
@@ -17,9 +16,8 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Type of feature
/// </summary>
[JsonProperty("type", DefaultValueHandling = DefaultValueHandling.Ignore)]
[JsonProperty("type", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("type")]
[JsonConverter(typeof(StringEnumConverter))]
[XmlElement("type")]
public FeatureType Type { get; set; }
[JsonIgnore]
@@ -28,9 +26,8 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Emulation status
/// </summary>
[JsonProperty("status", DefaultValueHandling = DefaultValueHandling.Ignore)]
[JsonProperty("status", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("status")]
[JsonConverter(typeof(StringEnumConverter))]
[XmlElement("status")]
public FeatureStatus Status { get; set; }
[JsonIgnore]
@@ -39,9 +36,8 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Overall status
/// </summary>
[JsonProperty("overall", DefaultValueHandling = DefaultValueHandling.Ignore)]
[JsonProperty("overall", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("overall")]
[JsonConverter(typeof(StringEnumConverter))]
[XmlElement("overall")]
public FeatureStatus Overall { get; set; }
[JsonIgnore]
@@ -63,6 +59,7 @@ namespace SabreTools.DatItems.Formats
#region Cloning Methods
/// <inheritdoc/>
public override object Clone()
{
return new Feature()
@@ -84,6 +81,7 @@ namespace SabreTools.DatItems.Formats
#region Comparision Methods
/// <inheritdoc/>
public override bool Equals(DatItem other)
{
// If we don't have a Feature, return false
@@ -94,7 +92,9 @@ namespace SabreTools.DatItems.Formats
Feature newOther = other as Feature;
// If the Feature information matches
return (Type == newOther.Type && Status == newOther.Status && Overall == newOther.Overall);
return (Type == newOther.Type
&& Status == newOther.Status
&& Overall == newOther.Overall);
}
#endregion

View File

@@ -1,7 +1,6 @@
using System.Xml.Serialization;
using SabreTools.Core;
using Newtonsoft.Json;
using SabreTools.Core;
namespace SabreTools.DatItems.Formats
{
@@ -16,15 +15,13 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Name of the item
/// </summary>
[JsonProperty("name")]
[XmlElement("name")]
[JsonProperty("name"), XmlElement("name")]
public string Name { get; set; }
/// <summary>
/// Information value
/// </summary>
[JsonProperty("value")]
[XmlElement("value")]
[JsonProperty("value"), XmlElement("value")]
public string Value { get; set; }
#endregion
@@ -54,6 +51,7 @@ namespace SabreTools.DatItems.Formats
#region Cloning Methods
/// <inheritdoc/>
public override object Clone()
{
return new Info()
@@ -74,6 +72,7 @@ namespace SabreTools.DatItems.Formats
#region Comparision Methods
/// <inheritdoc/>
public override bool Equals(DatItem other)
{
// If we don't have a sample, return false
@@ -84,7 +83,8 @@ namespace SabreTools.DatItems.Formats
Info newOther = other as Info;
// If the archive information matches
return (Name == newOther.Name && Value == newOther.Value);
return (Name == newOther.Name
&& Value == newOther.Value);
}
#endregion

View File

@@ -1,8 +1,7 @@
using System.Collections.Generic;
using System.Xml.Serialization;
using SabreTools.Core;
using Newtonsoft.Json;
using SabreTools.Core;
namespace SabreTools.DatItems.Formats
{
@@ -17,8 +16,7 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Input service ID
/// </summary>
[JsonProperty("service", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("service")]
[JsonProperty("service", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("service")]
public bool? Service { get; set; }
[JsonIgnore]
@@ -27,8 +25,7 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Determins if this has a tilt sensor
/// </summary>
[JsonProperty("tilt", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("tilt")]
[JsonProperty("tilt", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("tilt")]
public bool? Tilt { get; set; }
[JsonIgnore]
@@ -37,8 +34,7 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Number of players on the input
/// </summary>
[JsonProperty("players", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("players")]
[JsonProperty("players", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("players")]
public long? Players { get; set; }
[JsonIgnore]
@@ -47,8 +43,7 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Number of coins required
/// </summary>
[JsonProperty("coins", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("coins")]
[JsonProperty("coins", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("coins")]
public long? Coins { get; set; }
[JsonIgnore]
@@ -57,8 +52,7 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Set of controls for the input
/// </summary>
[JsonProperty("controls", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("controls")]
[JsonProperty("controls", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("controls")]
public List<Control> Controls { get; set; }
[JsonIgnore]
@@ -80,6 +74,7 @@ namespace SabreTools.DatItems.Formats
#region Cloning Methods
/// <inheritdoc/>
public override object Clone()
{
return new Input()
@@ -103,6 +98,7 @@ namespace SabreTools.DatItems.Formats
#region Comparision Methods
/// <inheritdoc/>
public override bool Equals(DatItem other)
{
// If we don't have a Input, return false

View File

@@ -1,7 +1,6 @@
using System.Xml.Serialization;
using SabreTools.Core;
using Newtonsoft.Json;
using SabreTools.Core;
namespace SabreTools.DatItems.Formats
{
@@ -16,15 +15,13 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Name of the item
/// </summary>
[JsonProperty("name")]
[XmlElement("name")]
[JsonProperty("name"), XmlElement("name")]
public string Name { get; set; }
/// <summary>
/// Short name for the instance
/// </summary>
[JsonProperty("briefname", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("briefname")]
[JsonProperty("briefname", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("briefname")]
public string BriefName { get; set; }
#endregion
@@ -54,6 +51,7 @@ namespace SabreTools.DatItems.Formats
#region Cloning Methods
/// <inheritdoc/>
public override object Clone()
{
return new Instance()
@@ -74,6 +72,7 @@ namespace SabreTools.DatItems.Formats
#region Comparision Methods
/// <inheritdoc/>
public override bool Equals(DatItem other)
{
// If we don't have a Instance, return false
@@ -84,7 +83,8 @@ namespace SabreTools.DatItems.Formats
Instance newOther = other as Instance;
// If the Instance information matches
return (Name == newOther.Name && BriefName == newOther.BriefName);
return (Name == newOther.Name
&& BriefName == newOther.BriefName);
}
#endregion

View File

@@ -1,7 +1,6 @@
using System.Xml.Serialization;
using SabreTools.Core;
using Newtonsoft.Json;
using SabreTools.Core;
namespace SabreTools.DatItems.Formats
{
@@ -16,15 +15,13 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Location name
/// </summary>
[JsonProperty("name")]
[XmlElement("name")]
[JsonProperty("name"), XmlElement("name")]
public string Name { get; set; }
/// <summary>
/// Location ID
/// </summary>
[JsonProperty("number", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("number")]
[JsonProperty("number", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("number")]
public long? Number { get; set; }
[JsonIgnore]
@@ -33,8 +30,7 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Determines if location is inverted or not
/// </summary>
[JsonProperty("inverted", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("inverted")]
[JsonProperty("inverted", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("inverted")]
public bool? Inverted { get; set; }
[JsonIgnore]
@@ -67,6 +63,7 @@ namespace SabreTools.DatItems.Formats
#region Cloning Methods
/// <inheritdoc/>
public override object Clone()
{
return new Location()
@@ -88,6 +85,7 @@ namespace SabreTools.DatItems.Formats
#region Comparision Methods
/// <inheritdoc/>
public override bool Equals(DatItem other)
{
// If we don't have a Location, return false

View File

@@ -1,10 +1,9 @@
using System.Text;
using System.Xml.Serialization;
using Newtonsoft.Json;
using SabreTools.Core;
using SabreTools.Core.Tools;
using SabreTools.FileTypes;
using Newtonsoft.Json;
namespace SabreTools.DatItems.Formats
{
@@ -28,15 +27,13 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Name of the item
/// </summary>
[JsonProperty("name")]
[XmlElement("name")]
[JsonProperty("name"), XmlElement("name")]
public string Name { get; set; }
/// <summary>
/// Data MD5 hash
/// </summary>
[JsonProperty("md5", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("md5")]
[JsonProperty("md5", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("md5")]
public string MD5
{
get { return _md5.IsNullOrEmpty() ? null : Utilities.ByteArrayToString(_md5); }
@@ -46,8 +43,7 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Data SHA-1 hash
/// </summary>
[JsonProperty("sha1", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("sha1")]
[JsonProperty("sha1", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("sha1")]
public string SHA1
{
get { return _sha1.IsNullOrEmpty() ? null : Utilities.ByteArrayToString(_sha1); }
@@ -57,8 +53,7 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Data SHA-256 hash
/// </summary>
[JsonProperty("sha256", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("sha256")]
[JsonProperty("sha256", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("sha256")]
public string SHA256
{
get { return _sha256.IsNullOrEmpty() ? null : Utilities.ByteArrayToString(_sha256); }
@@ -68,8 +63,7 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// File SpamSum fuzzy hash
/// </summary>
[JsonProperty("spamsum", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("spamsum")]
[JsonProperty("spamsum", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("spamsum")]
public string SpamSum
{
get { return _spamsum.IsNullOrEmpty() ? null : Encoding.UTF8.GetString(_spamsum); }
@@ -120,6 +114,7 @@ namespace SabreTools.DatItems.Formats
#region Cloning Methods
/// <inheritdoc/>
public override object Clone()
{
return new Media()
@@ -184,6 +179,7 @@ namespace SabreTools.DatItems.Formats
#region Comparision Methods
/// <inheritdoc/>
public override bool Equals(DatItem other)
{
bool dupefound = false;

View File

@@ -1,8 +1,7 @@
using System.Collections.Generic;
using System.Xml.Serialization;
using SabreTools.Core;
using Newtonsoft.Json;
using SabreTools.Core;
namespace SabreTools.DatItems.Formats
{
@@ -15,16 +14,13 @@ namespace SabreTools.DatItems.Formats
{
#region Fields
[JsonProperty("name")]
[XmlElement("name")]
[JsonProperty("name"), XmlElement("name")]
public string Name { get; set; }
[JsonProperty("interface")]
[XmlElement("interface")]
[JsonProperty("interface"), XmlElement("interface")]
public string Interface { get; set; }
[JsonProperty("features", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("features")]
[JsonProperty("features", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("features")]
public List<PartFeature> Features { get; set; }
[JsonIgnore]
@@ -57,6 +53,7 @@ namespace SabreTools.DatItems.Formats
#region Cloning Methods
/// <inheritdoc/>
public override object Clone()
{
return new Part()
@@ -78,6 +75,7 @@ namespace SabreTools.DatItems.Formats
#region Comparision Methods
/// <inheritdoc/>
public override bool Equals(DatItem other)
{
// If we don't have a Part, return false

View File

@@ -1,7 +1,6 @@
using System.Xml.Serialization;
using SabreTools.Core;
using Newtonsoft.Json;
using SabreTools.Core;
namespace SabreTools.DatItems.Formats
{
@@ -16,15 +15,13 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Name of the item
/// </summary>
[JsonProperty("name")]
[XmlElement("name")]
[JsonProperty("name"), XmlElement("name")]
public string Name { get; set; }
/// <summary>
/// PartFeature value
/// </summary>
[JsonProperty("value")]
[XmlElement("value")]
[JsonProperty("value"), XmlElement("value")]
public string Value { get; set; }
#endregion
@@ -54,6 +51,7 @@ namespace SabreTools.DatItems.Formats
#region Cloning Methods
/// <inheritdoc/>
public override object Clone()
{
return new PartFeature()
@@ -74,6 +72,7 @@ namespace SabreTools.DatItems.Formats
#region Comparision Methods
/// <inheritdoc/>
public override bool Equals(DatItem other)
{
// If we don't have a sample, return false
@@ -84,7 +83,8 @@ namespace SabreTools.DatItems.Formats
PartFeature newOther = other as PartFeature;
// If the archive information matches
return (Name == newOther.Name && Value == newOther.Value);
return (Name == newOther.Name
&& Value == newOther.Value);
}
#endregion

View File

@@ -1,8 +1,7 @@
using System.Collections.Generic;
using System.Xml.Serialization;
using SabreTools.Core;
using Newtonsoft.Json;
using SabreTools.Core;
namespace SabreTools.DatItems.Formats
{
@@ -17,15 +16,13 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Tag for the port
/// </summary>
[JsonProperty("tag", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("tag")]
[JsonProperty("tag", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("tag")]
public string Tag { get; set; }
/// <summary>
/// List of analogs on the port
/// </summary>
[JsonProperty("analogs", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("analogs")]
[JsonProperty("analogs", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("analogs")]
public List<Analog> Analogs { get; set; }
[JsonIgnore]
@@ -47,6 +44,7 @@ namespace SabreTools.DatItems.Formats
#region Cloning Methods
/// <inheritdoc/>
public override object Clone()
{
return new Port()
@@ -67,6 +65,7 @@ namespace SabreTools.DatItems.Formats
#region Comparision Methods
/// <inheritdoc/>
public override bool Equals(DatItem other)
{
// If we don't have a Port, return false

View File

@@ -1,7 +1,6 @@
using System.Xml.Serialization;
using SabreTools.Core;
using Newtonsoft.Json;
using SabreTools.Core;
namespace SabreTools.DatItems.Formats
{
@@ -16,15 +15,13 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Name of the item
/// </summary>
[JsonProperty("name")]
[XmlElement("name")]
[JsonProperty("name"), XmlElement("name")]
public string Name { get; set; }
/// <summary>
/// Determine whether the RamOption is default
/// </summary>
[JsonProperty("default", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("default")]
[JsonProperty("default", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("default")]
public bool? Default { get; set; }
[JsonIgnore]
@@ -33,8 +30,7 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Determines the content of the RamOption
/// </summary>
[JsonProperty("content", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("content")]
[JsonProperty("content", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("content")]
public string Content { get; set; }
#endregion
@@ -64,6 +60,7 @@ namespace SabreTools.DatItems.Formats
#region Cloning Methods
/// <inheritdoc/>
public override object Clone()
{
return new RamOption()
@@ -85,6 +82,7 @@ namespace SabreTools.DatItems.Formats
#region Comparision Methods
/// <inheritdoc/>
public override bool Equals(DatItem other)
{
// If we don't have a RamOption, return false
@@ -95,7 +93,9 @@ namespace SabreTools.DatItems.Formats
RamOption newOther = other as RamOption;
// If the BiosSet information matches
return (Name == newOther.Name && Default == newOther.Default && Content == newOther.Content);
return (Name == newOther.Name
&& Default == newOther.Default
&& Content == newOther.Content);
}
#endregion

View File

@@ -1,7 +1,6 @@
using System.Xml.Serialization;
using SabreTools.Core;
using Newtonsoft.Json;
using SabreTools.Core;
namespace SabreTools.DatItems.Formats
{
@@ -16,36 +15,31 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Name of the item
/// </summary>
[JsonProperty("name")]
[XmlElement("name")]
[JsonProperty("name"), XmlElement("name")]
public string Name { get; set; }
/// <summary>
/// Release region(s)
/// </summary>
[JsonProperty("region", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("region")]
[JsonProperty("region", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("region")]
public string Region { get; set; }
/// <summary>
/// Release language(s)
/// </summary>
[JsonProperty("language", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("language")]
[JsonProperty("language", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("language")]
public string Language { get; set; }
/// <summary>
/// Date of release
/// </summary>
[JsonProperty("date", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("date")]
[JsonProperty("date", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("date")]
public string Date { get; set; }
/// <summary>
/// Default release, if applicable
/// </summary>
[JsonProperty("default", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("default")]
[JsonProperty("default", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("default")]
public bool? Default { get; set; }
[JsonIgnore]
@@ -82,6 +76,7 @@ namespace SabreTools.DatItems.Formats
#region Cloning Methods
/// <inheritdoc/>
public override object Clone()
{
return new Release()
@@ -105,6 +100,7 @@ namespace SabreTools.DatItems.Formats
#region Comparision Methods
/// <inheritdoc/>
public override bool Equals(DatItem other)
{
// If we don't have a release return false

View File

@@ -2,12 +2,11 @@
using System.Linq;
using System.Text;
using System.Xml.Serialization;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using SabreTools.Core;
using SabreTools.Core.Tools;
using SabreTools.FileTypes;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
namespace SabreTools.DatItems.Formats
{
@@ -36,22 +35,19 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Name of the item
/// </summary>
[JsonProperty("name")]
[XmlElement("name")]
[JsonProperty("name"), XmlElement("name")]
public string Name { get; set; }
/// <summary>
/// What BIOS is required for this rom
/// </summary>
[JsonProperty("bios", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("bios")]
[JsonProperty("bios", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("bios")]
public string Bios { get; set; }
/// <summary>
/// Byte size of the rom
/// </summary>
[JsonProperty("size", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("size")]
[JsonProperty("size", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("size")]
public long? Size { get; set; } = null;
[JsonIgnore]
@@ -60,8 +56,7 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// File CRC32 hash
/// </summary>
[JsonProperty("crc", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("crc")]
[JsonProperty("crc", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("crc")]
public string CRC
{
get { return _crc.IsNullOrEmpty() ? null : Utilities.ByteArrayToString(_crc); }
@@ -71,8 +66,7 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// File MD5 hash
/// </summary>
[JsonProperty("md5", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("md5")]
[JsonProperty("md5", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("md5")]
public string MD5
{
get { return _md5.IsNullOrEmpty() ? null : Utilities.ByteArrayToString(_md5); }
@@ -82,8 +76,7 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// File SHA-1 hash
/// </summary>
[JsonProperty("sha1", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("sha1")]
[JsonProperty("sha1", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("sha1")]
public string SHA1
{
get { return _sha1.IsNullOrEmpty() ? null : Utilities.ByteArrayToString(_sha1); }
@@ -93,8 +86,7 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// File SHA-256 hash
/// </summary>
[JsonProperty("sha256", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("sha256")]
[JsonProperty("sha256", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("sha256")]
public string SHA256
{
get { return _sha256.IsNullOrEmpty() ? null : Utilities.ByteArrayToString(_sha256); }
@@ -104,8 +96,7 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// File SHA-384 hash
/// </summary>
[JsonProperty("sha384", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("sha384")]
[JsonProperty("sha384", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("sha384")]
public string SHA384
{
get { return _sha384.IsNullOrEmpty() ? null : Utilities.ByteArrayToString(_sha384); }
@@ -115,8 +106,7 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// File SHA-512 hash
/// </summary>
[JsonProperty("sha512", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("sha512")]
[JsonProperty("sha512", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("sha512")]
public string SHA512
{
get { return _sha512.IsNullOrEmpty() ? null : Utilities.ByteArrayToString(_sha512); }
@@ -126,8 +116,7 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// File SpamSum fuzzy hash
/// </summary>
[JsonProperty("spamsum", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("spamsum")]
[JsonProperty("spamsum", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("spamsum")]
public string SpamSum
{
get { return _spamsum.IsNullOrEmpty() ? null : Encoding.UTF8.GetString(_spamsum); }
@@ -137,37 +126,32 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Rom name to merge from parent
/// </summary>
[JsonProperty("merge", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("merge")]
[JsonProperty("merge", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("merge")]
public string MergeTag { get; set; }
/// <summary>
/// Rom region
/// </summary>
[JsonProperty("region", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("biregionos")]
[JsonProperty("region", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("biregionos")]
public string Region { get; set; }
/// <summary>
/// Data offset within rom
/// </summary>
[JsonProperty("offset", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("offset")]
[JsonProperty("offset", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("offset")]
public string Offset { get; set; }
/// <summary>
/// File created date
/// </summary>
[JsonProperty("date", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("date")]
[JsonProperty("date", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("date")]
public string Date { get; set; }
/// <summary>
/// Rom dump status
/// </summary>
[JsonProperty("status", DefaultValueHandling = DefaultValueHandling.Ignore)]
[JsonProperty("status", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("status")]
[JsonConverter(typeof(StringEnumConverter))]
[XmlElement("status")]
public ItemStatus ItemStatus { get; set; }
[JsonIgnore]
@@ -176,8 +160,7 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Determine if the rom is optional in the set
/// </summary>
[JsonProperty("optional", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("optional")]
[JsonProperty("optional", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("optional")]
public bool? Optional { get; set; } = null;
[JsonIgnore]
@@ -186,8 +169,7 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Determine if the CRC32 hash is inverted
/// </summary>
[JsonProperty("inverted", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("inverted")]
[JsonProperty("inverted", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("inverted")]
public bool? Inverted { get; set; } = null;
[JsonIgnore]
@@ -200,22 +182,19 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Source of file
/// </summary>
[JsonProperty("ado_source", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("ado_source")]
[JsonProperty("ado_source", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("ado_source")]
public string ArchiveDotOrgSource { get; set; }
/// <summary>
/// Archive.org recognized file format
/// </summary>
[JsonProperty("ado_format", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("ado_format")]
[JsonProperty("ado_format", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("ado_format")]
public string ArchiveDotOrgFormat { get; set; }
/// <summary>
/// Original filename
/// </summary>
[JsonProperty("original_filename", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("original_filename")]
[JsonProperty("original_filename", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("original_filename")]
public string OriginalFilename { get; set; }
/// <summary>
@@ -224,15 +203,13 @@ namespace SabreTools.DatItems.Formats
/// <remarks>
/// TODO: This might be Int32?
/// </remarks>
[JsonProperty("rotation", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("rotation")]
[JsonProperty("rotation", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("rotation")]
public string Rotation { get; set; }
/// <summary>
/// Summation value?
/// </summary>
[JsonProperty("summation", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("summation")]
[JsonProperty("summation", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("summation")]
public string Summation { get; set; }
#endregion
@@ -242,15 +219,13 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Alternate name for the item
/// </summary>
[JsonProperty("alt_romname", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("alt_romname")]
[JsonProperty("alt_romname", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("alt_romname")]
public string AltName { get; set; }
/// <summary>
/// Alternate title for the item
/// </summary>
[JsonProperty("alt_title", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("alt_title")]
[JsonProperty("alt_title", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("alt_title")]
public string AltTitle { get; set; }
#endregion
@@ -260,8 +235,7 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// OpenMSX sub item type
/// </summary>
[JsonProperty("original", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("original")]
[JsonProperty("original", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("original")]
public Original Original { get; set; } = null;
[JsonIgnore]
@@ -270,8 +244,7 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// OpenMSX sub item type
/// </summary>
[JsonProperty("openmsx_subtype", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("openmsx_subtype")]
[JsonProperty("openmsx_subtype", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("openmsx_subtype")]
[JsonConverter(typeof(StringEnumConverter))]
public OpenMSXSubType OpenMSXSubType { get; set; }
@@ -282,22 +255,19 @@ namespace SabreTools.DatItems.Formats
/// OpenMSX sub item type
/// </summary>
/// <remarks>Not related to the subtype above</remarks>
[JsonProperty("openmsx_type", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("openmsx_type")]
[JsonProperty("openmsx_type", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("openmsx_type")]
public string OpenMSXType { get; set; }
/// <summary>
/// Item remark (like a comment)
/// </summary>
[JsonProperty("remark", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("remark")]
[JsonProperty("remark", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("remark")]
public string Remark { get; set; }
/// <summary>
/// Boot state
/// </summary>
[JsonProperty("boot", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("boot")]
[JsonProperty("boot", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("boot")]
public string Boot { get; set; }
#endregion
@@ -307,8 +277,7 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Data area information
/// </summary>
[JsonProperty("dataarea", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("dataarea")]
[JsonProperty("dataarea", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("dataarea")]
public DataArea DataArea { get; set; } = null;
[JsonIgnore]
@@ -327,8 +296,7 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Loading flag
/// </summary>
[JsonProperty("loadflag", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("loadflag")]
[JsonProperty("loadflag", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("loadflag")]
[JsonConverter(typeof(StringEnumConverter))]
public LoadFlag LoadFlag { get; set; }
@@ -338,8 +306,7 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Original hardware part associated with the item
/// </summary>
[JsonProperty("part", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("part")]
[JsonProperty("part", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("part")]
public Part Part { get; set; } = null;
[JsonIgnore]
@@ -356,8 +323,7 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// SoftwareList value associated with the item
/// </summary>
[JsonProperty("value", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("value")]
[JsonProperty("value", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("value")]
public string Value { get; set; }
#endregion
@@ -433,6 +399,7 @@ namespace SabreTools.DatItems.Formats
#region Cloning Methods
/// <inheritdoc/>
public override object Clone()
{
return new Rom()
@@ -503,6 +470,7 @@ namespace SabreTools.DatItems.Formats
#region Comparision Methods
/// <inheritdoc/>
public override bool Equals(DatItem other)
{
bool dupefound = false;

View File

@@ -1,7 +1,6 @@
using System.Xml.Serialization;
using SabreTools.Core;
using Newtonsoft.Json;
using SabreTools.Core;
namespace SabreTools.DatItems.Formats
{
@@ -16,8 +15,7 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Name of the item
/// </summary>
[JsonProperty("name")]
[XmlElement("name")]
[JsonProperty("name"), XmlElement("name")]
public string Name { get; set; }
#endregion
@@ -47,6 +45,7 @@ namespace SabreTools.DatItems.Formats
#region Cloning Methods
/// <inheritdoc/>
public override object Clone()
{
return new Sample()
@@ -66,6 +65,7 @@ namespace SabreTools.DatItems.Formats
#region Comparision Methods
/// <inheritdoc/>
public override bool Equals(DatItem other)
{
// If we don't have a sample, return false

View File

@@ -1,8 +1,7 @@
using System.Collections.Generic;
using System.Xml.Serialization;
using SabreTools.Core;
using Newtonsoft.Json;
using SabreTools.Core;
namespace SabreTools.DatItems.Formats
{
@@ -17,22 +16,19 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Setting name
/// </summary>
[JsonProperty("name")]
[XmlElement("name")]
[JsonProperty("name"), XmlElement("name")]
public string Name { get; set; }
/// <summary>
/// Setting value
/// </summary>
[JsonProperty("value", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("value")]
[JsonProperty("value", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("value")]
public string Value { get; set; }
/// <summary>
/// Determines if the setting is default or not
/// </summary>
[JsonProperty("default", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("default")]
[JsonProperty("default", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("default")]
public bool? Default { get; set; }
[JsonIgnore]
@@ -41,8 +37,7 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// List of conditions on the setting
/// </summary>
[JsonProperty("conditions", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("conditions")]
[JsonProperty("conditions", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("conditions")]
public List<Condition> Conditions { get; set; }
[JsonIgnore]
@@ -75,6 +70,7 @@ namespace SabreTools.DatItems.Formats
#region Cloning Methods
/// <inheritdoc/>
public override object Clone()
{
return new Setting()
@@ -97,6 +93,7 @@ namespace SabreTools.DatItems.Formats
#region Comparision Methods
/// <inheritdoc/>
public override bool Equals(DatItem other)
{
// If we don't have a Setting, return false

View File

@@ -1,7 +1,6 @@
using System.Xml.Serialization;
using SabreTools.Core;
using Newtonsoft.Json;
using SabreTools.Core;
namespace SabreTools.DatItems.Formats
{
@@ -16,15 +15,13 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Name of the item
/// </summary>
[JsonProperty("name")]
[XmlElement("name")]
[JsonProperty("name"), XmlElement("name")]
public string Name { get; set; }
/// <summary>
/// SharedFeature value
/// </summary>
[JsonProperty("value")]
[XmlElement("value")]
[JsonProperty("value"), XmlElement("value")]
public string Value { get; set; }
#endregion
@@ -54,6 +51,7 @@ namespace SabreTools.DatItems.Formats
#region Cloning Methods
/// <inheritdoc/>
public override object Clone()
{
return new SharedFeature()
@@ -74,6 +72,7 @@ namespace SabreTools.DatItems.Formats
#region Comparision Methods
/// <inheritdoc/>
public override bool Equals(DatItem other)
{
// If we don't have a sample, return false
@@ -84,7 +83,8 @@ namespace SabreTools.DatItems.Formats
SharedFeature newOther = other as SharedFeature;
// If the archive information matches
return (Name == newOther.Name && Value == newOther.Value);
return (Name == newOther.Name
&& Value == newOther.Value);
}
#endregion

View File

@@ -1,8 +1,7 @@
using System.Collections.Generic;
using System.Xml.Serialization;
using SabreTools.Core;
using Newtonsoft.Json;
using SabreTools.Core;
namespace SabreTools.DatItems.Formats
{
@@ -17,15 +16,13 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Name of the item
/// </summary>
[JsonProperty("name")]
[XmlElement("name")]
[JsonProperty("name"), XmlElement("name")]
public string Name { get; set; }
/// <summary>
/// Slot options associated with the slot
/// </summary>
[JsonProperty("slotoptions", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("slotoptions")]
[JsonProperty("slotoptions", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("slotoptions")]
public List<SlotOption> SlotOptions { get; set; }
[JsonIgnore]
@@ -58,6 +55,7 @@ namespace SabreTools.DatItems.Formats
#region Cloning Methods
/// <inheritdoc/>
public override object Clone()
{
return new Slot()
@@ -78,6 +76,7 @@ namespace SabreTools.DatItems.Formats
#region Comparision Methods
/// <inheritdoc/>
public override bool Equals(DatItem other)
{
// If we don't have a Slot, return false

View File

@@ -1,7 +1,6 @@
using System.Xml.Serialization;
using SabreTools.Core;
using Newtonsoft.Json;
using SabreTools.Core;
namespace SabreTools.DatItems.Formats
{
@@ -16,22 +15,19 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Slot option name
/// </summary>
[JsonProperty("name")]
[XmlElement("name")]
[JsonProperty("name"), XmlElement("name")]
public string Name { get; set; }
/// <summary>
/// Referenced device name
/// </summary>
[JsonProperty("devname")]
[XmlElement("devname")]
[JsonProperty("devname"), XmlElement("devname")]
public string DeviceName { get; set; }
/// <summary>
/// Determines if this slot option is default or not
/// </summary>
[JsonProperty("default", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("default")]
[JsonProperty("default", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("default")]
public bool? Default { get; set; }
[JsonIgnore]
@@ -64,6 +60,7 @@ namespace SabreTools.DatItems.Formats
#region Cloning Methods
/// <inheritdoc/>
public override object Clone()
{
return new SlotOption()
@@ -85,6 +82,7 @@ namespace SabreTools.DatItems.Formats
#region Comparision Methods
/// <inheritdoc/>
public override bool Equals(DatItem other)
{
// If we don't have a SlotOption, return false

View File

@@ -9,6 +9,9 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Represents which SoftwareList(s) is associated with a set
/// </summary>
/// <remarks>
/// TODO: Add new fields to documentation
/// </remarks>
[JsonObject("softwarelist"), XmlRoot("softwarelist")]
public class SoftwareList : DatItem
{

View File

@@ -1,7 +1,6 @@
using System.Xml.Serialization;
using SabreTools.Core;
using Newtonsoft.Json;
using SabreTools.Core;
namespace SabreTools.DatItems.Formats
{
@@ -16,8 +15,7 @@ namespace SabreTools.DatItems.Formats
/// <summary>
/// Number of speakers or channels
/// </summary>
[JsonProperty("channels", DefaultValueHandling = DefaultValueHandling.Ignore)]
[XmlElement("channels")]
[JsonProperty("channels", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("channels")]
public long? Channels { get; set; }
[JsonIgnore]
@@ -39,6 +37,7 @@ namespace SabreTools.DatItems.Formats
#region Cloning Methods
/// <inheritdoc/>
public override object Clone()
{
return new Sound()
@@ -58,6 +57,7 @@ namespace SabreTools.DatItems.Formats
#region Comparision Methods
/// <inheritdoc/>
public override bool Equals(DatItem other)
{
// If we don't have a Sound, return false