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; } /// (baddump|nodump|good|verified) "good" [XmlAttribute("status")] public string? Status { get; set; } [XmlAttribute("date")] public string? Date { get; set; } #region Hash Extensions /// Also in No-Intro spec; Appears after SHA1 [XmlAttribute("sha256")] public string? SHA256 { get; set; } /// Appears after SHA256 [XmlAttribute("sha384")] public string? SHA384 { get; set; } /// Appears after SHA384 [XmlAttribute("sha512")] public string? SHA512 { get; set; } /// Appears after SHA512 [XmlAttribute("spamsum")] public string? SpamSum { get; set; } #endregion #region DiscImgeCreator Extensions /// Appears after SpamSum [XmlAttribute("xxh3_64")] public string? xxHash364 { get; set; } /// Appears after xxHash364 [XmlAttribute("xxh3_128")] public string? xxHash3128 { get; set; } #endregion #region No-Intro Extensions /// Appears after Status [XmlAttribute("serial")] public string? Serial { get; set; } /// Appears after Serial [XmlAttribute("header")] public string? Header { get; set; } #endregion #region RomVault Extensions /// Boolean; Appears after Date [XmlAttribute("inverted")] public bool? Inverted { get; set; } /// Boolean; Appears after Inverted [XmlAttribute("mia")] public bool? MIA { get; set; } #endregion } }