Checkpoint (nw)

This commit is contained in:
Matt Nadareski
2020-08-25 11:20:50 -07:00
parent dab673246e
commit 3dc3c627f0
16 changed files with 903 additions and 1630 deletions

View File

@@ -41,11 +41,11 @@ namespace SabreTools.Library.DatItems
base.SetFields(mappings);
// Handle BiosSet-specific fields
if (mappings.Keys.Contains(Field.Default))
Default = mappings[Field.Default].AsYesNo();
if (mappings.Keys.Contains(Field.DatItem_Default))
Default = mappings[Field.DatItem_Default].AsYesNo();
if (mappings.Keys.Contains(Field.BiosDescription))
Description = mappings[Field.BiosDescription];
if (mappings.Keys.Contains(Field.DatItem_Description))
Description = mappings[Field.DatItem_Description];
}
#endregion
@@ -155,10 +155,10 @@ namespace SabreTools.Library.DatItems
base.RemoveFields(fields);
// Remove the fields
if (fields.Contains(Field.BiosDescription))
if (fields.Contains(Field.DatItem_Description))
Description = null;
if (fields.Contains(Field.Default))
if (fields.Contains(Field.DatItem_Default))
Default = null;
}
@@ -184,10 +184,10 @@ namespace SabreTools.Library.DatItems
BiosSet newItem = item as BiosSet;
// Replace the fields
if (fields.Contains(Field.BiosDescription))
if (fields.Contains(Field.DatItem_Description))
Description = newItem.Description;
if (fields.Contains(Field.Default))
if (fields.Contains(Field.DatItem_Default))
Default = newItem.Default;
}

View File

