DatItems don't know about setting fields

This commit is contained in:
Matt Nadareski
2020-12-14 10:11:20 -08:00
parent 8a354e9156
commit f8b9dfa122
44 changed files with 923 additions and 1138 deletions

View File

@@ -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)

View File

@@ -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":

View File

@@ -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);
}

View File

@@ -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

View File

@@ -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>

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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>

View File

@@ -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

View File

@@ -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>

View File

@@ -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);
}

View File

@@ -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>

View File

@@ -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

View File

@@ -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>

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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>

View File

@@ -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>

View File

@@ -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

View File

@@ -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>

View File

@@ -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

View File

@@ -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>

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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>

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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>

View File

@@ -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 });
}
}
}

View File

@@ -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);

View File

@@ -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);