From d9dd16fbb9743c6a7fbf437e3e33e5b2544fefd7 Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Fri, 18 Sep 2026 10:34:40 -0400 Subject: [PATCH] Fix OpenMSX rom attribute parsing --- SabreTools.Data.Models/OpenMSX/RomBase.cs | 12 ++++++++++-- SabreTools.Serialization.Readers/OpenMSX.cs | 5 +++++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/SabreTools.Data.Models/OpenMSX/RomBase.cs b/SabreTools.Data.Models/OpenMSX/RomBase.cs index 51254b78..7b76ef98 100644 --- a/SabreTools.Data.Models/OpenMSX/RomBase.cs +++ b/SabreTools.Data.Models/OpenMSX/RomBase.cs @@ -11,19 +11,27 @@ namespace SabreTools.Data.Models.OpenMSX /// /// "hash" in older versions, "sha1" in newer versions /// + [XmlAttribute("sha1")] [XmlElement("hash")] - [XmlElement("sha1")] public string? SHA1 { get; set; } + /// + /// Element in older versions and DTD, attribute in newer versions + /// + [XmlAttribute("type")] [XmlElement("type")] public string? Type { get; set; } /// /// Only present in newer versions /// - [XmlElement("status")] + [XmlAttribute("status")] public string? Status { get; set; } + /// + /// Element in older versions and DTD, attribute in newer versions + /// + [XmlAttribute("remark")] [XmlElement("remark")] public string? Remark { get; set; } diff --git a/SabreTools.Serialization.Readers/OpenMSX.cs b/SabreTools.Serialization.Readers/OpenMSX.cs index 51fbb345..456c92d5 100644 --- a/SabreTools.Serialization.Readers/OpenMSX.cs +++ b/SabreTools.Serialization.Readers/OpenMSX.cs @@ -226,6 +226,11 @@ namespace SabreTools.Serialization.Readers else return null; + obj.SHA1 = reader.GetAttribute("sha1"); + obj.Type = reader.GetAttribute("type"); + obj.Status = reader.GetAttribute("status"); + obj.Remark = reader.GetAttribute("remark"); + // Handle empty elements if (reader.IsEmptyElement) return obj;