mirror of
https://github.com/claunia/SabreTools.git
synced 2025-12-16 19:14:27 +00:00
Promote Port
This commit is contained in:
@@ -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");
|
||||
|
||||
Reference in New Issue
Block a user