DataArea width to long?

This commit is contained in:
Matt Nadareski
2020-09-04 10:32:43 -07:00
parent 7f8766b0a4
commit 120dcd6c4a
4 changed files with 22 additions and 9 deletions

View File

@@ -255,11 +255,23 @@ namespace SabreTools.Library.DatFiles
var dataArea = new DataArea
{
Name = reader.GetAttribute("name"),
Size = Sanitizer.CleanSize(reader.GetAttribute("size")),
Width = reader.GetAttribute("width"),
Endianness = reader.GetAttribute("endianness").AsEndianness(),
};
// Set the size
if (reader.GetAttribute("size") != null)
{
if (Int64.TryParse(reader.GetAttribute("width"), out long size))
dataArea.Size = size;
}
// Set the width
if (reader.GetAttribute("width") != null)
{
if (Int64.TryParse(reader.GetAttribute("width"), out long width))
dataArea.Width = width;
}
List<DatItem> roms = ReadDataArea(reader.ReadSubtree(), dataArea);
// If we got valid roms, add them to the list
@@ -771,7 +783,7 @@ namespace SabreTools.Library.DatFiles
xtw.WriteStartElement("dataarea");
xtw.WriteRequiredAttributeString("name", dataAreaName);
xtw.WriteOptionalAttributeString("size", rom.DataArea?.Size.ToString());
xtw.WriteOptionalAttributeString("width", rom.DataArea?.Width);
xtw.WriteOptionalAttributeString("width", rom.DataArea?.Width?.ToString());
xtw.WriteOptionalAttributeString("endianness", rom.DataArea?.Endianness.FromEndianness());
xtw.WriteStartElement("rom");