@@ -185,6 +185,7 @@ namespace SabreTools.Library.DatItems
/// <summary>
/// Fields unique to a DatItem
/// </summary>
/// TODO: Ensure list
public static readonly List<Field> DatItemFields = new List<Field>()
{
// Common
@@ -202,51 +203,52 @@ namespace SabreTools.Library.DatItems
Field.DatItem_Boot,
//SoftwareList
Field.PartName,
Field.PartInterface,
Field.Features,
Field.AreaName,
Field.AreaSize,
Field.AreaWidth,
Field.AreaEndianness,
Field.Value,
Field.LoadFlag,
Field.DatItem_Part_Name,
Field.DatItem_Part_Interface,
Field.DatItem_Features,
Field.DatItem_AreaName,
Field.DatItem_AreaSize,
Field.DatItem_AreaWidth,
Field.DatItem_AreaEndianness,
Field.DatItem_Value,
Field.DatItem_LoadFlag,
// BiosSet
Field.BiosDescription,
Field.Default,
Field.DatItem_Description,
Field.DatItem_Default,
// Disk
Field.MD5,
Field.DatItem_MD5,
#if NET_FRAMEWORK
Field.RIPEMD160,
Field.DatItem_RIPEMD160,
#endif
Field.SHA1,
Field.SHA256,
Field.SHA384,
Field.SHA512,
Field.Merge,
Field.Region,
Field.Index,
Field.Writable,
Field.Optional,
Field.Status,
Field.DatItem_SHA1,
Field.DatItem_SHA256,
Field.DatItem_SHA384,
Field.DatItem_SHA512,
Field.DatItem_Merge,
Field.DatItem_Region,
Field.DatItem_Index,
Field.DatItem_Writable,
Field.DatItem_Optional,
Field.DatItem_Status,
// Release
Field.Language,
Field.Date,
Field.DatItem_Language,
Field.DatItem_Date,
// Rom
Field.Bios,
Field.Size,
Field.CRC,
Field.Offset,
Field.Inverted,
Field.DatItem_Bios,
Field.DatItem_Size,
Field.DatItem_CRC,
Field.DatItem_Offset,
Field.DatItem_Inverted,
};
/// <summary>
/// Fields unique to a Machine
/// </summary>
/// TODO: Ensure list
public static readonly List<Field> MachineFields = new List<Field>()
{
// Common
@@ -265,7 +267,7 @@ namespace SabreTools.Library.DatItems
Field.Machine_Players,
Field.Machine_Rotation,
Field.Machine_Control,
Field.Machine_SupportStatus,
Field.Machine_Status,
Field.Machine_DisplayCount,
Field.Machine_DisplayType,
Field.Machine_Buttons,
@@ -318,6 +320,9 @@ namespace SabreTools.Library.DatItems
public virtual void SetFields(Dictionary<Field, string> mappings)
{
// Set machine fields
if (Machine == null)
Machine = new Machine();
Machine.SetFields(mappings);
#region Common
@@ -358,60 +363,30 @@ namespace SabreTools.Library.DatItems
#region SoftwareList
if (mappings.Keys.Contains(Field.PartName))
// TODO: Add DatItem_Part*
// TODO: Add DatItem_Feature*
// TODO: These might be replaced by dataarea/diskarea
if (mappings.Keys.Contains(Field.DatItem_AreaName))
AreaName = mappings[Field.DatItem_AreaName];
if (mappings.Keys.Contains(Field.DatItem_AreaSize))
{
if (Part == null)
Part = new SoftwareListPart();
Part.Name = mappings[Field.PartName];
}
if (mappings.Keys.Contains(Field.PartInterface))
{
if (Part == null)
Part = new SoftwareListPart();
Part.Interface = mappings[Field.PartInterface];
}
if (mappings.Keys.Contains(Field.Features))
{
if (Features == null)
Features = new List<SoftwareListFeature>();
string[] pairs = mappings[Field.Features].Split(';');
foreach (string pair in pairs)
{
string[] split = pair.Split('=');
var feature = new SoftwareListFeature();
feature.Name = split[0];
feature.Value = split[1];
Features.Add(feature);
}
}
if (mappings.Keys.Contains(Field.AreaName))
AreaName = mappings[Field.AreaName];
if (mappings.Keys.Contains(Field.AreaSize))
{
if (Int64.TryParse(mappings[Field.AreaSize], out long areaSize))
if (Int64.TryParse(mappings[Field.DatItem_AreaSize], out long areaSize))
AreaSize = areaSize;
}
if (mappings.Keys.Contains(Field.AreaWidth))
AreaWidth = mappings[Field.AreaWidth];
if (mappings.Keys.Contains(Field.DatItem_AreaWidth))
AreaWidth = mappings[Field.DatItem_AreaWidth];
if (mappings.Keys.Contains(Field.AreaEndianness))
AreaEndianness = mappings[Field.AreaEndianness];
if (mappings.Keys.Contains(Field.DatItem_AreaEndianness))
AreaEndianness = mappings[Field.DatItem_AreaEndianness];
if (mappings.Keys.Contains(Field.Value))
Value = mappings[Field.Value];
if (mappings.Keys.Contains(Field.DatItem_Value))
Value = mappings[Field.DatItem_Value];
if (mappings.Keys.Contains(Field.LoadFlag))
LoadFlag = mappings[Field.LoadFlag];
if (mappings.Keys.Contains(Field.DatItem_LoadFlag))
LoadFlag = mappings[Field.DatItem_LoadFlag];
#endregion
}
@@ -425,7 +400,7 @@ namespace SabreTools.Library.DatItems
/// </summary>
/// <param name="itemType">Type of the DatItem to be created</param>
/// <returns>DatItem of the specific internal type that corresponds to the inputs</returns>
public static DatItem Create(ItemType itemType)
public static DatItem Create(ItemType? itemType)
{
#if NET_FRAMEWORK
switch (itemType)
@@ -773,31 +748,31 @@ namespace SabreTools.Library.DatItems
#region SoftwareList
if (fields.Contains(Field.PartName) && Part != null)
if (fields.Contains(Field.DatItem_Part_Name) && Part != null)
Part.Name = null;
if (fields.Contains(Field.PartInterface) && Part != null)
if (fields.Contains(Field.DatItem_Part_Interface) && Part != null)
Part.Interface = null;
if (fields.Contains(Field.Features))
if (fields.Contains(Field.DatItem_Features))
Features = null;
if (fields.Contains(Field.AreaName))
if (fields.Contains(Field.DatItem_AreaName))
AreaName = null;
if (fields.Contains(Field.AreaSize))
if (fields.Contains(Field.DatItem_AreaSize))
AreaSize = null;
if (fields.Contains(Field.AreaWidth))
if (fields.Contains(Field.DatItem_AreaWidth))
AreaWidth = null;
if (fields.Contains(Field.AreaEndianness))
if (fields.Contains(Field.DatItem_AreaEndianness))
AreaEndianness = null;
if (fields.Contains(Field.Value))
if (fields.Contains(Field.DatItem_Value))
Value = null;
if (fields.Contains(Field.LoadFlag))
if (fields.Contains(Field.DatItem_LoadFlag))
LoadFlag = null;
#endregion
@@ -823,7 +798,7 @@ namespace SabreTools.Library.DatItems
// Now determine what the key should be based on the bucketedBy value
switch (bucketedBy)
{
case Field.CRC:
case Field.DatItem_CRC:
key = Constants.CRCZero;
break;
@@ -843,29 +818,29 @@ namespace SabreTools.Library.DatItems
key = WebUtility.HtmlEncode(key);
break;
case Field.MD5:
case Field.DatItem_MD5:
key = Constants.MD5Zero;
break;
#if NET_FRAMEWORK
case Field.RIPEMD160:
case Field.DatItem_RIPEMD160:
key = Constants.RIPEMD160Zero;
break;
#endif
case Field.SHA1:
case Field.DatItem_SHA1:
key = Constants.SHA1Zero;
break;
case Field.SHA256:
case Field.DatItem_SHA256:
key = Constants.SHA256Zero;
break;
case Field.SHA384:
case Field.DatItem_SHA384:
key = Constants.SHA384Zero;
break;
case Field.SHA512:
case Field.DatItem_SHA512:
key = Constants.SHA512Zero;
break;
}
@@ -922,7 +897,7 @@ namespace SabreTools.Library.DatItems
#region SoftwareList
if (fields.Contains(Field.PartName))
if (fields.Contains(Field.DatItem_Part_Name))
{
if (Part == null)
Part = new SoftwareListPart();
@@ -930,7 +905,7 @@ namespace SabreTools.Library.DatItems
Part.Name = item.Part?.Name;
}
if (fields.Contains(Field.PartInterface))
if (fields.Contains(Field.DatItem_Part_Interface))
{
if (Part == null)
Part = new SoftwareListPart();
@@ -938,25 +913,25 @@ namespace SabreTools.Library.DatItems
Part.Interface = item.Part?.Interface;
}
if (fields.Contains(Field.Features))
if (fields.Contains(Field.DatItem_Features))
Features = item.Features;
if (fields.Contains(Field.AreaName))
if (fields.Contains(Field.DatItem_AreaName))
AreaName = item.AreaName;
if (fields.Contains(Field.AreaSize))
if (fields.Contains(Field.DatItem_AreaSize))
AreaSize = item.AreaSize;
if (fields.Contains(Field.AreaWidth))
if (fields.Contains(Field.DatItem_AreaWidth))
AreaWidth = item.AreaWidth;
if (fields.Contains(Field.AreaEndianness))
if (fields.Contains(Field.DatItem_AreaEndianness))
AreaEndianness = item.AreaEndianness;
if (fields.Contains(Field.Value))
if (fields.Contains(Field.DatItem_Value))
Value = item.Value;
if (fields.Contains(Field.LoadFlag))
if (fields.Contains(Field.DatItem_LoadFlag))
LoadFlag = item.LoadFlag;
#endregion

View File

@@ -143,43 +143,43 @@ namespace SabreTools.Library.DatItems
base.SetFields(mappings);
// Handle Disk-specific fields
if (mappings.Keys.Contains(Field.MD5))
MD5 = mappings[Field.MD5];
if (mappings.Keys.Contains(Field.DatItem_MD5))
MD5 = mappings[Field.DatItem_MD5];
#if NET_FRAMEWORK
if (mappings.Keys.Contains(Field.RIPEMD160))
RIPEMD160 = mappings[Field.RIPEMD160];
if (mappings.Keys.Contains(Field.DatItem_RIPEMD160))
RIPEMD160 = mappings[Field.DatItem_RIPEMD160];
#endif
if (mappings.Keys.Contains(Field.SHA1))
SHA1 = mappings[Field.SHA1];
if (mappings.Keys.Contains(Field.DatItem_SHA1))
SHA1 = mappings[Field.DatItem_SHA1];
if (mappings.Keys.Contains(Field.SHA256))
SHA256 = mappings[Field.SHA256];
if (mappings.Keys.Contains(Field.DatItem_SHA256))
SHA256 = mappings[Field.DatItem_SHA256];
if (mappings.Keys.Contains(Field.SHA384))
SHA384 = mappings[Field.SHA384];
if (mappings.Keys.Contains(Field.DatItem_SHA384))
SHA384 = mappings[Field.DatItem_SHA384];
if (mappings.Keys.Contains(Field.SHA512))
SHA512 = mappings[Field.SHA512];
if (mappings.Keys.Contains(Field.DatItem_SHA512))
SHA512 = mappings[Field.DatItem_SHA512];
if (mappings.Keys.Contains(Field.Merge))
MergeTag = mappings[Field.Merge];
if (mappings.Keys.Contains(Field.DatItem_Merge))
MergeTag = mappings[Field.DatItem_Merge];
if (mappings.Keys.Contains(Field.Region))
Region = mappings[Field.Region];
if (mappings.Keys.Contains(Field.DatItem_Region))
Region = mappings[Field.DatItem_Region];
if (mappings.Keys.Contains(Field.Index))
Index = mappings[Field.Index];
if (mappings.Keys.Contains(Field.DatItem_Index))
Index = mappings[Field.DatItem_Index];
if (mappings.Keys.Contains(Field.Writable))
Writable = mappings[Field.Writable].AsYesNo();
if (mappings.Keys.Contains(Field.DatItem_Writable))
Writable = mappings[Field.DatItem_Writable].AsYesNo();
if (mappings.Keys.Contains(Field.Status))
ItemStatus = mappings[Field.Status].AsItemStatus();
if (mappings.Keys.Contains(Field.DatItem_Status))
ItemStatus = mappings[Field.DatItem_Status].AsItemStatus();
if (mappings.Keys.Contains(Field.Optional))
Optional = mappings[Field.Optional].AsYesNo();
if (mappings.Keys.Contains(Field.DatItem_Optional))
Optional = mappings[Field.DatItem_Optional].AsYesNo();
}
#endregion
@@ -558,42 +558,42 @@ namespace SabreTools.Library.DatItems
base.RemoveFields(fields);
// Remove the fields
if (fields.Contains(Field.MD5))
if (fields.Contains(Field.DatItem_MD5))
MD5 = null;
#if NET_FRAMEWORK
if (fields.Contains(Field.RIPEMD160))
if (fields.Contains(Field.DatItem_RIPEMD160))
RIPEMD160 = null;
#endif
if (fields.Contains(Field.SHA1))
if (fields.Contains(Field.DatItem_SHA1))
SHA1 = null;
if (fields.Contains(Field.SHA256))
if (fields.Contains(Field.DatItem_SHA256))
SHA256 = null;
if (fields.Contains(Field.SHA384))
if (fields.Contains(Field.DatItem_SHA384))
SHA384 = null;
if (fields.Contains(Field.SHA512))
if (fields.Contains(Field.DatItem_SHA512))
SHA512 = null;
if (fields.Contains(Field.Merge))
if (fields.Contains(Field.DatItem_Merge))
MergeTag = null;
if (fields.Contains(Field.Region))
if (fields.Contains(Field.DatItem_Region))
Region = null;
if (fields.Contains(Field.Index))
if (fields.Contains(Field.DatItem_Index))
Index = null;
if (fields.Contains(Field.Writable))
if (fields.Contains(Field.DatItem_Writable))
Writable = null;
if (fields.Contains(Field.Status))
if (fields.Contains(Field.DatItem_Status))
ItemStatus = ItemStatus.NULL;
if (fields.Contains(Field.Optional))
if (fields.Contains(Field.DatItem_Optional))
Optional = null;
}
@@ -616,29 +616,29 @@ namespace SabreTools.Library.DatItems
// Now determine what the key should be based on the bucketedBy value
switch (bucketedBy)
{
case Field.MD5:
case Field.DatItem_MD5:
key = MD5;
break;
#if NET_FRAMEWORK
case Field.RIPEMD160:
case Field.DatItem_RIPEMD160:
key = RIPEMD160;
break;
#endif
case Field.SHA1:
case Field.DatItem_SHA1:
key = SHA1;
break;
case Field.SHA256:
case Field.DatItem_SHA256:
key = SHA256;
break;
case Field.SHA384:
case Field.DatItem_SHA384:
key = SHA384;
break;
case Field.SHA512:
case Field.DatItem_SHA512:
key = SHA512;
break;
@@ -672,60 +672,60 @@ namespace SabreTools.Library.DatItems
Disk newItem = item as Disk;
// Replace the fields
if (fields.Contains(Field.MD5))
if (fields.Contains(Field.DatItem_MD5))
{
if (string.IsNullOrEmpty(MD5) && !string.IsNullOrEmpty(newItem.MD5))
MD5 = newItem.MD5;
}
#if NET_FRAMEWORK
if (fields.Contains(Field.RIPEMD160))
if (fields.Contains(Field.DatItem_RIPEMD160))
{
if (string.IsNullOrEmpty(RIPEMD160) && !string.IsNullOrEmpty(newItem.RIPEMD160))
RIPEMD160 = newItem.RIPEMD160;
}
#endif
if (fields.Contains(Field.SHA1))
if (fields.Contains(Field.DatItem_SHA1))
{
if (string.IsNullOrEmpty(SHA1) && !string.IsNullOrEmpty(newItem.SHA1))
SHA1 = newItem.SHA1;
}
if (fields.Contains(Field.SHA256))
if (fields.Contains(Field.DatItem_SHA256))
{
if (string.IsNullOrEmpty(SHA256) && !string.IsNullOrEmpty(newItem.SHA256))
SHA256 = newItem.SHA256;
}
if (fields.Contains(Field.SHA384))
if (fields.Contains(Field.DatItem_SHA384))
{
if (string.IsNullOrEmpty(SHA384) && !string.IsNullOrEmpty(newItem.SHA384))
SHA384 = newItem.SHA384;
}
if (fields.Contains(Field.SHA512))
if (fields.Contains(Field.DatItem_SHA512))
{
if (string.IsNullOrEmpty(SHA512) && !string.IsNullOrEmpty(newItem.SHA512))
SHA512 = newItem.SHA512;
}
if (fields.Contains(Field.Merge))
if (fields.Contains(Field.DatItem_Merge))
MergeTag = newItem.MergeTag;
if (fields.Contains(Field.Region))
if (fields.Contains(Field.DatItem_Region))
Region = newItem.Region;
if (fields.Contains(Field.Index))
if (fields.Contains(Field.DatItem_Index))
Index = newItem.Index;
if (fields.Contains(Field.Writable))
if (fields.Contains(Field.DatItem_Writable))
Writable = newItem.Writable;
if (fields.Contains(Field.Status))
if (fields.Contains(Field.DatItem_Status))
ItemStatus = newItem.ItemStatus;
if (fields.Contains(Field.Optional))
if (fields.Contains(Field.DatItem_Optional))
Optional = newItem.Optional;
}

