mirror of
https://github.com/claunia/SabreTools.git
synced 2025-12-16 19:14:27 +00:00
KVP >> Tuple
This commit is contained in:
@@ -734,11 +734,11 @@ namespace SabreTools.Library.DatFiles
|
|||||||
|
|
||||||
if (!ExcludeFields[(int)Field.Infos] && datItem.Infos != null && datItem.Infos.Count > 0)
|
if (!ExcludeFields[(int)Field.Infos] && datItem.Infos != null && datItem.Infos.Count > 0)
|
||||||
{
|
{
|
||||||
foreach (Tuple<string, string> kvp in datItem.Infos)
|
foreach (KeyValuePair<string, string> kvp in datItem.Infos)
|
||||||
{
|
{
|
||||||
xtw.WriteStartElement("info");
|
xtw.WriteStartElement("info");
|
||||||
xtw.WriteAttributeString("name", kvp.Item1);
|
xtw.WriteAttributeString("name", kvp.Key);
|
||||||
xtw.WriteAttributeString("value", kvp.Item2);
|
xtw.WriteAttributeString("value", kvp.Value);
|
||||||
xtw.WriteEndElement();
|
xtw.WriteEndElement();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -699,8 +699,8 @@ namespace SabreTools.Library.DatFiles
|
|||||||
bool remUnicode)
|
bool remUnicode)
|
||||||
{
|
{
|
||||||
// Prepare all internal variables
|
// Prepare all internal variables
|
||||||
List<Tuple<string, string>> extensionToCrc = new List<Tuple<string, string>>();
|
var extensionToCrc = new List<KeyValuePair<string, string>>();
|
||||||
List<Rom> roms = new List<Rom>();
|
var roms = new List<Rom>();
|
||||||
|
|
||||||
// If there's no subtree to the configuration, skip it
|
// If there's no subtree to the configuration, skip it
|
||||||
if (reader == null)
|
if (reader == null)
|
||||||
@@ -724,7 +724,7 @@ namespace SabreTools.Library.DatFiles
|
|||||||
{
|
{
|
||||||
case "romcrc":
|
case "romcrc":
|
||||||
extensionToCrc.Add(
|
extensionToCrc.Add(
|
||||||
new Tuple<string, string>(
|
new KeyValuePair<string, string>(
|
||||||
reader.GetAttribute("extension") ?? string.Empty,
|
reader.GetAttribute("extension") ?? string.Empty,
|
||||||
reader.ReadElementContentAsString().ToLowerInvariant()));
|
reader.ReadElementContentAsString().ToLowerInvariant()));
|
||||||
break;
|
break;
|
||||||
@@ -736,12 +736,12 @@ namespace SabreTools.Library.DatFiles
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Now process the roms with the proper information
|
// Now process the roms with the proper information
|
||||||
foreach (Tuple<string, string> pair in extensionToCrc)
|
foreach (KeyValuePair<string, string> pair in extensionToCrc)
|
||||||
{
|
{
|
||||||
roms.Add(new Rom()
|
roms.Add(new Rom()
|
||||||
{
|
{
|
||||||
Name = (releaseNumber != "0" ? releaseNumber + " - " : string.Empty) + machineName + pair.Item1,
|
Name = (releaseNumber != "0" ? releaseNumber + " - " : string.Empty) + machineName + pair.Key,
|
||||||
CRC = Utilities.CleanHashData(pair.Item2, Constants.CRCLength),
|
CRC = Utilities.CleanHashData(pair.Value, Constants.CRCLength),
|
||||||
|
|
||||||
ItemStatus = ItemStatus.None,
|
ItemStatus = ItemStatus.None,
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -109,7 +109,7 @@ namespace SabreTools.Library.DatFiles
|
|||||||
long size = -1;
|
long size = -1;
|
||||||
ItemType itemType = ItemType.Rom;
|
ItemType itemType = ItemType.Rom;
|
||||||
ItemStatus status = ItemStatus.None;
|
ItemStatus status = ItemStatus.None;
|
||||||
List<Tuple<string, string>> features = null;
|
List<KeyValuePair<string, string>> features = null;
|
||||||
|
|
||||||
// Now we loop through and get values for everything
|
// Now we loop through and get values for everything
|
||||||
for (int i = 0; i < svr.HeaderValues.Count; i++)
|
for (int i = 0; i < svr.HeaderValues.Count; i++)
|
||||||
@@ -293,12 +293,12 @@ namespace SabreTools.Library.DatFiles
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case "Machine.Infos":
|
case "Machine.Infos":
|
||||||
machine.Infos = new List<Tuple<string, string>>();
|
machine.Infos = new List<KeyValuePair<string, string>>();
|
||||||
var infos = value.Split(';');
|
var infos = value.Split(';');
|
||||||
foreach (var info in infos)
|
foreach (var info in infos)
|
||||||
{
|
{
|
||||||
var infoPair = info.Split('=');
|
var infoPair = info.Split('=');
|
||||||
machine.Infos.Add(new Tuple<string, string>(infoPair[0], infoPair[1]));
|
machine.Infos.Add(new KeyValuePair<string, string>(infoPair[0], infoPair[1]));
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
@@ -328,12 +328,12 @@ namespace SabreTools.Library.DatFiles
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case "DatItem.Features":
|
case "DatItem.Features":
|
||||||
features = new List<Tuple<string, string>>();
|
features = new List<KeyValuePair<string, string>>();
|
||||||
var splitFeatures = value.Split(';');
|
var splitFeatures = value.Split(';');
|
||||||
foreach (var splitFeature in splitFeatures)
|
foreach (var splitFeature in splitFeatures)
|
||||||
{
|
{
|
||||||
var featurePair = splitFeature.Split('=');
|
var featurePair = splitFeature.Split('=');
|
||||||
features.Add(new Tuple<string, string>(featurePair[0], featurePair[1]));
|
features.Add(new KeyValuePair<string, string>(featurePair[0], featurePair[1]));
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -161,7 +161,7 @@ namespace SabreTools.Library.DatFiles
|
|||||||
Supported = Utilities.GetYesNo(reader.GetAttribute("supported")), // (yes|partial|no) "yes"
|
Supported = Utilities.GetYesNo(reader.GetAttribute("supported")), // (yes|partial|no) "yes"
|
||||||
|
|
||||||
CloneOf = reader.GetAttribute("cloneof") ?? string.Empty,
|
CloneOf = reader.GetAttribute("cloneof") ?? string.Empty,
|
||||||
Infos = new List<Tuple<string, string>>(),
|
Infos = new List<KeyValuePair<string, string>>(),
|
||||||
|
|
||||||
MachineType = (machineType == MachineType.NULL ? MachineType.None : machineType),
|
MachineType = (machineType == MachineType.NULL ? MachineType.None : machineType),
|
||||||
};
|
};
|
||||||
@@ -191,7 +191,7 @@ namespace SabreTools.Library.DatFiles
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case "info":
|
case "info":
|
||||||
machine.Infos.Add(new Tuple<string, string>(reader.GetAttribute("name"), reader.GetAttribute("value")));
|
machine.Infos.Add(new KeyValuePair<string, string>(reader.GetAttribute("name"), reader.GetAttribute("value")));
|
||||||
reader.Read();
|
reader.Read();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -258,7 +258,7 @@ namespace SabreTools.Library.DatFiles
|
|||||||
string key = string.Empty, areaname = string.Empty, partname = string.Empty, partinterface = string.Empty;
|
string key = string.Empty, areaname = string.Empty, partname = string.Empty, partinterface = string.Empty;
|
||||||
string temptype = reader.Name;
|
string temptype = reader.Name;
|
||||||
long? areasize = null;
|
long? areasize = null;
|
||||||
List<Tuple<string, string>> features = new List<Tuple<string, string>>();
|
var features = new List<KeyValuePair<string, string>>();
|
||||||
bool containsItems = false;
|
bool containsItems = false;
|
||||||
|
|
||||||
while (!reader.EOF)
|
while (!reader.EOF)
|
||||||
@@ -270,7 +270,7 @@ namespace SabreTools.Library.DatFiles
|
|||||||
{
|
{
|
||||||
partname = string.Empty;
|
partname = string.Empty;
|
||||||
partinterface = string.Empty;
|
partinterface = string.Empty;
|
||||||
features = new List<Tuple<string, string>>();
|
features = new List<KeyValuePair<string, string>>();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (reader.NodeType == XmlNodeType.EndElement && (reader.Name == "dataarea" || reader.Name == "diskarea"))
|
if (reader.NodeType == XmlNodeType.EndElement && (reader.Name == "dataarea" || reader.Name == "diskarea"))
|
||||||
@@ -293,7 +293,7 @@ namespace SabreTools.Library.DatFiles
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case "feature":
|
case "feature":
|
||||||
features.Add(new Tuple<string, string>(reader.GetAttribute("name"), reader.GetAttribute("feature")));
|
features.Add(new KeyValuePair<string, string>(reader.GetAttribute("name"), reader.GetAttribute("feature")));
|
||||||
reader.Read();
|
reader.Read();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -366,7 +366,7 @@ namespace SabreTools.Library.DatFiles
|
|||||||
private bool ReadDataArea(
|
private bool ReadDataArea(
|
||||||
XmlReader reader,
|
XmlReader reader,
|
||||||
Machine machine,
|
Machine machine,
|
||||||
List<Tuple<string, string>> features,
|
List<KeyValuePair<string, string>> features,
|
||||||
string areaname,
|
string areaname,
|
||||||
long? areasize,
|
long? areasize,
|
||||||
string partname,
|
string partname,
|
||||||
@@ -479,7 +479,7 @@ namespace SabreTools.Library.DatFiles
|
|||||||
private bool ReadDiskArea(
|
private bool ReadDiskArea(
|
||||||
XmlReader reader,
|
XmlReader reader,
|
||||||
Machine machine,
|
Machine machine,
|
||||||
List<Tuple<string, string>> features,
|
List<KeyValuePair<string, string>> features,
|
||||||
string areaname,
|
string areaname,
|
||||||
long? areasize,
|
long? areasize,
|
||||||
string partname,
|
string partname,
|
||||||
@@ -755,11 +755,11 @@ namespace SabreTools.Library.DatFiles
|
|||||||
|
|
||||||
if (!ExcludeFields[(int)Field.Infos] && datItem.Infos != null && datItem.Infos.Count > 0)
|
if (!ExcludeFields[(int)Field.Infos] && datItem.Infos != null && datItem.Infos.Count > 0)
|
||||||
{
|
{
|
||||||
foreach (Tuple<string, string> kvp in datItem.Infos)
|
foreach (KeyValuePair<string, string> kvp in datItem.Infos)
|
||||||
{
|
{
|
||||||
xtw.WriteStartElement("info");
|
xtw.WriteStartElement("info");
|
||||||
xtw.WriteAttributeString("name", kvp.Item1);
|
xtw.WriteAttributeString("name", kvp.Key);
|
||||||
xtw.WriteAttributeString("value", kvp.Item2);
|
xtw.WriteAttributeString("value", kvp.Value);
|
||||||
xtw.WriteEndElement();
|
xtw.WriteEndElement();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -823,11 +823,11 @@ namespace SabreTools.Library.DatFiles
|
|||||||
|
|
||||||
if (!ExcludeFields[(int)Field.Features] && datItem.Features != null && datItem.Features.Count > 0)
|
if (!ExcludeFields[(int)Field.Features] && datItem.Features != null && datItem.Features.Count > 0)
|
||||||
{
|
{
|
||||||
foreach (Tuple<string, string> kvp in datItem.Features)
|
foreach (KeyValuePair<string, string> kvp in datItem.Features)
|
||||||
{
|
{
|
||||||
xtw.WriteStartElement("feature");
|
xtw.WriteStartElement("feature");
|
||||||
xtw.WriteAttributeString("name", kvp.Item1);
|
xtw.WriteAttributeString("name", kvp.Key);
|
||||||
xtw.WriteAttributeString("value", kvp.Item2);
|
xtw.WriteAttributeString("value", kvp.Value);
|
||||||
xtw.WriteEndElement();
|
xtw.WriteEndElement();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -450,7 +450,7 @@ namespace SabreTools.Library.DatItems
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// List of info items
|
/// List of info items
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public List<Tuple<string, string>> Infos
|
public List<KeyValuePair<string, string>> Infos
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
@@ -514,7 +514,7 @@ namespace SabreTools.Library.DatItems
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Features provided to/by the item
|
/// Features provided to/by the item
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public List<Tuple<string, string>> Features { get; set; }
|
public List<KeyValuePair<string, string>> Features { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Original hardware part name within an item
|
/// Original hardware part name within an item
|
||||||
@@ -585,7 +585,7 @@ namespace SabreTools.Library.DatItems
|
|||||||
fieldValue = this.PartInterface;
|
fieldValue = this.PartInterface;
|
||||||
break;
|
break;
|
||||||
case Field.Features:
|
case Field.Features:
|
||||||
fieldValue = string.Join(", ", (this.Features ?? new List<Tuple<string, string>>()).Select(f => $"{f.Item1}={f.Item2}"));
|
fieldValue = string.Join(";", (this.Features ?? new List<KeyValuePair<string, string>>()).Select(f => $"{f.Key}={f.Value}"));
|
||||||
break;
|
break;
|
||||||
case Field.AreaName:
|
case Field.AreaName:
|
||||||
fieldValue = this.AreaName;
|
fieldValue = this.AreaName;
|
||||||
@@ -637,13 +637,13 @@ namespace SabreTools.Library.DatItems
|
|||||||
fieldValue = this.RebuildTo;
|
fieldValue = this.RebuildTo;
|
||||||
break;
|
break;
|
||||||
case Field.Devices:
|
case Field.Devices:
|
||||||
fieldValue = string.Join(", ", this.Devices ?? new List<string>());
|
fieldValue = string.Join(";", this.Devices ?? new List<string>());
|
||||||
break;
|
break;
|
||||||
case Field.SlotOptions:
|
case Field.SlotOptions:
|
||||||
fieldValue = string.Join(", ", this.SlotOptions ?? new List<string>());
|
fieldValue = string.Join(";", this.SlotOptions ?? new List<string>());
|
||||||
break;
|
break;
|
||||||
case Field.Infos:
|
case Field.Infos:
|
||||||
fieldValue = string.Join(", ", (this.Infos ?? new List<Tuple<string, string>>()).Select(i => $"{i.Item1}={i.Item2}"));
|
fieldValue = string.Join(";", (this.Infos ?? new List<KeyValuePair<string, string>>()).Select(i => $"{i.Key}={i.Value}"));
|
||||||
break;
|
break;
|
||||||
case Field.MachineType:
|
case Field.MachineType:
|
||||||
fieldValue = this.MachineType.ToString();
|
fieldValue = this.MachineType.ToString();
|
||||||
|
|||||||
@@ -97,7 +97,7 @@ namespace SabreTools.Library.DatItems
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// List of info items
|
/// List of info items
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public List<Tuple<string, string>> Infos { get; set; }
|
public List<KeyValuePair<string, string>> Infos { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Type of the machine
|
/// Type of the machine
|
||||||
|
|||||||
Reference in New Issue
Block a user