mirror of
https://github.com/claunia/SabreTools.git
synced 2025-12-16 19:14:27 +00:00
DatItems don't know about setting fields
This commit is contained in:
@@ -459,7 +459,7 @@ namespace SabreTools.DatFiles
|
||||
if (!string.IsNullOrWhiteSpace(disk.SHA1))
|
||||
{
|
||||
name = Utilities.GetDepotPath(disk.SHA1, Header.OutputDepot.Depth).Replace('\\', '/');
|
||||
item.SetFields(new Dictionary<DatItemField, string> { [DatItemField.Name] = $"{pre}{name}{post}" }, null);
|
||||
item.SetName($"{pre}{name}{post}");
|
||||
}
|
||||
}
|
||||
else if (item.ItemType == ItemType.Media)
|
||||
@@ -470,7 +470,7 @@ namespace SabreTools.DatFiles
|
||||
if (!string.IsNullOrWhiteSpace(media.SHA1))
|
||||
{
|
||||
name = Utilities.GetDepotPath(media.SHA1, Header.OutputDepot.Depth).Replace('\\', '/');
|
||||
item.SetFields(new Dictionary<DatItemField, string> { [DatItemField.Name] = $"{pre}{name}{post}" }, null);
|
||||
item.SetName($"{pre}{name}{post}");
|
||||
}
|
||||
}
|
||||
else if (item.ItemType == ItemType.Rom)
|
||||
@@ -481,7 +481,7 @@ namespace SabreTools.DatFiles
|
||||
if (!string.IsNullOrWhiteSpace(rom.SHA1))
|
||||
{
|
||||
name = Utilities.GetDepotPath(rom.SHA1, Header.OutputDepot.Depth).Replace('\\', '/');
|
||||
item.SetFields(new Dictionary<DatItemField, string> { [DatItemField.Name] = $"{pre}{name}{post}" }, null);
|
||||
item.SetName($"{pre}{name}{post}");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -505,7 +505,7 @@ namespace SabreTools.DatFiles
|
||||
name = Path.Combine(item.Machine.Name, name);
|
||||
|
||||
// Now assign back the item name
|
||||
item.SetFields(new Dictionary<DatItemField, string> { [DatItemField.Name] = pre + name + post }, null);
|
||||
item.SetName($"{pre}{name}{post}");
|
||||
|
||||
// Restore all relevant values
|
||||
if (forceRemoveQuotes)
|
||||
|
||||
@@ -308,7 +308,7 @@ namespace SabreTools.DatFiles.Formats
|
||||
|
||||
// Regular attributes
|
||||
case "name":
|
||||
item.SetFields(new Dictionary<DatItemField, string> { [DatItemField.Name] = attrVal }, null);
|
||||
item.SetName(attrVal);
|
||||
break;
|
||||
|
||||
case "size":
|
||||
|
||||
@@ -105,7 +105,7 @@ namespace SabreTools.DatFiles.Formats
|
||||
if (datItemMappings.ContainsKey(DatItemField.Type))
|
||||
{
|
||||
DatItem datItem = DatItem.Create(datItemMappings[DatItemField.Type].AsItemType());
|
||||
datItem.SetFields(datItemMappings, machineMappings);
|
||||
DatItemTool.SetFields(datItem, datItemMappings, machineMappings);
|
||||
datItem.Source = new Source(indexId, filename);
|
||||
ParseAddHelper(datItem);
|
||||
}
|
||||
|
||||
@@ -1,9 +1,7 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
using SabreTools.Core;
|
||||
using SabreTools.Core.Tools;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace SabreTools.DatItems
|
||||
@@ -59,31 +57,6 @@ namespace SabreTools.DatItems
|
||||
Name = name;
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
public override void SetFields(
|
||||
Dictionary<DatItemField, string> datItemMappings,
|
||||
Dictionary<MachineField, string> machineMappings)
|
||||
{
|
||||
// Set base fields
|
||||
base.SetFields(datItemMappings, machineMappings);
|
||||
|
||||
// Handle Adjuster-specific fields
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Name))
|
||||
Name = datItemMappings[DatItemField.Name];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Default))
|
||||
Default = datItemMappings[DatItemField.Default].AsYesNo();
|
||||
|
||||
// Field.DatItem_Conditions does not apply here
|
||||
if (ConditionsSpecified)
|
||||
{
|
||||
foreach (Condition condition in Conditions)
|
||||
{
|
||||
condition.SetFields(datItemMappings, machineMappings, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructors
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
using SabreTools.Core;
|
||||
@@ -24,23 +23,6 @@ namespace SabreTools.DatItems
|
||||
|
||||
#endregion
|
||||
|
||||
#region Accessors
|
||||
|
||||
/// <inheritdoc/>
|
||||
public override void SetFields(
|
||||
Dictionary<DatItemField, string> datItemMappings,
|
||||
Dictionary<MachineField, string> machineMappings)
|
||||
{
|
||||
// Set base fields
|
||||
base.SetFields(datItemMappings, machineMappings);
|
||||
|
||||
// Handle Analog-specific fields
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Analog_Mask))
|
||||
Mask = datItemMappings[DatItemField.Analog_Mask];
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructors
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
using SabreTools.Core;
|
||||
@@ -38,19 +37,6 @@ namespace SabreTools.DatItems
|
||||
Name = name;
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
public override void SetFields(
|
||||
Dictionary<DatItemField, string> datItemMappings,
|
||||
Dictionary<MachineField, string> machineMappings)
|
||||
{
|
||||
// Set base fields
|
||||
base.SetFields(datItemMappings, machineMappings);
|
||||
|
||||
// Handle Archive-specific fields
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Name))
|
||||
Name = datItemMappings[DatItemField.Name];
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructors
|
||||
|
||||
@@ -1,9 +1,7 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
using SabreTools.Core;
|
||||
using SabreTools.Core.Tools;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace SabreTools.DatItems
|
||||
@@ -56,25 +54,6 @@ namespace SabreTools.DatItems
|
||||
Name = name;
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
public override void SetFields(
|
||||
Dictionary<DatItemField, string> datItemMappings,
|
||||
Dictionary<MachineField, string> machineMappings)
|
||||
{
|
||||
// Set base fields
|
||||
base.SetFields(datItemMappings, machineMappings);
|
||||
|
||||
// Handle BiosSet-specific fields
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Name))
|
||||
Name = datItemMappings[DatItemField.Name];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Description))
|
||||
Description = datItemMappings[DatItemField.Description];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Default))
|
||||
Default = datItemMappings[DatItemField.Default].AsYesNo();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructors
|
||||
|
||||
@@ -1,10 +1,7 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Collections.Generic;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
using SabreTools.Core;
|
||||
using SabreTools.Core.Tools;
|
||||
using Newtonsoft.Json;
|
||||
using Newtonsoft.Json.Converters;
|
||||
|
||||
@@ -69,28 +66,6 @@ namespace SabreTools.DatItems
|
||||
Name = name;
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
public override void SetFields(
|
||||
Dictionary<DatItemField, string> datItemMappings,
|
||||
Dictionary<MachineField, string> machineMappings)
|
||||
{
|
||||
// Set base fields
|
||||
base.SetFields(datItemMappings, machineMappings);
|
||||
|
||||
// Handle Chip-specific fields
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Name))
|
||||
Name = datItemMappings[DatItemField.Name];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Tag))
|
||||
Tag = datItemMappings[DatItemField.Tag];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.ChipType))
|
||||
ChipType = datItemMappings[DatItemField.ChipType].AsChipType();
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Clock))
|
||||
Clock = Utilities.CleanLong(datItemMappings[DatItemField.Clock]);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructors
|
||||
|
||||
@@ -1,9 +1,7 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
using SabreTools.Core;
|
||||
using SabreTools.Core.Tools;
|
||||
using Newtonsoft.Json;
|
||||
using Newtonsoft.Json.Converters;
|
||||
|
||||
@@ -51,63 +49,6 @@ namespace SabreTools.DatItems
|
||||
|
||||
#endregion
|
||||
|
||||
#region Accessors
|
||||
|
||||
/// <inheritdoc/>
|
||||
public override void SetFields(
|
||||
Dictionary<DatItemField, string> datItemMappings,
|
||||
Dictionary<MachineField, string> machineMappings)
|
||||
{
|
||||
SetFields(datItemMappings, machineMappings, false);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Set fields with given values
|
||||
/// </summary>
|
||||
/// <param name="datItemMappings">DatItem mappings dictionary</param>
|
||||
/// <param name="machineMappings">Machine mappings dictionary</param>
|
||||
/// <param name="sub">True if this is a subitem, false otherwise</param>
|
||||
public void SetFields(
|
||||
Dictionary<DatItemField, string> datItemMappings,
|
||||
Dictionary<MachineField, string> machineMappings,
|
||||
bool sub)
|
||||
{
|
||||
// Set base fields
|
||||
base.SetFields(datItemMappings, machineMappings);
|
||||
|
||||
// Handle Condition-specific fields
|
||||
if (sub)
|
||||
{
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Condition_Tag))
|
||||
Tag = datItemMappings[DatItemField.Condition_Tag];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Condition_Mask))
|
||||
Mask = datItemMappings[DatItemField.Condition_Mask];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Condition_Relation))
|
||||
Relation = datItemMappings[DatItemField.Condition_Relation].AsRelation();
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Condition_Value))
|
||||
Value = datItemMappings[DatItemField.Condition_Value];
|
||||
}
|
||||
else
|
||||
{
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Tag))
|
||||
Tag = datItemMappings[DatItemField.Tag];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Mask))
|
||||
Mask = datItemMappings[DatItemField.Mask];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Relation))
|
||||
Relation = datItemMappings[DatItemField.Relation].AsRelation();
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Value))
|
||||
Value = datItemMappings[DatItemField.Value];
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructors
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
using SabreTools.Core;
|
||||
@@ -82,49 +81,6 @@ namespace SabreTools.DatItems
|
||||
Name = name;
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
public override void SetFields(
|
||||
Dictionary<DatItemField, string> datItemMappings,
|
||||
Dictionary<MachineField, string> machineMappings)
|
||||
{
|
||||
// Set base fields
|
||||
base.SetFields(datItemMappings, machineMappings);
|
||||
|
||||
// Handle Configuration-specific fields
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Name))
|
||||
Name = datItemMappings[DatItemField.Name];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Tag))
|
||||
Tag = datItemMappings[DatItemField.Tag];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Mask))
|
||||
Mask = datItemMappings[DatItemField.Mask];
|
||||
|
||||
if (ConditionsSpecified)
|
||||
{
|
||||
foreach (Condition condition in Conditions)
|
||||
{
|
||||
condition.SetFields(datItemMappings, machineMappings, true);
|
||||
}
|
||||
}
|
||||
|
||||
if (LocationsSpecified)
|
||||
{
|
||||
foreach (Location location in Locations)
|
||||
{
|
||||
location.SetFields(datItemMappings, machineMappings);
|
||||
}
|
||||
}
|
||||
|
||||
if (SettingsSpecified)
|
||||
{
|
||||
foreach (Setting setting in Settings)
|
||||
{
|
||||
setting.SetFields(datItemMappings, machineMappings);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructors
|
||||
|
||||
@@ -1,10 +1,7 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Collections.Generic;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
using SabreTools.Core;
|
||||
using SabreTools.Core.Tools;
|
||||
using Newtonsoft.Json;
|
||||
using Newtonsoft.Json.Converters;
|
||||
|
||||
@@ -132,56 +129,6 @@ namespace SabreTools.DatItems
|
||||
|
||||
#endregion
|
||||
|
||||
#region Accessors
|
||||
|
||||
/// <inheritdoc/>
|
||||
public override void SetFields(
|
||||
Dictionary<DatItemField, string> datItemMappings,
|
||||
Dictionary<MachineField, string> machineMappings)
|
||||
{
|
||||
// Set base fields
|
||||
base.SetFields(datItemMappings, machineMappings);
|
||||
|
||||
// Handle Control-specific fields
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Control_Type))
|
||||
ControlType = datItemMappings[DatItemField.Control_Type].AsControlType();
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Control_Player))
|
||||
Player = Utilities.CleanLong(datItemMappings[DatItemField.Control_Player]);
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Control_Buttons))
|
||||
Buttons = Utilities.CleanLong(datItemMappings[DatItemField.Control_Buttons]);
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Control_RequiredButtons))
|
||||
RequiredButtons = Utilities.CleanLong(datItemMappings[DatItemField.Control_RequiredButtons]);
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Control_Minimum))
|
||||
Minimum = Utilities.CleanLong(datItemMappings[DatItemField.Control_Minimum]);
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Control_Maximum))
|
||||
Maximum = Utilities.CleanLong(datItemMappings[DatItemField.Control_Maximum]);
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Control_Sensitivity))
|
||||
Sensitivity = Utilities.CleanLong(datItemMappings[DatItemField.Control_Sensitivity]);
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Control_KeyDelta))
|
||||
KeyDelta = Utilities.CleanLong(datItemMappings[DatItemField.Control_KeyDelta]);
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Control_Reverse))
|
||||
Reverse = datItemMappings[DatItemField.Control_Reverse].AsYesNo();
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Control_Ways))
|
||||
Ways = datItemMappings[DatItemField.Control_Ways];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Control_Ways2))
|
||||
Ways2 = datItemMappings[DatItemField.Control_Ways2];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Control_Ways3))
|
||||
Ways3 = datItemMappings[DatItemField.Control_Ways3];
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructors
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -142,18 +142,6 @@ namespace SabreTools.DatItems
|
||||
{
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Set fields with given values
|
||||
/// </summary>
|
||||
/// <param name="datItemMappings">DatItem mappings dictionary</param>
|
||||
/// <param name="machineMappings">Machine mappings dictionary</param>
|
||||
/// TODO: Fix case where datItemMappings is null
|
||||
public virtual void SetFields(
|
||||
Dictionary<DatItemField, string> datItemMappings,
|
||||
Dictionary<MachineField, string> machineMappings)
|
||||
{
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructors
|
||||
@@ -774,14 +762,14 @@ namespace SabreTools.DatItems
|
||||
{
|
||||
saveditem.Source = file.Source.Clone() as Source;
|
||||
saveditem.CopyMachineInformation(file);
|
||||
saveditem.SetFields(new Dictionary<DatItemField, string> { [DatItemField.Name] = file.GetName() }, null);
|
||||
saveditem.SetName(file.GetName());
|
||||
}
|
||||
|
||||
// If the current machine is a child of the new machine, use the new machine instead
|
||||
if (saveditem.Machine.CloneOf == file.Machine.Name || saveditem.Machine.RomOf == file.Machine.Name)
|
||||
{
|
||||
saveditem.CopyMachineInformation(file);
|
||||
saveditem.SetFields(new Dictionary<DatItemField, string> { [DatItemField.Name] = file.GetName() }, null);
|
||||
saveditem.SetName(file.GetName());
|
||||
}
|
||||
|
||||
break;
|
||||
@@ -877,7 +865,7 @@ namespace SabreTools.DatItems
|
||||
}
|
||||
|
||||
// Set the item name back to the datItem
|
||||
datItem.SetFields(new Dictionary<DatItemField, string> { [DatItemField.Name] = datItemName }, null);
|
||||
datItem.SetName(datItemName);
|
||||
|
||||
output.Add(datItem);
|
||||
}
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
|
||||
using SabreTools.Core;
|
||||
using SabreTools.Core.Tools;
|
||||
using SabreTools.DatItems;
|
||||
|
||||
namespace SabreTools.DatTools
|
||||
namespace SabreTools.DatItems
|
||||
{
|
||||
/// <summary>
|
||||
/// Manipulate DatItems
|
||||
@@ -157,7 +157,6 @@ namespace SabreTools.DatTools
|
||||
|
||||
else if (datItem is Configuration configuration)
|
||||
{
|
||||
// Remove the fields
|
||||
if (datItemFields.Contains(DatItemField.Name))
|
||||
configuration.Name = null;
|
||||
|
||||
@@ -1210,10 +1209,908 @@ namespace SabreTools.DatTools
|
||||
/// Set fields with given values
|
||||
/// </summary>
|
||||
/// <param name="datItem">DatItem to set fields on</param>
|
||||
/// <param name="mappings">Mappings dictionary</param>
|
||||
public static void SetFields(DatItem datItem, Dictionary<DatItemField, string> mappings)
|
||||
/// <param name="datItemMappings">DatItem mappings dictionary</param>
|
||||
/// <param name="machineMappings">Machine mappings dictionary</param>
|
||||
/// <param name="sub">True if this is a subitem, false otherwise</param>
|
||||
/// TODO: Extract out setting name to common
|
||||
public static void SetFields(
|
||||
DatItem datItem,
|
||||
Dictionary<DatItemField, string> datItemMappings,
|
||||
Dictionary<MachineField, string> machineMappings,
|
||||
bool sub = false)
|
||||
{
|
||||
if (datItem == null)
|
||||
return;
|
||||
|
||||
#region Common
|
||||
|
||||
if (machineMappings != null && datItem.Machine != null)
|
||||
SetFields(datItem.Machine, machineMappings);
|
||||
|
||||
if (datItemMappings == null)
|
||||
return;
|
||||
|
||||
#endregion
|
||||
|
||||
#region Adjuster
|
||||
|
||||
if (datItem is Adjuster adjuster)
|
||||
{
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Name))
|
||||
adjuster.Name = datItemMappings[DatItemField.Name];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Default))
|
||||
adjuster.Default = datItemMappings[DatItemField.Default].AsYesNo();
|
||||
|
||||
// Field.DatItem_Conditions does not apply here
|
||||
if (adjuster.ConditionsSpecified)
|
||||
{
|
||||
foreach (Condition subCondition in adjuster.Conditions)
|
||||
{
|
||||
SetFields(subCondition, datItemMappings, machineMappings, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Analog
|
||||
|
||||
else if (datItem is Analog analog)
|
||||
{
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Analog_Mask))
|
||||
analog.Mask = datItemMappings[DatItemField.Analog_Mask];
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Archive
|
||||
|
||||
else if (datItem is Archive archive)
|
||||
{
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Name))
|
||||
archive.Name = datItemMappings[DatItemField.Name];
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region BiosSet
|
||||
|
||||
else if (datItem is BiosSet biosSet)
|
||||
{
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Name))
|
||||
biosSet.Name = datItemMappings[DatItemField.Name];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Description))
|
||||
biosSet.Description = datItemMappings[DatItemField.Description];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Default))
|
||||
biosSet.Default = datItemMappings[DatItemField.Default].AsYesNo();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Chip
|
||||
|
||||
else if (datItem is Chip chip)
|
||||
{
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Name))
|
||||
chip.Name = datItemMappings[DatItemField.Name];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Tag))
|
||||
chip.Tag = datItemMappings[DatItemField.Tag];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.ChipType))
|
||||
chip.ChipType = datItemMappings[DatItemField.ChipType].AsChipType();
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Clock))
|
||||
chip.Clock = Utilities.CleanLong(datItemMappings[DatItemField.Clock]);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Condition
|
||||
|
||||
else if (datItem is Condition condition)
|
||||
{
|
||||
if (sub)
|
||||
{
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Condition_Tag))
|
||||
condition.Tag = datItemMappings[DatItemField.Condition_Tag];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Condition_Mask))
|
||||
condition.Mask = datItemMappings[DatItemField.Condition_Mask];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Condition_Relation))
|
||||
condition.Relation = datItemMappings[DatItemField.Condition_Relation].AsRelation();
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Condition_Value))
|
||||
condition.Value = datItemMappings[DatItemField.Condition_Value];
|
||||
}
|
||||
else
|
||||
{
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Tag))
|
||||
condition.Tag = datItemMappings[DatItemField.Tag];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Mask))
|
||||
condition.Mask = datItemMappings[DatItemField.Mask];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Relation))
|
||||
condition.Relation = datItemMappings[DatItemField.Relation].AsRelation();
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Value))
|
||||
condition.Value = datItemMappings[DatItemField.Value];
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Configuration
|
||||
|
||||
else if (datItem is Configuration configuration)
|
||||
{
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Name))
|
||||
configuration.Name = datItemMappings[DatItemField.Name];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Tag))
|
||||
configuration.Tag = datItemMappings[DatItemField.Tag];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Mask))
|
||||
configuration.Mask = datItemMappings[DatItemField.Mask];
|
||||
|
||||
if (configuration.ConditionsSpecified)
|
||||
{
|
||||
foreach (Condition subCondition in configuration.Conditions)
|
||||
{
|
||||
SetFields(subCondition, datItemMappings, machineMappings, true);
|
||||
}
|
||||
}
|
||||
|
||||
if (configuration.LocationsSpecified)
|
||||
{
|
||||
foreach (Location subLocation in configuration.Locations)
|
||||
{
|
||||
SetFields(subLocation, datItemMappings, machineMappings);
|
||||
}
|
||||
}
|
||||
|
||||
if (configuration.SettingsSpecified)
|
||||
{
|
||||
foreach (Setting subSetting in configuration.Settings)
|
||||
{
|
||||
SetFields(subSetting, datItemMappings, machineMappings);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Control
|
||||
|
||||
else if (datItem is Control control)
|
||||
{
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Control_Type))
|
||||
control.ControlType = datItemMappings[DatItemField.Control_Type].AsControlType();
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Control_Player))
|
||||
control.Player = Utilities.CleanLong(datItemMappings[DatItemField.Control_Player]);
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Control_Buttons))
|
||||
control.Buttons = Utilities.CleanLong(datItemMappings[DatItemField.Control_Buttons]);
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Control_RequiredButtons))
|
||||
control.RequiredButtons = Utilities.CleanLong(datItemMappings[DatItemField.Control_RequiredButtons]);
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Control_Minimum))
|
||||
control.Minimum = Utilities.CleanLong(datItemMappings[DatItemField.Control_Minimum]);
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Control_Maximum))
|
||||
control.Maximum = Utilities.CleanLong(datItemMappings[DatItemField.Control_Maximum]);
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Control_Sensitivity))
|
||||
control.Sensitivity = Utilities.CleanLong(datItemMappings[DatItemField.Control_Sensitivity]);
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Control_KeyDelta))
|
||||
control.KeyDelta = Utilities.CleanLong(datItemMappings[DatItemField.Control_KeyDelta]);
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Control_Reverse))
|
||||
control.Reverse = datItemMappings[DatItemField.Control_Reverse].AsYesNo();
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Control_Ways))
|
||||
control.Ways = datItemMappings[DatItemField.Control_Ways];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Control_Ways2))
|
||||
control.Ways2 = datItemMappings[DatItemField.Control_Ways2];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Control_Ways3))
|
||||
control.Ways3 = datItemMappings[DatItemField.Control_Ways3];
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region DataArea
|
||||
|
||||
else if (datItem is DataArea dataArea)
|
||||
{
|
||||
if (datItemMappings.Keys.Contains(DatItemField.AreaName))
|
||||
dataArea.Name = datItemMappings[DatItemField.AreaName];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.AreaSize))
|
||||
dataArea.Size = Utilities.CleanLong(datItemMappings[DatItemField.AreaSize]);
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.AreaWidth))
|
||||
dataArea.Width = Utilities.CleanLong(datItemMappings[DatItemField.AreaWidth]);
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.AreaEndianness))
|
||||
dataArea.Endianness = datItemMappings[DatItemField.AreaEndianness].AsEndianness();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Device
|
||||
|
||||
else if (datItem is Device device)
|
||||
{
|
||||
if (datItemMappings.Keys.Contains(DatItemField.DeviceType))
|
||||
device.DeviceType = datItemMappings[DatItemField.DeviceType].AsDeviceType();
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Tag))
|
||||
device.Tag = datItemMappings[DatItemField.Tag];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.FixedImage))
|
||||
device.FixedImage = datItemMappings[DatItemField.FixedImage];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Mandatory))
|
||||
device.Mandatory = Utilities.CleanLong(datItemMappings[DatItemField.Mandatory]);
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Interface))
|
||||
device.Interface = datItemMappings[DatItemField.Interface];
|
||||
|
||||
if (device.InstancesSpecified)
|
||||
{
|
||||
foreach (Instance subInstance in device.Instances)
|
||||
{
|
||||
SetFields(subInstance, datItemMappings, machineMappings);
|
||||
}
|
||||
}
|
||||
|
||||
if (device.ExtensionsSpecified)
|
||||
{
|
||||
foreach (Extension subExtension in device.Extensions)
|
||||
{
|
||||
SetFields(subExtension, datItemMappings, machineMappings);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region DeviceReference
|
||||
|
||||
else if (datItem is DeviceReference deviceReference)
|
||||
{
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Name))
|
||||
deviceReference.Name = datItemMappings[DatItemField.Name];
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region DipSwitch
|
||||
|
||||
else if (datItem is DipSwitch dipSwitch)
|
||||
{
|
||||
#region Common
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Name))
|
||||
dipSwitch.Name = datItemMappings[DatItemField.Name];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Tag))
|
||||
dipSwitch.Tag = datItemMappings[DatItemField.Tag];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Mask))
|
||||
dipSwitch.Mask = datItemMappings[DatItemField.Mask];
|
||||
|
||||
if (dipSwitch.ConditionsSpecified)
|
||||
{
|
||||
foreach (Condition subCondition in dipSwitch.Conditions)
|
||||
{
|
||||
SetFields(subCondition, datItemMappings, machineMappings, true);
|
||||
}
|
||||
}
|
||||
|
||||
if (dipSwitch.LocationsSpecified)
|
||||
{
|
||||
foreach (Location subLocation in dipSwitch.Locations)
|
||||
{
|
||||
SetFields(subLocation, datItemMappings, machineMappings);
|
||||
}
|
||||
}
|
||||
|
||||
if (dipSwitch.ValuesSpecified)
|
||||
{
|
||||
foreach (Setting subValue in dipSwitch.Values)
|
||||
{
|
||||
SetFields(subValue, datItemMappings, machineMappings);
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region SoftwareList
|
||||
|
||||
// Handle Part-specific fields
|
||||
if (dipSwitch.Part == null)
|
||||
dipSwitch.Part = new Part();
|
||||
|
||||
SetFields(dipSwitch.Part, datItemMappings, machineMappings);
|
||||
|
||||
#endregion
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Disk
|
||||
|
||||
else if (datItem is Disk disk)
|
||||
{
|
||||
#region Common
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Name))
|
||||
disk.Name = datItemMappings[DatItemField.Name];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.MD5))
|
||||
disk.MD5 = datItemMappings[DatItemField.MD5];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.SHA1))
|
||||
disk.SHA1 = datItemMappings[DatItemField.SHA1];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Merge))
|
||||
disk.MergeTag = datItemMappings[DatItemField.Merge];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Region))
|
||||
disk.Region = datItemMappings[DatItemField.Region];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Index))
|
||||
disk.Index = datItemMappings[DatItemField.Index];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Writable))
|
||||
disk.Writable = datItemMappings[DatItemField.Writable].AsYesNo();
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Status))
|
||||
disk.ItemStatus = datItemMappings[DatItemField.Status].AsItemStatus();
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Optional))
|
||||
disk.Optional = datItemMappings[DatItemField.Optional].AsYesNo();
|
||||
|
||||
#endregion
|
||||
|
||||
#region SoftwareList
|
||||
|
||||
if (disk.DiskArea == null)
|
||||
disk.DiskArea = new DiskArea();
|
||||
|
||||
SetFields(disk.DiskArea, datItemMappings, machineMappings);
|
||||
|
||||
if (disk.Part == null)
|
||||
disk.Part = new Part();
|
||||
|
||||
SetFields(disk.Part, datItemMappings, machineMappings);
|
||||
|
||||
#endregion
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region DiskArea
|
||||
|
||||
else if (datItem is DiskArea diskArea)
|
||||
{
|
||||
if (datItemMappings.Keys.Contains(DatItemField.AreaName))
|
||||
diskArea.Name = datItemMappings[DatItemField.AreaName];
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Display
|
||||
|
||||
else if (datItem is Display display)
|
||||
{
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Tag))
|
||||
display.Tag = datItemMappings[DatItemField.Tag];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.DisplayType))
|
||||
display.DisplayType = datItemMappings[DatItemField.DisplayType].AsDisplayType();
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Rotate))
|
||||
display.Rotate = Utilities.CleanLong(datItemMappings[DatItemField.Rotate]);
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.FlipX))
|
||||
display.FlipX = datItemMappings[DatItemField.FlipX].AsYesNo();
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Width))
|
||||
display.Width = Utilities.CleanLong(datItemMappings[DatItemField.Width]);
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Height))
|
||||
display.Height = Utilities.CleanLong(datItemMappings[DatItemField.Height]);
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Refresh))
|
||||
{
|
||||
if (Double.TryParse(datItemMappings[DatItemField.Refresh], out double refresh))
|
||||
display.Refresh = refresh;
|
||||
}
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.PixClock))
|
||||
display.PixClock = Utilities.CleanLong(datItemMappings[DatItemField.PixClock]);
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.HTotal))
|
||||
display.HTotal = Utilities.CleanLong(datItemMappings[DatItemField.HTotal]);
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.HBEnd))
|
||||
display.HBEnd = Utilities.CleanLong(datItemMappings[DatItemField.HBEnd]);
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.HBStart))
|
||||
display.HBStart = Utilities.CleanLong(datItemMappings[DatItemField.HBStart]);
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.VTotal))
|
||||
display.VTotal = Utilities.CleanLong(datItemMappings[DatItemField.VTotal]);
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.VBEnd))
|
||||
display.VBEnd = Utilities.CleanLong(datItemMappings[DatItemField.VBEnd]);
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.VBStart))
|
||||
display.VBStart = Utilities.CleanLong(datItemMappings[DatItemField.VBStart]);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Driver
|
||||
|
||||
else if (datItem is Driver driver)
|
||||
{
|
||||
if (datItemMappings.Keys.Contains(DatItemField.SupportStatus))
|
||||
driver.Status = datItemMappings[DatItemField.SupportStatus].AsSupportStatus();
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.EmulationStatus))
|
||||
driver.Emulation = datItemMappings[DatItemField.EmulationStatus].AsSupportStatus();
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.CocktailStatus))
|
||||
driver.Cocktail = datItemMappings[DatItemField.CocktailStatus].AsSupportStatus();
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.SaveStateStatus))
|
||||
driver.SaveState = datItemMappings[DatItemField.SaveStateStatus].AsSupported();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Extension
|
||||
|
||||
else if (datItem is Extension extension)
|
||||
{
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Extension_Name))
|
||||
extension.Name = datItemMappings[DatItemField.Extension_Name];
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Feature
|
||||
|
||||
else if (datItem is Feature feature)
|
||||
{
|
||||
if (datItemMappings.Keys.Contains(DatItemField.FeatureType))
|
||||
feature.Type = datItemMappings[DatItemField.FeatureType].AsFeatureType();
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.FeatureStatus))
|
||||
feature.Status = datItemMappings[DatItemField.FeatureStatus].AsFeatureStatus();
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.FeatureOverall))
|
||||
feature.Overall = datItemMappings[DatItemField.FeatureOverall].AsFeatureStatus();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Info
|
||||
|
||||
else if (datItem is Info info)
|
||||
{
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Name))
|
||||
info.Name = datItemMappings[DatItemField.Name];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Value))
|
||||
info.Value = datItemMappings[DatItemField.Value];
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Input
|
||||
|
||||
else if (datItem is Input input)
|
||||
{
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Service))
|
||||
input.Service = datItemMappings[DatItemField.Service].AsYesNo();
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Tilt))
|
||||
input.Tilt = datItemMappings[DatItemField.Tilt].AsYesNo();
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Players))
|
||||
input.Players = Utilities.CleanLong(datItemMappings[DatItemField.Players]);
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Coins))
|
||||
input.Coins = Utilities.CleanLong(datItemMappings[DatItemField.Coins]);
|
||||
|
||||
if (input.ControlsSpecified)
|
||||
{
|
||||
foreach (Control subControl in input.Controls)
|
||||
{
|
||||
SetFields(subControl, datItemMappings, machineMappings);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Instance
|
||||
|
||||
else if (datItem is Instance instance)
|
||||
{
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Instance_Name))
|
||||
instance.Name = datItemMappings[DatItemField.Instance_Name];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Instance_BriefName))
|
||||
instance.BriefName = datItemMappings[DatItemField.Instance_BriefName];
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Location
|
||||
|
||||
else if (datItem is Location location)
|
||||
{
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Location_Name))
|
||||
location.Name = datItemMappings[DatItemField.Location_Name];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Location_Number))
|
||||
location.Number = Utilities.CleanLong(datItemMappings[DatItemField.Location_Number]);
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Location_Inverted))
|
||||
location.Inverted = datItemMappings[DatItemField.Location_Inverted].AsYesNo();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Media
|
||||
|
||||
else if (datItem is Media media)
|
||||
{
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Name))
|
||||
media.Name = datItemMappings[DatItemField.Name];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.MD5))
|
||||
media.MD5 = datItemMappings[DatItemField.MD5];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.SHA1))
|
||||
media.SHA1 = datItemMappings[DatItemField.SHA1];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.SHA256))
|
||||
media.SHA256 = datItemMappings[DatItemField.SHA256];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.SpamSum))
|
||||
media.SpamSum = datItemMappings[DatItemField.SpamSum];
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Part
|
||||
|
||||
else if (datItem is Part part)
|
||||
{
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Part_Name))
|
||||
part.Name = datItemMappings[DatItemField.Part_Name];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Part_Interface))
|
||||
part.Interface = datItemMappings[DatItemField.Part_Interface];
|
||||
|
||||
if (part.FeaturesSpecified)
|
||||
{
|
||||
foreach (PartFeature subPartFeature in part.Features)
|
||||
{
|
||||
SetFields(subPartFeature, datItemMappings, machineMappings);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region PartFeature
|
||||
|
||||
else if (datItem is PartFeature partFeature)
|
||||
{
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Part_Feature_Name))
|
||||
partFeature.Name = datItemMappings[DatItemField.Part_Feature_Name];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Part_Feature_Value))
|
||||
partFeature.Value = datItemMappings[DatItemField.Part_Feature_Value];
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Port
|
||||
|
||||
else if (datItem is Port port)
|
||||
{
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Tag))
|
||||
port.Tag = datItemMappings[DatItemField.Tag];
|
||||
|
||||
if (port.AnalogsSpecified)
|
||||
{
|
||||
foreach (Analog subAnalog in port.Analogs)
|
||||
{
|
||||
SetFields(subAnalog, datItemMappings, machineMappings);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region RamOption
|
||||
|
||||
else if (datItem is RamOption ramOption)
|
||||
{
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Name))
|
||||
ramOption.Name = datItemMappings[DatItemField.Name];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Default))
|
||||
ramOption.Default = datItemMappings[DatItemField.Default].AsYesNo();
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Content))
|
||||
ramOption.Content = datItemMappings[DatItemField.Content];
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Release
|
||||
|
||||
else if (datItem is Release release)
|
||||
{
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Name))
|
||||
release.Name = datItemMappings[DatItemField.Name];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Region))
|
||||
release.Region = datItemMappings[DatItemField.Region];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Language))
|
||||
release.Language = datItemMappings[DatItemField.Language];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Date))
|
||||
release.Date = datItemMappings[DatItemField.Date];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Default))
|
||||
release.Default = datItemMappings[DatItemField.Default].AsYesNo();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Rom
|
||||
|
||||
else if (datItem is Rom rom)
|
||||
{
|
||||
#region Common
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Name))
|
||||
rom.Name = datItemMappings[DatItemField.Name];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Bios))
|
||||
rom.Bios = datItemMappings[DatItemField.Bios];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Size))
|
||||
rom.Size = Utilities.CleanLong(datItemMappings[DatItemField.Size]);
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.CRC))
|
||||
rom.CRC = datItemMappings[DatItemField.CRC];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.MD5))
|
||||
rom.MD5 = datItemMappings[DatItemField.MD5];
|
||||
|
||||
#if NET_FRAMEWORK
|
||||
if (datItemMappings.Keys.Contains(DatItemField.RIPEMD160))
|
||||
rom.RIPEMD160 = datItemMappings[DatItemField.RIPEMD160];
|
||||
#endif
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.SHA1))
|
||||
rom.SHA1 = datItemMappings[DatItemField.SHA1];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.SHA256))
|
||||
rom.SHA256 = datItemMappings[DatItemField.SHA256];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.SHA384))
|
||||
rom.SHA384 = datItemMappings[DatItemField.SHA384];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.SHA512))
|
||||
rom.SHA512 = datItemMappings[DatItemField.SHA512];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.SpamSum))
|
||||
rom.SpamSum = datItemMappings[DatItemField.SpamSum];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Merge))
|
||||
rom.MergeTag = datItemMappings[DatItemField.Merge];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Region))
|
||||
rom.Region = datItemMappings[DatItemField.Region];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Offset))
|
||||
rom.Offset = datItemMappings[DatItemField.Offset];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Date))
|
||||
rom.Date = datItemMappings[DatItemField.Date];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Status))
|
||||
rom.ItemStatus = datItemMappings[DatItemField.Status].AsItemStatus();
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Optional))
|
||||
rom.Optional = datItemMappings[DatItemField.Optional].AsYesNo();
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Inverted))
|
||||
rom.Inverted = datItemMappings[DatItemField.Optional].AsYesNo();
|
||||
|
||||
#endregion
|
||||
|
||||
#region AttractMode
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.AltName))
|
||||
rom.AltName = datItemMappings[DatItemField.AltName];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.AltTitle))
|
||||
rom.AltTitle = datItemMappings[DatItemField.AltTitle];
|
||||
|
||||
#endregion
|
||||
|
||||
#region OpenMSX
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Original))
|
||||
rom.Original = new Original() { Content = datItemMappings[DatItemField.Original] };
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.OpenMSXSubType))
|
||||
rom.OpenMSXSubType = datItemMappings[DatItemField.OpenMSXSubType].AsOpenMSXSubType();
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.OpenMSXType))
|
||||
rom.OpenMSXType = datItemMappings[DatItemField.OpenMSXType];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Remark))
|
||||
rom.Remark = datItemMappings[DatItemField.Remark];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Boot))
|
||||
rom.Boot = datItemMappings[DatItemField.Boot];
|
||||
|
||||
#endregion
|
||||
|
||||
#region SoftwareList
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.LoadFlag))
|
||||
rom.LoadFlag = datItemMappings[DatItemField.LoadFlag].AsLoadFlag();
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Value))
|
||||
rom.Value = datItemMappings[DatItemField.Value];
|
||||
|
||||
if (rom.DataArea == null)
|
||||
rom.DataArea = new DataArea();
|
||||
|
||||
SetFields(rom.DataArea, datItemMappings, machineMappings);
|
||||
|
||||
if (rom.Part == null)
|
||||
rom.Part = new Part();
|
||||
|
||||
SetFields(rom.Part, datItemMappings, machineMappings);
|
||||
|
||||
#endregion
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Sample
|
||||
|
||||
else if (datItem is Sample sample)
|
||||
{
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Name))
|
||||
sample.Name = datItemMappings[DatItemField.Name];
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Setting
|
||||
|
||||
else if (datItem is Setting setting)
|
||||
{
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Setting_Name))
|
||||
setting.Name = datItemMappings[DatItemField.Setting_Name];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Setting_Value))
|
||||
setting.Value = datItemMappings[DatItemField.Setting_Value];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Setting_Default))
|
||||
setting.Default = datItemMappings[DatItemField.Setting_Default].AsYesNo();
|
||||
|
||||
if (setting.ConditionsSpecified)
|
||||
{
|
||||
foreach (Condition subCondition in setting.Conditions)
|
||||
{
|
||||
SetFields(subCondition, datItemMappings, machineMappings, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region SharedFeature
|
||||
|
||||
else if (datItem is SharedFeature sharedFeature)
|
||||
{
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Name))
|
||||
sharedFeature.Name = datItemMappings[DatItemField.Name];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Value))
|
||||
sharedFeature.Value = datItemMappings[DatItemField.Value];
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Slot
|
||||
|
||||
else if (datItem is Slot slot)
|
||||
{
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Name))
|
||||
slot.Name = datItemMappings[DatItemField.Name];
|
||||
|
||||
if (slot.SlotOptionsSpecified)
|
||||
{
|
||||
foreach (SlotOption subSlotOption in slot.SlotOptions)
|
||||
{
|
||||
SetFields(subSlotOption, datItemMappings, machineMappings);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region SlotOption
|
||||
|
||||
else if (datItem is SlotOption slotOption)
|
||||
{
|
||||
if (datItemMappings.Keys.Contains(DatItemField.SlotOption_Name))
|
||||
slotOption.Name = datItemMappings[DatItemField.SlotOption_Name];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.SlotOption_DeviceName))
|
||||
slotOption.DeviceName = datItemMappings[DatItemField.SlotOption_DeviceName];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.SlotOption_Default))
|
||||
slotOption.Default = datItemMappings[DatItemField.SlotOption_Default].AsYesNo();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region SoftwareList
|
||||
|
||||
else if (datItem is SoftwareList softwareList)
|
||||
{
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Name))
|
||||
softwareList.Name = datItemMappings[DatItemField.Name];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.SoftwareListStatus))
|
||||
softwareList.Status = datItemMappings[DatItemField.SoftwareListStatus].AsSoftwareListStatus();
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Filter))
|
||||
softwareList.Filter = datItemMappings[DatItemField.Filter];
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Sound
|
||||
|
||||
else if (datItem is Sound sound)
|
||||
{
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Channels))
|
||||
sound.Channels = Utilities.CleanLong(datItemMappings[DatItemField.Channels]);
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -1,10 +1,7 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Collections.Generic;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
using SabreTools.Core;
|
||||
using SabreTools.Core.Tools;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace SabreTools.DatItems
|
||||
@@ -71,28 +68,6 @@ namespace SabreTools.DatItems
|
||||
Name = name;
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
public override void SetFields(
|
||||
Dictionary<DatItemField, string> datItemMappings,
|
||||
Dictionary<MachineField, string> machineMappings)
|
||||
{
|
||||
// Set base fields
|
||||
base.SetFields(datItemMappings, machineMappings);
|
||||
|
||||
// Handle DataArea-specific fields
|
||||
if (datItemMappings.Keys.Contains(DatItemField.AreaName))
|
||||
Name = datItemMappings[DatItemField.AreaName];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.AreaSize))
|
||||
Size = Utilities.CleanLong(datItemMappings[DatItemField.AreaSize]);
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.AreaWidth))
|
||||
Width = Utilities.CleanLong(datItemMappings[DatItemField.AreaWidth]);
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.AreaEndianness))
|
||||
Endianness = datItemMappings[DatItemField.AreaEndianness].AsEndianness();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructors
|
||||
|
||||
@@ -1,9 +1,7 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
using SabreTools.Core;
|
||||
using SabreTools.Core.Tools;
|
||||
using Newtonsoft.Json;
|
||||
using Newtonsoft.Json.Converters;
|
||||
|
||||
@@ -82,51 +80,6 @@ namespace SabreTools.DatItems
|
||||
|
||||
#endregion
|
||||
|
||||
#region Accessors
|
||||
|
||||
/// <inheritdoc/>
|
||||
public override void SetFields(
|
||||
Dictionary<DatItemField, string> datItemMappings,
|
||||
Dictionary<MachineField, string> machineMappings)
|
||||
{
|
||||
// Set base fields
|
||||
base.SetFields(datItemMappings, machineMappings);
|
||||
|
||||
// Handle Device-specific fields
|
||||
if (datItemMappings.Keys.Contains(DatItemField.DeviceType))
|
||||
DeviceType = datItemMappings[DatItemField.DeviceType].AsDeviceType();
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Tag))
|
||||
Tag = datItemMappings[DatItemField.Tag];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.FixedImage))
|
||||
FixedImage = datItemMappings[DatItemField.FixedImage];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Mandatory))
|
||||
Mandatory = Utilities.CleanLong(datItemMappings[DatItemField.Mandatory]);
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Interface))
|
||||
Interface = datItemMappings[DatItemField.Interface];
|
||||
|
||||
if (InstancesSpecified)
|
||||
{
|
||||
foreach (Instance instance in Instances)
|
||||
{
|
||||
instance.SetFields(datItemMappings, machineMappings);
|
||||
}
|
||||
}
|
||||
|
||||
if (ExtensionsSpecified)
|
||||
{
|
||||
foreach (Extension extension in Extensions)
|
||||
{
|
||||
extension.SetFields(datItemMappings, machineMappings);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructors
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
using SabreTools.Core;
|
||||
@@ -38,19 +37,6 @@ namespace SabreTools.DatItems
|
||||
Name = name;
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
public override void SetFields(
|
||||
Dictionary<DatItemField, string> datItemMappings,
|
||||
Dictionary<MachineField, string> machineMappings)
|
||||
{
|
||||
// Set base fields
|
||||
base.SetFields(datItemMappings, machineMappings);
|
||||
|
||||
// Handle DeviceReference-specific fields
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Name))
|
||||
Name = datItemMappings[DatItemField.Name];
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructors
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
using SabreTools.Core;
|
||||
@@ -108,64 +107,6 @@ namespace SabreTools.DatItems
|
||||
Name = name;
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
public override void SetFields(
|
||||
Dictionary<DatItemField, string> datItemMappings,
|
||||
Dictionary<MachineField, string> machineMappings)
|
||||
{
|
||||
// Set base fields
|
||||
base.SetFields(datItemMappings, machineMappings);
|
||||
|
||||
// Handle DipSwitch-specific fields
|
||||
|
||||
#region Common
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Name))
|
||||
Name = datItemMappings[DatItemField.Name];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Tag))
|
||||
Tag = datItemMappings[DatItemField.Tag];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Mask))
|
||||
Mask = datItemMappings[DatItemField.Mask];
|
||||
|
||||
if (ConditionsSpecified)
|
||||
{
|
||||
foreach (Condition condition in Conditions)
|
||||
{
|
||||
condition.SetFields(datItemMappings, machineMappings, true);
|
||||
}
|
||||
}
|
||||
|
||||
if (LocationsSpecified)
|
||||
{
|
||||
foreach (Location location in Locations)
|
||||
{
|
||||
location.SetFields(datItemMappings, machineMappings);
|
||||
}
|
||||
}
|
||||
|
||||
if (ValuesSpecified)
|
||||
{
|
||||
foreach (Setting value in Values)
|
||||
{
|
||||
value.SetFields(datItemMappings, machineMappings);
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region SoftwareList
|
||||
|
||||
// Handle Part-specific fields
|
||||
if (Part == null)
|
||||
Part = new Part();
|
||||
|
||||
Part.SetFields(datItemMappings, machineMappings);
|
||||
|
||||
#endregion
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructors
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
using SabreTools.Core;
|
||||
@@ -165,55 +164,6 @@ namespace SabreTools.DatItems
|
||||
Name = name;
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
public override void SetFields(
|
||||
Dictionary<DatItemField, string> datItemMappings,
|
||||
Dictionary<MachineField, string> machineMappings)
|
||||
{
|
||||
// Set base fields
|
||||
base.SetFields(datItemMappings, machineMappings);
|
||||
|
||||
// Handle Disk-specific fields
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Name))
|
||||
Name = datItemMappings[DatItemField.Name];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.MD5))
|
||||
MD5 = datItemMappings[DatItemField.MD5];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.SHA1))
|
||||
SHA1 = datItemMappings[DatItemField.SHA1];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Merge))
|
||||
MergeTag = datItemMappings[DatItemField.Merge];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Region))
|
||||
Region = datItemMappings[DatItemField.Region];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Index))
|
||||
Index = datItemMappings[DatItemField.Index];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Writable))
|
||||
Writable = datItemMappings[DatItemField.Writable].AsYesNo();
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Status))
|
||||
ItemStatus = datItemMappings[DatItemField.Status].AsItemStatus();
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Optional))
|
||||
Optional = datItemMappings[DatItemField.Optional].AsYesNo();
|
||||
|
||||
// Handle DiskArea-specific fields
|
||||
if (DiskArea == null)
|
||||
DiskArea = new DiskArea();
|
||||
|
||||
DiskArea.SetFields(datItemMappings, machineMappings);
|
||||
|
||||
// Handle Part-specific fields
|
||||
if (Part == null)
|
||||
Part = new Part();
|
||||
|
||||
Part.SetFields(datItemMappings, machineMappings);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructors
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Collections.Generic;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
using SabreTools.Core;
|
||||
@@ -40,19 +38,6 @@ namespace SabreTools.DatItems
|
||||
Name = name;
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
public override void SetFields(
|
||||
Dictionary<DatItemField, string> datItemMappings,
|
||||
Dictionary<MachineField, string> machineMappings)
|
||||
{
|
||||
// Set base fields
|
||||
base.SetFields(datItemMappings, machineMappings);
|
||||
|
||||
// Handle DiskArea-specific fields
|
||||
if (datItemMappings.Keys.Contains(DatItemField.AreaName))
|
||||
Name = datItemMappings[DatItemField.AreaName];
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructors
|
||||
|
||||
@@ -1,10 +1,7 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Collections.Generic;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
using SabreTools.Core;
|
||||
using SabreTools.Core.Tools;
|
||||
using Newtonsoft.Json;
|
||||
using Newtonsoft.Json.Converters;
|
||||
|
||||
@@ -158,65 +155,6 @@ namespace SabreTools.DatItems
|
||||
|
||||
#endregion
|
||||
|
||||
#region Accessors
|
||||
|
||||
/// <inheritdoc/>
|
||||
public override void SetFields(
|
||||
Dictionary<DatItemField, string> datItemMappings,
|
||||
Dictionary<MachineField, string> machineMappings)
|
||||
{
|
||||
// Set base fields
|
||||
base.SetFields(datItemMappings, machineMappings);
|
||||
|
||||
// Handle Display-specific fields
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Tag))
|
||||
Tag = datItemMappings[DatItemField.Tag];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.DisplayType))
|
||||
DisplayType = datItemMappings[DatItemField.DisplayType].AsDisplayType();
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Rotate))
|
||||
Rotate = Utilities.CleanLong(datItemMappings[DatItemField.Rotate]);
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.FlipX))
|
||||
FlipX = datItemMappings[DatItemField.FlipX].AsYesNo();
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Width))
|
||||
Width = Utilities.CleanLong(datItemMappings[DatItemField.Width]);
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Height))
|
||||
Height = Utilities.CleanLong(datItemMappings[DatItemField.Height]);
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Refresh))
|
||||
{
|
||||
if (Double.TryParse(datItemMappings[DatItemField.Refresh], out double refresh))
|
||||
Refresh = refresh;
|
||||
}
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.PixClock))
|
||||
PixClock = Utilities.CleanLong(datItemMappings[DatItemField.PixClock]);
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.HTotal))
|
||||
HTotal = Utilities.CleanLong(datItemMappings[DatItemField.HTotal]);
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.HBEnd))
|
||||
HBEnd = Utilities.CleanLong(datItemMappings[DatItemField.HBEnd]);
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.HBStart))
|
||||
HBStart = Utilities.CleanLong(datItemMappings[DatItemField.HBStart]);
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.VTotal))
|
||||
VTotal = Utilities.CleanLong(datItemMappings[DatItemField.VTotal]);
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.VBEnd))
|
||||
VBEnd = Utilities.CleanLong(datItemMappings[DatItemField.VBEnd]);
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.VBStart))
|
||||
VBStart = Utilities.CleanLong(datItemMappings[DatItemField.VBStart]);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructors
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -1,9 +1,7 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
using SabreTools.Core;
|
||||
using SabreTools.Core.Tools;
|
||||
using Newtonsoft.Json;
|
||||
using Newtonsoft.Json.Converters;
|
||||
|
||||
@@ -63,32 +61,6 @@ namespace SabreTools.DatItems
|
||||
|
||||
#endregion
|
||||
|
||||
#region Accessors
|
||||
|
||||
/// <inheritdoc/>
|
||||
public override void SetFields(
|
||||
Dictionary<DatItemField, string> datItemMappings,
|
||||
Dictionary<MachineField, string> machineMappings)
|
||||
{
|
||||
// Set base fields
|
||||
base.SetFields(datItemMappings, machineMappings);
|
||||
|
||||
// Handle Feature-specific fields
|
||||
if (datItemMappings.Keys.Contains(DatItemField.SupportStatus))
|
||||
Status = datItemMappings[DatItemField.SupportStatus].AsSupportStatus();
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.EmulationStatus))
|
||||
Emulation = datItemMappings[DatItemField.EmulationStatus].AsSupportStatus();
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.CocktailStatus))
|
||||
Cocktail = datItemMappings[DatItemField.CocktailStatus].AsSupportStatus();
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.SaveStateStatus))
|
||||
SaveState = datItemMappings[DatItemField.SaveStateStatus].AsSupported();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructors
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
using SabreTools.Core;
|
||||
@@ -38,19 +37,6 @@ namespace SabreTools.DatItems
|
||||
Name = name;
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
public override void SetFields(
|
||||
Dictionary<DatItemField, string> datItemMappings,
|
||||
Dictionary<MachineField, string> machineMappings)
|
||||
{
|
||||
// Set base fields
|
||||
base.SetFields(datItemMappings, machineMappings);
|
||||
|
||||
// Handle Sample-specific fields
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Extension_Name))
|
||||
Name = datItemMappings[DatItemField.Extension_Name];
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructors
|
||||
|
||||
@@ -1,9 +1,7 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
using SabreTools.Core;
|
||||
using SabreTools.Core.Tools;
|
||||
using Newtonsoft.Json;
|
||||
using Newtonsoft.Json.Converters;
|
||||
|
||||
@@ -52,29 +50,6 @@ namespace SabreTools.DatItems
|
||||
|
||||
#endregion
|
||||
|
||||
#region Accessors
|
||||
|
||||
/// <inheritdoc/>
|
||||
public override void SetFields(
|
||||
Dictionary<DatItemField, string> datItemMappings,
|
||||
Dictionary<MachineField, string> machineMappings)
|
||||
{
|
||||
// Set base fields
|
||||
base.SetFields(datItemMappings, machineMappings);
|
||||
|
||||
// Handle Feature-specific fields
|
||||
if (datItemMappings.Keys.Contains(DatItemField.FeatureType))
|
||||
Type = datItemMappings[DatItemField.FeatureType].AsFeatureType();
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.FeatureStatus))
|
||||
Status = datItemMappings[DatItemField.FeatureStatus].AsFeatureStatus();
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.FeatureOverall))
|
||||
Overall = datItemMappings[DatItemField.FeatureOverall].AsFeatureStatus();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructors
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
using SabreTools.Core;
|
||||
@@ -45,22 +44,6 @@ namespace SabreTools.DatItems
|
||||
Name = name;
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
public override void SetFields(
|
||||
Dictionary<DatItemField, string> datItemMappings,
|
||||
Dictionary<MachineField, string> machineMappings)
|
||||
{
|
||||
// Set base fields
|
||||
base.SetFields(datItemMappings, machineMappings);
|
||||
|
||||
// Handle Info-specific fields
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Name))
|
||||
Name = datItemMappings[DatItemField.Name];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Value))
|
||||
Value = datItemMappings[DatItemField.Value];
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructors
|
||||
|
||||
@@ -1,10 +1,7 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Collections.Generic;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
using SabreTools.Core;
|
||||
using SabreTools.Core.Tools;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace SabreTools.DatItems
|
||||
@@ -69,40 +66,6 @@ namespace SabreTools.DatItems
|
||||
|
||||
#endregion
|
||||
|
||||
#region Accessors
|
||||
|
||||
/// <inheritdoc/>
|
||||
public override void SetFields(
|
||||
Dictionary<DatItemField, string> datItemMappings,
|
||||
Dictionary<MachineField, string> machineMappings)
|
||||
{
|
||||
// Set base fields
|
||||
base.SetFields(datItemMappings, machineMappings);
|
||||
|
||||
// Handle Input-specific fields
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Service))
|
||||
Service = datItemMappings[DatItemField.Service].AsYesNo();
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Tilt))
|
||||
Tilt = datItemMappings[DatItemField.Tilt].AsYesNo();
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Players))
|
||||
Players = Utilities.CleanLong(datItemMappings[DatItemField.Players]);
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Coins))
|
||||
Coins = Utilities.CleanLong(datItemMappings[DatItemField.Coins]);
|
||||
|
||||
if (ControlsSpecified)
|
||||
{
|
||||
foreach (Control control in Controls)
|
||||
{
|
||||
control.SetFields(datItemMappings, machineMappings);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructors
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
using SabreTools.Core;
|
||||
@@ -45,22 +44,6 @@ namespace SabreTools.DatItems
|
||||
Name = name;
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
public override void SetFields(
|
||||
Dictionary<DatItemField, string> datItemMappings,
|
||||
Dictionary<MachineField, string> machineMappings)
|
||||
{
|
||||
// Set base fields
|
||||
base.SetFields(datItemMappings, machineMappings);
|
||||
|
||||
// Handle Instance-specific fields
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Instance_Name))
|
||||
Name = datItemMappings[DatItemField.Instance_Name];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Instance_BriefName))
|
||||
BriefName = datItemMappings[DatItemField.Instance_BriefName];
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructors
|
||||
|
||||
@@ -1,9 +1,7 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
using SabreTools.Core;
|
||||
using SabreTools.Core.Tools;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace SabreTools.DatItems
|
||||
@@ -59,25 +57,6 @@ namespace SabreTools.DatItems
|
||||
Name = name;
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
public override void SetFields(
|
||||
Dictionary<DatItemField, string> datItemMappings,
|
||||
Dictionary<MachineField, string> machineMappings)
|
||||
{
|
||||
// Set base fields
|
||||
base.SetFields(datItemMappings, machineMappings);
|
||||
|
||||
// Handle Location-specific fields
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Location_Name))
|
||||
Name = datItemMappings[DatItemField.Location_Name];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Location_Number))
|
||||
Number = Utilities.CleanLong(datItemMappings[DatItemField.Location_Number]);
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Location_Inverted))
|
||||
Inverted = datItemMappings[DatItemField.Location_Inverted].AsYesNo();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructors
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
@@ -94,31 +93,6 @@ namespace SabreTools.DatItems
|
||||
Name = name;
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
public override void SetFields(
|
||||
Dictionary<DatItemField, string> datItemMappings,
|
||||
Dictionary<MachineField, string> machineMappings)
|
||||
{
|
||||
// Set base fields
|
||||
base.SetFields(datItemMappings, machineMappings);
|
||||
|
||||
// Handle Media-specific fields
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Name))
|
||||
Name = datItemMappings[DatItemField.Name];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.MD5))
|
||||
MD5 = datItemMappings[DatItemField.MD5];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.SHA1))
|
||||
SHA1 = datItemMappings[DatItemField.SHA1];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.SHA256))
|
||||
SHA256 = datItemMappings[DatItemField.SHA256];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.SpamSum))
|
||||
SpamSum = datItemMappings[DatItemField.SpamSum];
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructors
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Collections.Generic;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
using SabreTools.Core;
|
||||
@@ -48,31 +46,6 @@ namespace SabreTools.DatItems
|
||||
Name = name;
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
public override void SetFields(
|
||||
Dictionary<DatItemField, string> datItemMappings,
|
||||
Dictionary<MachineField, string> machineMappings)
|
||||
{
|
||||
// Set base fields
|
||||
base.SetFields(datItemMappings, machineMappings);
|
||||
|
||||
// Handle Part-specific fields
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Part_Name))
|
||||
Name = datItemMappings[DatItemField.Part_Name];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Part_Interface))
|
||||
Interface = datItemMappings[DatItemField.Part_Interface];
|
||||
|
||||
// Handle Feature-specific fields
|
||||
if (FeaturesSpecified)
|
||||
{
|
||||
foreach (PartFeature partFeature in Features)
|
||||
{
|
||||
partFeature.SetFields(datItemMappings, machineMappings);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructors
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
using SabreTools.Core;
|
||||
@@ -45,22 +44,6 @@ namespace SabreTools.DatItems
|
||||
Name = name;
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
public override void SetFields(
|
||||
Dictionary<DatItemField, string> datItemMappings,
|
||||
Dictionary<MachineField, string> machineMappings)
|
||||
{
|
||||
// Set base fields
|
||||
base.SetFields(datItemMappings, machineMappings);
|
||||
|
||||
// Handle PartFeature-specific fields
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Part_Feature_Name))
|
||||
Name = datItemMappings[DatItemField.Part_Feature_Name];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Part_Feature_Value))
|
||||
Value = datItemMappings[DatItemField.Part_Feature_Value];
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructors
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
using SabreTools.Core;
|
||||
@@ -34,31 +33,6 @@ namespace SabreTools.DatItems
|
||||
|
||||
#endregion
|
||||
|
||||
#region Accessors
|
||||
|
||||
/// <inheritdoc/>
|
||||
public override void SetFields(
|
||||
Dictionary<DatItemField, string> datItemMappings,
|
||||
Dictionary<MachineField, string> machineMappings)
|
||||
{
|
||||
// Set base fields
|
||||
base.SetFields(datItemMappings, machineMappings);
|
||||
|
||||
// Handle Port-specific fields
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Tag))
|
||||
Tag = datItemMappings[DatItemField.Tag];
|
||||
|
||||
if (AnalogsSpecified)
|
||||
{
|
||||
foreach (Analog analog in Analogs)
|
||||
{
|
||||
analog.SetFields(datItemMappings, machineMappings);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructors
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -1,9 +1,7 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
using SabreTools.Core;
|
||||
using SabreTools.Core.Tools;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace SabreTools.DatItems
|
||||
@@ -56,25 +54,6 @@ namespace SabreTools.DatItems
|
||||
Name = name;
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
public override void SetFields(
|
||||
Dictionary<DatItemField, string> datItemMappings,
|
||||
Dictionary<MachineField, string> machineMappings)
|
||||
{
|
||||
// Set base fields
|
||||
base.SetFields(datItemMappings, machineMappings);
|
||||
|
||||
// Handle BiosSet-specific fields
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Name))
|
||||
Name = datItemMappings[DatItemField.Name];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Default))
|
||||
Default = datItemMappings[DatItemField.Default].AsYesNo();
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Content))
|
||||
Content = datItemMappings[DatItemField.Content];
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructors
|
||||
|
||||
@@ -1,9 +1,7 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
using SabreTools.Core;
|
||||
using SabreTools.Core.Tools;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace SabreTools.DatItems
|
||||
@@ -70,31 +68,6 @@ namespace SabreTools.DatItems
|
||||
Name = name;
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
public override void SetFields(
|
||||
Dictionary<DatItemField, string> datItemMappings,
|
||||
Dictionary<MachineField, string> machineMappings)
|
||||
{
|
||||
// Set base fields
|
||||
base.SetFields(datItemMappings, machineMappings);
|
||||
|
||||
// Handle Release-specific fields
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Name))
|
||||
Name = datItemMappings[DatItemField.Name];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Region))
|
||||
Region = datItemMappings[DatItemField.Region];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Language))
|
||||
Language = datItemMappings[DatItemField.Language];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Date))
|
||||
Date = datItemMappings[DatItemField.Date];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Default))
|
||||
Default = datItemMappings[DatItemField.Default].AsYesNo();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructors
|
||||
|
||||
@@ -353,128 +353,6 @@ namespace SabreTools.DatItems
|
||||
Name = name;
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
public override void SetFields(
|
||||
Dictionary<DatItemField, string> datItemMappings,
|
||||
Dictionary<MachineField, string> machineMappings)
|
||||
{
|
||||
// Set base fields
|
||||
base.SetFields(datItemMappings, machineMappings);
|
||||
|
||||
// Handle Rom-specific fields
|
||||
|
||||
#region Common
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Name))
|
||||
Name = datItemMappings[DatItemField.Name];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Bios))
|
||||
Bios = datItemMappings[DatItemField.Bios];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Size))
|
||||
Size = Utilities.CleanLong(datItemMappings[DatItemField.Size]);
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.CRC))
|
||||
CRC = datItemMappings[DatItemField.CRC];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.MD5))
|
||||
MD5 = datItemMappings[DatItemField.MD5];
|
||||
|
||||
#if NET_FRAMEWORK
|
||||
if (datItemMappings.Keys.Contains(DatItemField.RIPEMD160))
|
||||
RIPEMD160 = datItemMappings[DatItemField.RIPEMD160];
|
||||
#endif
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.SHA1))
|
||||
SHA1 = datItemMappings[DatItemField.SHA1];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.SHA256))
|
||||
SHA256 = datItemMappings[DatItemField.SHA256];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.SHA384))
|
||||
SHA384 = datItemMappings[DatItemField.SHA384];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.SHA512))
|
||||
SHA512 = datItemMappings[DatItemField.SHA512];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.SpamSum))
|
||||
SpamSum = datItemMappings[DatItemField.SpamSum];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Merge))
|
||||
MergeTag = datItemMappings[DatItemField.Merge];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Region))
|
||||
Region = datItemMappings[DatItemField.Region];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Offset))
|
||||
Offset = datItemMappings[DatItemField.Offset];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Date))
|
||||
Date = datItemMappings[DatItemField.Date];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Status))
|
||||
ItemStatus = datItemMappings[DatItemField.Status].AsItemStatus();
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Optional))
|
||||
Optional = datItemMappings[DatItemField.Optional].AsYesNo();
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Inverted))
|
||||
Inverted = datItemMappings[DatItemField.Optional].AsYesNo();
|
||||
|
||||
#endregion
|
||||
|
||||
#region AttractMode
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.AltName))
|
||||
AltName = datItemMappings[DatItemField.AltName];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.AltTitle))
|
||||
AltTitle = datItemMappings[DatItemField.AltTitle];
|
||||
|
||||
#endregion
|
||||
|
||||
#region OpenMSX
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Original))
|
||||
Original = new Original() { Content = datItemMappings[DatItemField.Original] };
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.OpenMSXSubType))
|
||||
OpenMSXSubType = datItemMappings[DatItemField.OpenMSXSubType].AsOpenMSXSubType();
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.OpenMSXType))
|
||||
OpenMSXType = datItemMappings[DatItemField.OpenMSXType];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Remark))
|
||||
Remark = datItemMappings[DatItemField.Remark];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Boot))
|
||||
Boot = datItemMappings[DatItemField.Boot];
|
||||
|
||||
#endregion
|
||||
|
||||
#region SoftwareList
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.LoadFlag))
|
||||
LoadFlag = datItemMappings[DatItemField.LoadFlag].AsLoadFlag();
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Value))
|
||||
Value = datItemMappings[DatItemField.Value];
|
||||
|
||||
// Handle DataArea-specific fields
|
||||
if (DataArea == null)
|
||||
DataArea = new DataArea();
|
||||
|
||||
DataArea.SetFields(datItemMappings, machineMappings);
|
||||
|
||||
// Handle Part-specific fields
|
||||
if (Part == null)
|
||||
Part = new Part();
|
||||
|
||||
Part.SetFields(datItemMappings, machineMappings);
|
||||
|
||||
#endregion
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructors
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
using SabreTools.Core;
|
||||
@@ -38,19 +37,6 @@ namespace SabreTools.DatItems
|
||||
Name = name;
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
public override void SetFields(
|
||||
Dictionary<DatItemField, string> datItemMappings,
|
||||
Dictionary<MachineField, string> machineMappings)
|
||||
{
|
||||
// Set base fields
|
||||
base.SetFields(datItemMappings, machineMappings);
|
||||
|
||||
// Handle Sample-specific fields
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Name))
|
||||
Name = datItemMappings[DatItemField.Name];
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructors
|
||||
|
||||
@@ -1,9 +1,7 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
using SabreTools.Core;
|
||||
using SabreTools.Core.Tools;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace SabreTools.DatItems
|
||||
@@ -66,33 +64,6 @@ namespace SabreTools.DatItems
|
||||
Name = name;
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
public override void SetFields(
|
||||
Dictionary<DatItemField, string> datItemMappings,
|
||||
Dictionary<MachineField, string> machineMappings)
|
||||
{
|
||||
// Set base fields
|
||||
base.SetFields(datItemMappings, machineMappings);
|
||||
|
||||
// Handle Setting-specific fields
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Setting_Name))
|
||||
Name = datItemMappings[DatItemField.Setting_Name];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Setting_Value))
|
||||
Value = datItemMappings[DatItemField.Setting_Value];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Setting_Default))
|
||||
Default = datItemMappings[DatItemField.Setting_Default].AsYesNo();
|
||||
|
||||
if (ConditionsSpecified)
|
||||
{
|
||||
foreach (Condition condition in Conditions)
|
||||
{
|
||||
condition.SetFields(datItemMappings, machineMappings, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructors
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
using SabreTools.Core;
|
||||
@@ -45,22 +44,6 @@ namespace SabreTools.DatItems
|
||||
Name = name;
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
public override void SetFields(
|
||||
Dictionary<DatItemField, string> datItemMappings,
|
||||
Dictionary<MachineField, string> machineMappings)
|
||||
{
|
||||
// Set base fields
|
||||
base.SetFields(datItemMappings, machineMappings);
|
||||
|
||||
// Handle SharedFeature-specific fields
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Name))
|
||||
Name = datItemMappings[DatItemField.Name];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Value))
|
||||
Value = datItemMappings[DatItemField.Value];
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructors
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
using SabreTools.Core;
|
||||
@@ -48,27 +47,6 @@ namespace SabreTools.DatItems
|
||||
Name = name;
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
public override void SetFields(
|
||||
Dictionary<DatItemField, string> datItemMappings,
|
||||
Dictionary<MachineField, string> machineMappings)
|
||||
{
|
||||
// Set base fields
|
||||
base.SetFields(datItemMappings, machineMappings);
|
||||
|
||||
// Handle Slot-specific fields
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Name))
|
||||
Name = datItemMappings[DatItemField.Name];
|
||||
|
||||
if (SlotOptionsSpecified)
|
||||
{
|
||||
foreach (SlotOption slotOption in SlotOptions)
|
||||
{
|
||||
slotOption.SetFields(datItemMappings, machineMappings);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructors
|
||||
|
||||
@@ -1,9 +1,7 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
using SabreTools.Core;
|
||||
using SabreTools.Core.Tools;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace SabreTools.DatItems
|
||||
@@ -56,25 +54,6 @@ namespace SabreTools.DatItems
|
||||
Name = name;
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
public override void SetFields(
|
||||
Dictionary<DatItemField, string> datItemMappings,
|
||||
Dictionary<MachineField, string> machineMappings)
|
||||
{
|
||||
// Set base fields
|
||||
base.SetFields(datItemMappings, machineMappings);
|
||||
|
||||
// Handle SlotOption-specific fields
|
||||
if (datItemMappings.Keys.Contains(DatItemField.SlotOption_Name))
|
||||
Name = datItemMappings[DatItemField.SlotOption_Name];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.SlotOption_DeviceName))
|
||||
DeviceName = datItemMappings[DatItemField.SlotOption_DeviceName];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.SlotOption_Default))
|
||||
Default = datItemMappings[DatItemField.SlotOption_Default].AsYesNo();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructors
|
||||
|
||||
@@ -58,25 +58,6 @@ namespace SabreTools.DatItems
|
||||
Name = name;
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
public override void SetFields(
|
||||
Dictionary<DatItemField, string> datItemMappings,
|
||||
Dictionary<MachineField, string> machineMappings)
|
||||
{
|
||||
// Set base fields
|
||||
base.SetFields(datItemMappings, machineMappings);
|
||||
|
||||
// Handle SoftwareList-specific fields
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Name))
|
||||
Name = datItemMappings[DatItemField.Name];
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.SoftwareListStatus))
|
||||
Status = datItemMappings[DatItemField.SoftwareListStatus].AsSoftwareListStatus();
|
||||
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Filter))
|
||||
Filter = datItemMappings[DatItemField.Filter];
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructors
|
||||
|
||||
@@ -1,10 +1,7 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Collections.Generic;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
using SabreTools.Core;
|
||||
using SabreTools.Core.Tools;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace SabreTools.DatItems
|
||||
@@ -29,23 +26,6 @@ namespace SabreTools.DatItems
|
||||
|
||||
#endregion
|
||||
|
||||
#region Accessors
|
||||
|
||||
/// <inheritdoc/>
|
||||
public override void SetFields(
|
||||
Dictionary<DatItemField, string> datItemMappings,
|
||||
Dictionary<MachineField, string> machineMappings)
|
||||
{
|
||||
// Set base fields
|
||||
base.SetFields(datItemMappings, machineMappings);
|
||||
|
||||
// Handle Sound-specific fields
|
||||
if (datItemMappings.Keys.Contains(DatItemField.Channels))
|
||||
Channels = Utilities.CleanLong(datItemMappings[DatItemField.Channels]);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructors
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -434,7 +434,7 @@ namespace SabreTools.DatTools
|
||||
}
|
||||
|
||||
// Set the item name back
|
||||
datItem.SetFields(new Dictionary<DatItemField, string> { [DatItemField.Name] = itemName }, null);
|
||||
DatItemTool.SetFields(datItem, new Dictionary<DatItemField, string> { [DatItemField.Name] = itemName });
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -162,7 +162,7 @@ namespace SabreTools.DatTools
|
||||
|
||||
foreach (var datItem in datItems)
|
||||
{
|
||||
datItem.SetFields(mappings, null);
|
||||
DatItemTool.SetFields(datItem, mappings, null);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1033,7 +1033,7 @@ namespace SabreTools.DatTools
|
||||
else if (!datFile.Items[parent].Contains(item))
|
||||
{
|
||||
if (subfolder)
|
||||
item.SetFields(new Dictionary<DatItemField, string> { [DatItemField.Name] = $"{item.Machine.Name}\\{item.GetName()}" }, null);
|
||||
item.SetName($"{item.Machine.Name}\\{item.GetName()}");
|
||||
|
||||
item.CopyMachineInformation(copyFrom);
|
||||
datFile.Items.Add(parent, item);
|
||||
|
||||
@@ -441,7 +441,7 @@ namespace SabreTools.DatTools
|
||||
{
|
||||
// Create a headered item to use as well
|
||||
datItem.CopyMachineInformation(item);
|
||||
datItem.SetFields(new Dictionary<DatItemField, string> { [DatItemField.Name] = $"{datItem.GetName()}_{crc}" }, null);
|
||||
datItem.SetName($"{datItem.GetName()}_{crc}");
|
||||
|
||||
// Get the output archive, if possible
|
||||
Folder outputArchive = GetPreconfiguredFolder(datFile, date, outputFormat);
|
||||
|
||||
Reference in New Issue
Block a user