View File

@@ -117,7 +117,7 @@ namespace SabreTools.Library.DatItems
Machine_Players,
Machine_Rotation,
Machine_Control,
Machine_SupportStatus,
Machine_Status,
Machine_DisplayCount,
Machine_DisplayType,
Machine_Buttons,
@@ -371,51 +371,61 @@ namespace SabreTools.Library.DatItems
#endregion
// TODO: Left off here on renaming
#region SoftwareList
PartName,
PartInterface,
Features,
AreaName,
AreaSize,
AreaWidth,
AreaEndianness,
Value,
LoadFlag,
// Part
DatItem_Part, // TODO: Fully implement Part
DatItem_Part_Name,
DatItem_Part_Interface,
// Feature
DatItem_Features, // TODO: Fully implement Feature
DatItem_Feature_Name,
DatItem_Feature_Value,
DatItem_AreaName,
DatItem_AreaSize,
DatItem_AreaWidth,
DatItem_AreaEndianness,
DatItem_Value,
DatItem_LoadFlag,
#endregion
#region Item-Specific
// BiosSet
Default,
BiosDescription,
DatItem_Default,
DatItem_Description,
// Disk
MD5,
DatItem_MD5,
#if NET_FRAMEWORK
RIPEMD160,
DatItem_RIPEMD160,
#endif
SHA1,
SHA256,
SHA384,
SHA512,
Merge,
Region,
Index,
Writable,
Optional,
Status,
DatItem_SHA1,
DatItem_SHA256,
DatItem_SHA384,
DatItem_SHA512,
DatItem_Merge,
DatItem_Region,
DatItem_Index,
DatItem_Writable,
DatItem_Status,
DatItem_Optional,
// Release
Language,
Date,
DatItem_Language,
DatItem_Date,
// Rom
Bios,
Size,
CRC,
Offset,
Inverted,
DatItem_Bios,
DatItem_Size,
DatItem_CRC,
DatItem_Offset,
DatItem_Inverted,
#endregion
#endregion // DatItem
}

