Promote Port

This commit is contained in:
Matt Nadareski
2020-09-02 17:22:31 -07:00
parent 007510cc0f
commit 08303b81de
12 changed files with 301 additions and 131 deletions

View File

@@ -391,6 +391,27 @@ namespace SabreTools.Library.DatFiles
reader.Read();
break;
case "port":
var port = new Port
{
Tag = reader.GetAttribute("tag"),
Source = new Source
{
Index = indexId,
Name = filename,
},
};
// Now read the internal tags
ReadPort(reader.ReadSubtree(), port);
datItems.Add(port);
// Skip the port now that we've processed it
reader.Skip();
break;
case "rom":
datItems.Add(new Rom
{
@@ -546,23 +567,6 @@ namespace SabreTools.Library.DatFiles
reader.Skip();
break;
case "port":
var port = new Port();
port.Tag = reader.GetAttribute("tag");
// Now read the internal tags
ReadPort(reader.ReadSubtree(), port);
// Ensure the list exists
if (machine.Ports == null)
machine.Ports = new List<Port>();
machine.Ports.Add(port);
// Skip the port now that we've processed it
reader.Skip();
break;
default:
reader.Read();
break;
@@ -1303,24 +1307,6 @@ namespace SabreTools.Library.DatFiles
xtw.WriteEndElement();
}
}
if (datItem.Machine.Ports != null)
{
foreach (var port in datItem.Machine.Ports)
{
xtw.WriteStartElement("port");
xtw.WriteOptionalAttributeString("tag", port.Tag);
if (port.Analogs != null)
{
foreach (var analog in port.Analogs)
{
xtw.WriteStartElement("analog");
xtw.WriteOptionalAttributeString("mask", analog.Mask);
xtw.WriteEndElement();
}
}
xtw.WriteEndElement();
}
}
xtw.Flush();
}
@@ -1590,6 +1576,22 @@ namespace SabreTools.Library.DatFiles
xtw.WriteEndElement();
break;
case ItemType.Port:
var port = datItem as Port;
xtw.WriteStartElement("port");
xtw.WriteOptionalAttributeString("tag", port.Tag);
if (port.Analogs != null)
{
foreach (var analog in port.Analogs)
{
xtw.WriteStartElement("analog");
xtw.WriteOptionalAttributeString("mask", analog.Mask);
xtw.WriteEndElement();
}
}
xtw.WriteEndElement();
break;
case ItemType.RamOption:
var ramOption = datItem as RamOption;
xtw.WriteStartElement("ramoption");