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

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