View File

@@ -432,8 +432,8 @@ namespace SabreTools.Library.DatItems
if (mappings.Keys.Contains(Field.Machine_Control))
Control = mappings[Field.Machine_Control];
if (mappings.Keys.Contains(Field.Machine_SupportStatus))
Status = mappings[Field.Machine_SupportStatus];
if (mappings.Keys.Contains(Field.Machine_Status))
Status = mappings[Field.Machine_Status];
if (mappings.Keys.Contains(Field.Machine_DisplayCount))
DisplayCount = mappings[Field.Machine_DisplayCount];
@@ -454,34 +454,22 @@ namespace SabreTools.Library.DatItems
if (mappings.Keys.Contains(Field.Machine_Runnable))
Runnable = mappings[Field.Machine_Runnable].AsRunnable();
if (mappings.Keys.Contains(Field.Machine_DeviceReference_Name))
{
if (DeviceReferences == null)
DeviceReferences = new List<ListXmlDeviceReference>();
var devices = mappings[Field.Machine_DeviceReference_Name].Split(';').Select(d => new ListXmlDeviceReference() { Name = d, });
DeviceReferences.AddRange(devices);
}
// TODO: Add Field.Slot
if (mappings.Keys.Contains(Field.Machine_Infos))
{
if (Infos == null)
Infos = new List<SoftwareListInfo>();
string[] pairs = mappings[Field.Machine_Infos].Split(';');
foreach (string pair in pairs)
{
string[] split = pair.Split('=');
var infoObj = new SoftwareListInfo();
infoObj.Name = split[0];
infoObj.Value = split[1];
Infos.Add(infoObj);
}
}
// TODO: Add Machine_DeviceReference*
// TODO: Add Machine_Chip*
// TODO: Add Machine_Display*
// TODO: Add Machine_Sound*
// TODO: Add Machine_Condition*
// TODO: Add Machine_Input*
// TODO: Add Machine_DipSwitch*
// TODO: Add Machine_Configuration*
// TODO: Add Machine_Port*
// TODO: Add Machine_Adjuster*
// TODO: Add Machine_Driver*
// TODO: Add Machine_Feature*
// TODO: Add Machine_Device*
// TODO: Add Machine_Slot*
// TODO: Add Machine_SoftwareList*
// TODO: Add Machine_RamOption*
#endregion
@@ -544,31 +532,8 @@ namespace SabreTools.Library.DatItems
if (mappings.Keys.Contains(Field.Machine_Supported))
Supported = mappings[Field.Machine_Supported].AsSupported();
if (mappings.Keys.Contains(Field.Machine_SharedFeatures))
{
if (SharedFeatures == null)
SharedFeatures = new List<SoftwareListSharedFeature>();
string[] pairs = mappings[Field.Machine_SharedFeatures].Split(';');
foreach (string pair in pairs)
{
string[] split = pair.Split('=');
var sharedFeature = new SoftwareListSharedFeature();
sharedFeature.Name = split[0];
sharedFeature.Value = split[1];
SharedFeatures.Add(sharedFeature);
}
}
if (mappings.Keys.Contains(Field.Machine_DipSwitches))
{
if (DipSwitches == null)
DipSwitches = new List<ListXmlDipSwitch>();
// TODO: There's no way this will work... just create the new list for now
}
// TODO: Add Machine_Info*
// TODO: Add Machine_SharedFeature*
#endregion
}
@@ -1018,7 +983,7 @@ namespace SabreTools.Library.DatItems
if (fields.Contains(Field.Machine_Control))
Control = null;
if (fields.Contains(Field.Machine_SupportStatus))
if (fields.Contains(Field.Machine_Status))
Status = null;
if (fields.Contains(Field.Machine_DisplayCount))
@@ -1182,7 +1147,7 @@ namespace SabreTools.Library.DatItems
if (fields.Contains(Field.Machine_Control))
Control = machine.Control;
if (fields.Contains(Field.Machine_SupportStatus))
if (fields.Contains(Field.Machine_Status))
Status = machine.Status;
if (fields.Contains(Field.Machine_DisplayCount))

View File

@@ -53,17 +53,17 @@ namespace SabreTools.Library.DatItems
base.SetFields(mappings);
// Handle Release-specific fields
if (mappings.Keys.Contains(Field.Region))
Region = mappings[Field.Region];
if (mappings.Keys.Contains(Field.DatItem_Region))
Region = mappings[Field.DatItem_Region];
if (mappings.Keys.Contains(Field.Language))
Language = mappings[Field.Language];
if (mappings.Keys.Contains(Field.DatItem_Language))
Language = mappings[Field.DatItem_Language];
if (mappings.Keys.Contains(Field.Date))
Date = mappings[Field.Date];
if (mappings.Keys.Contains(Field.DatItem_Date))
Date = mappings[Field.DatItem_Date];
if (mappings.Keys.Contains(Field.Default))
Default = mappings[Field.Default].AsYesNo();
if (mappings.Keys.Contains(Field.DatItem_Default))
Default = mappings[Field.DatItem_Default].AsYesNo();
}
#endregion
@@ -195,16 +195,16 @@ namespace SabreTools.Library.DatItems
base.RemoveFields(fields);
// Remove the fields
if (fields.Contains(Field.Region))
if (fields.Contains(Field.DatItem_Region))
Region = null;
if (fields.Contains(Field.Language))
if (fields.Contains(Field.DatItem_Language))
Language = null;
if (fields.Contains(Field.Date))
if (fields.Contains(Field.DatItem_Date))
Date = null;
if (fields.Contains(Field.Default))
if (fields.Contains(Field.DatItem_Default))
Default = null;
}
@@ -230,16 +230,16 @@ namespace SabreTools.Library.DatItems
Release newItem = item as Release;
// Replace the fields
if (fields.Contains(Field.Region))
if (fields.Contains(Field.DatItem_Region))
Region = newItem.Region;
if (fields.Contains(Field.Language))
if (fields.Contains(Field.DatItem_Language))
Language = newItem.Language;
if (fields.Contains(Field.Date))
if (fields.Contains(Field.DatItem_Date))
Date = newItem.Date;
if (fields.Contains(Field.Default))
if (fields.Contains(Field.DatItem_Default))
Default = newItem.Default;
}

View File

@@ -174,58 +174,58 @@ namespace SabreTools.Library.DatItems
base.SetFields(mappings);
// Handle Rom-specific fields
if (mappings.Keys.Contains(Field.Bios))
Bios = mappings[Field.Bios];
if (mappings.Keys.Contains(Field.DatItem_Bios))
Bios = mappings[Field.DatItem_Bios];
if (mappings.Keys.Contains(Field.Size))
if (mappings.Keys.Contains(Field.DatItem_Size))
{
if (Int64.TryParse(mappings[Field.Size], out long size))
if (Int64.TryParse(mappings[Field.DatItem_Size], out long size))
Size = size;
}
if (mappings.Keys.Contains(Field.CRC))
CRC = mappings[Field.CRC];
if (mappings.Keys.Contains(Field.DatItem_CRC))
CRC = mappings[Field.DatItem_CRC];
if (mappings.Keys.Contains(Field.MD5))
MD5 = mappings[Field.MD5];
if (mappings.Keys.Contains(Field.DatItem_MD5))
MD5 = mappings[Field.DatItem_MD5];
#if NET_FRAMEWORK
if (mappings.Keys.Contains(Field.RIPEMD160))
RIPEMD160 = mappings[Field.RIPEMD160];
if (mappings.Keys.Contains(Field.DatItem_RIPEMD160))
RIPEMD160 = mappings[Field.DatItem_RIPEMD160];
#endif
if (mappings.Keys.Contains(Field.SHA1))
SHA1 = mappings[Field.SHA1];
if (mappings.Keys.Contains(Field.DatItem_SHA1))
SHA1 = mappings[Field.DatItem_SHA1];
if (mappings.Keys.Contains(Field.SHA256))
SHA256 = mappings[Field.SHA256];
if (mappings.Keys.Contains(Field.DatItem_SHA256))
SHA256 = mappings[Field.DatItem_SHA256];
if (mappings.Keys.Contains(Field.SHA384))
SHA384 = mappings[Field.SHA384];
if (mappings.Keys.Contains(Field.DatItem_SHA384))
SHA384 = mappings[Field.DatItem_SHA384];
if (mappings.Keys.Contains(Field.SHA512))
SHA512 = mappings[Field.SHA512];
if (mappings.Keys.Contains(Field.DatItem_SHA512))
SHA512 = mappings[Field.DatItem_SHA512];
if (mappings.Keys.Contains(Field.Merge))
MergeTag = mappings[Field.Merge];
if (mappings.Keys.Contains(Field.DatItem_Merge))
MergeTag = mappings[Field.DatItem_Merge];
if (mappings.Keys.Contains(Field.Region))
Region = mappings[Field.Region];
if (mappings.Keys.Contains(Field.DatItem_Region))
Region = mappings[Field.DatItem_Region];
if (mappings.Keys.Contains(Field.Offset))
Offset = mappings[Field.Offset];
if (mappings.Keys.Contains(Field.DatItem_Offset))
Offset = mappings[Field.DatItem_Offset];
if (mappings.Keys.Contains(Field.Date))
Date = mappings[Field.Date];
if (mappings.Keys.Contains(Field.DatItem_Date))
Date = mappings[Field.DatItem_Date];
if (mappings.Keys.Contains(Field.Status))
ItemStatus = mappings[Field.Status].AsItemStatus();
if (mappings.Keys.Contains(Field.DatItem_Status))
ItemStatus = mappings[Field.DatItem_Status].AsItemStatus();
if (mappings.Keys.Contains(Field.Optional))
Optional = mappings[Field.Optional].AsYesNo();
if (mappings.Keys.Contains(Field.DatItem_Optional))
Optional = mappings[Field.DatItem_Optional].AsYesNo();
if (mappings.Keys.Contains(Field.Inverted))
Inverted = mappings[Field.Optional].AsYesNo();
if (mappings.Keys.Contains(Field.DatItem_Inverted))
Inverted = mappings[Field.DatItem_Optional].AsYesNo();
}
#endregion
@@ -621,54 +621,54 @@ namespace SabreTools.Library.DatItems
base.RemoveFields(fields);
// Remove the fields
if (fields.Contains(Field.Bios))
if (fields.Contains(Field.DatItem_Bios))
Bios = null;
if (fields.Contains(Field.Size))
if (fields.Contains(Field.DatItem_Size))
Size = 0;
if (fields.Contains(Field.CRC))
if (fields.Contains(Field.DatItem_CRC))
CRC = null;
if (fields.Contains(Field.MD5))
if (fields.Contains(Field.DatItem_MD5))
MD5 = null;
#if NET_FRAMEWORK
if (fields.Contains(Field.RIPEMD160))
if (fields.Contains(Field.DatItem_RIPEMD160))
RIPEMD160 = null;
#endif
if (fields.Contains(Field.SHA1))
if (fields.Contains(Field.DatItem_SHA1))
SHA1 = null;
if (fields.Contains(Field.SHA256))
if (fields.Contains(Field.DatItem_SHA256))
SHA256 = null;
if (fields.Contains(Field.SHA384))
if (fields.Contains(Field.DatItem_SHA384))
SHA384 = null;
if (fields.Contains(Field.SHA512))
if (fields.Contains(Field.DatItem_SHA512))
SHA512 = null;
if (fields.Contains(Field.Merge))
if (fields.Contains(Field.DatItem_Merge))
MergeTag = null;
if (fields.Contains(Field.Region))
if (fields.Contains(Field.DatItem_Region))
Region = null;
if (fields.Contains(Field.Offset))
if (fields.Contains(Field.DatItem_Offset))
Offset = null;
if (fields.Contains(Field.Date))
if (fields.Contains(Field.DatItem_Date))
Date = null;
if (fields.Contains(Field.Status))
if (fields.Contains(Field.DatItem_Status))
ItemStatus = ItemStatus.NULL;
if (fields.Contains(Field.Optional))
if (fields.Contains(Field.DatItem_Optional))
Optional = null;
if (fields.Contains(Field.Inverted))
if (fields.Contains(Field.DatItem_Inverted))
Inverted = null;
}
@@ -691,33 +691,33 @@ namespace SabreTools.Library.DatItems
// Now determine what the key should be based on the bucketedBy value
switch (bucketedBy)
{
case Field.CRC:
case Field.DatItem_CRC:
key = CRC;
break;
case Field.MD5:
case Field.DatItem_MD5:
key = MD5;
break;
#if NET_FRAMEWORK
case Field.RIPEMD160:
case Field.DatItem_RIPEMD160:
key = RIPEMD160;
break;
#endif
case Field.SHA1:
case Field.DatItem_SHA1:
key = SHA1;
break;
case Field.SHA256:
case Field.DatItem_SHA256:
key = SHA256;
break;
case Field.SHA384:
case Field.DatItem_SHA384:
key = SHA384;
break;
case Field.SHA512:
case Field.DatItem_SHA512:
key = SHA512;
break;
@@ -751,75 +751,75 @@ namespace SabreTools.Library.DatItems
Rom newItem = item as Rom;
// Replace the fields
if (fields.Contains(Field.Bios))
if (fields.Contains(Field.DatItem_Bios))
Bios = newItem.Bios;
if (fields.Contains(Field.Size))
if (fields.Contains(Field.DatItem_Size))
Size = newItem.Size;
if (fields.Contains(Field.CRC))
if (fields.Contains(Field.DatItem_CRC))
{
if (string.IsNullOrEmpty(CRC) && !string.IsNullOrEmpty(newItem.CRC))
CRC = newItem.CRC;
}
if (fields.Contains(Field.MD5))
if (fields.Contains(Field.DatItem_MD5))
{
if (string.IsNullOrEmpty(MD5) && !string.IsNullOrEmpty(newItem.MD5))
MD5 = newItem.MD5;
}
#if NET_FRAMEWORK
if (fields.Contains(Field.RIPEMD160))
if (fields.Contains(Field.DatItem_RIPEMD160))
{
if (string.IsNullOrEmpty(RIPEMD160) && !string.IsNullOrEmpty(newItem.RIPEMD160))
RIPEMD160 = newItem.RIPEMD160;
}
#endif
if (fields.Contains(Field.SHA1))
if (fields.Contains(Field.DatItem_SHA1))
{
if (string.IsNullOrEmpty(SHA1) && !string.IsNullOrEmpty(newItem.SHA1))
SHA1 = newItem.SHA1;
}
if (fields.Contains(Field.SHA256))
if (fields.Contains(Field.DatItem_SHA256))
{
if (string.IsNullOrEmpty(SHA256) && !string.IsNullOrEmpty(newItem.SHA256))
SHA256 = newItem.SHA256;
}
if (fields.Contains(Field.SHA384))
if (fields.Contains(Field.DatItem_SHA384))
{
if (string.IsNullOrEmpty(SHA384) && !string.IsNullOrEmpty(newItem.SHA384))
SHA384 = newItem.SHA384;
}
if (fields.Contains(Field.SHA512))
if (fields.Contains(Field.DatItem_SHA512))
{
if (string.IsNullOrEmpty(SHA512) && !string.IsNullOrEmpty(newItem.SHA512))
SHA512 = newItem.SHA512;
}
if (fields.Contains(Field.Merge))
if (fields.Contains(Field.DatItem_Merge))
MergeTag = newItem.MergeTag;
if (fields.Contains(Field.Region))
if (fields.Contains(Field.DatItem_Region))
Region = newItem.Region;
if (fields.Contains(Field.Offset))
if (fields.Contains(Field.DatItem_Offset))
Offset = newItem.Offset;
if (fields.Contains(Field.Date))
if (fields.Contains(Field.DatItem_Date))
Date = newItem.Date;
if (fields.Contains(Field.Status))
if (fields.Contains(Field.DatItem_Status))
ItemStatus = newItem.ItemStatus;
if (fields.Contains(Field.Optional))
if (fields.Contains(Field.DatItem_Optional))
Optional = newItem.Optional;
if (fields.Contains(Field.Inverted))
if (fields.Contains(Field.DatItem_Inverted))
Inverted = newItem.Inverted;
}