diff --git a/SabreTools.Library/DatFiles/SeparatedValue.cs b/SabreTools.Library/DatFiles/SeparatedValue.cs
index 6fe5d7c0..a5874042 100644
--- a/SabreTools.Library/DatFiles/SeparatedValue.cs
+++ b/SabreTools.Library/DatFiles/SeparatedValue.cs
@@ -101,311 +101,6 @@ namespace SabreTools.Library.DatFiles
}
}
- ///
- /// Get normalized header value for a given separated value header field
- ///
- private string GetNormalizedHeader(string header)
- {
- switch (header.ToLowerInvariant())
- {
- #region Machine
-
- #region Logiqx
-
- case "board":
- return "Machine.Board";
-
- case "rebuildto":
- case "rebuild to":
- case "rebuild-to":
- return "Machine.RebuildTo";
-
- #endregion
-
- #region Logiqx EmuArc
-
- case "titleid":
- case "title id":
- case "title-id":
- return "Machine.TitleID";
-
- case "developer":
- return "Machine.Developer";
-
- case "genre":
- return "Machine.Genre";
-
- case "subgenre":
- return "Machine.Subgenre";
-
- case "ratings":
- return "Machine.Ratings";
-
- case "score":
- return "Machine.Score";
-
- case "enabled":
- return "Machine.Enabled";
-
- case "hascrc":
- case "has crc":
- case "has-crc":
- return "Machine.HasCrc";
-
- case "relatedto":
- case "related to":
- case "related-to":
- return "Machine.RelatedTo";
-
- #endregion
-
- #region OpenMSX
-
- case "genmsxid":
- case "genmsx id":
- case "genmsx-id":
- case "gen msx id":
- case "gen-msx-id":
- return "Machine.GenMSXID";
-
- case "msxsystem":
- case "msx system":
- case "msx-system":
- return "Machine.System";
-
- case "country":
- return "Machine.Country";
-
- #endregion
-
- #region SoftwareList
-
- case "supported":
- return "Machine.Supported";
-
- case "sharedfeat":
- case "shared feat":
- case "shared-feat":
- case "sharedfeature":
- case "shared feature":
- case "shared-feature":
- case "sharedfeatures":
- case "shared features":
- case "shared-features":
- return "Machine.SharedFeatures";
- case "dipswitch":
- case "dip switch":
- case "dip-switch":
- case "dipswitches":
- case "dip switches":
- case "dip-switches":
- return "Machine.DipSwitches";
-
- #endregion
-
- #endregion // Machine
-
- #region DatItem
-
- #region Common
-
- case "itemtype":
- case "item type":
- case "type":
- return "DatItem.Type";
-
- case "disk":
- case "diskname":
- case "disk name":
- case "item":
- case "itemname":
- case "item name":
- case "name":
- case "rom":
- case "romname":
- case "rom name":
- return "DatItem.Name";
-
- #endregion
-
- #region AttractMode
-
- case "altname":
- case "alt name":
- case "alt-name":
- case "altromname":
- case "alt romname":
- case "alt-romname":
- return "DatItem.AltName";
-
- case "alttitle":
- case "alt title":
- case "alt-title":
- case "altromtitle":
- case "alt romtitle":
- case "alt-romtitle":
- return "DatItem.AltTitle";
-
- #endregion
-
- #region OpenMSX
-
- case "original":
- return "DatItem.Original";
- case "subtype":
- case "sub type":
- case "sub-type":
- case "openmsx_subtype":
- return "DatItem.OpenMSXSubType";
- case "openmsx_type":
- return "DatItem.OpenMSXType";
- case "remark":
- return "DatItem.Remark";
- case "boot":
- return "DatItem.Boot";
-
- #endregion
-
- #region SoftwareList
-
- case "partname":
- case "part name":
- case "part-name":
- return "DatItem.PartName";
-
- case "partinterface":
- case "part interface":
- case "part-interface":
- return "DatItem.PartInterface";
-
- case "features":
- return "DatItem.Features";
-
- case "areaname":
- case "area name":
- case "area-name":
- return "DatItem.AreaName";
-
- case "areasize":
- case "area size":
- case "area-size":
- return "DatItem.AreaSize";
-
- case "areawidth":
- case "area width":
- case "area-width":
- return "DatItem.AreaWidth";
-
- case "areaendinanness":
- case "area endianness":
- case "area-endianness":
- return "DatItem.AreaEndianness";
-
- case "value":
- return "DatItem.Value";
-
- case "loadflag":
- case "load flag":
- case "load-flag":
- return "DatItem.LoadFlag";
-
- #endregion
-
- case "default":
- return "DatItem.Default";
-
- case "biosdescription":
- case "bios description":
- return "DatItem.Description";
-
- case "itemsize":
- case "item size":
- case "size":
- return "DatItem.Size";
-
- case "crc":
- case "crc hash":
- return "DatItem.CRC";
-
- case "md5":
- case "md5 hash":
- return "DatItem.MD5";
-
- case "ripemd":
- case "ripemd160":
- case "ripemd hash":
- case "ripemd160 hash":
- return "DatItem.RIPEMD160";
-
- case "sha1":
- case "sha-1":
- case "sha1 hash":
- case "sha-1 hash":
- return "DatItem.SHA1";
-
- case "sha256":
- case "sha-256":
- case "sha256 hash":
- case "sha-256 hash":
- return "DatItem.SHA256";
-
- case "sha384":
- case "sha-384":
- case "sha384 hash":
- case "sha-384 hash":
- return "DatItem.SHA384";
-
- case "sha512":
- case "sha-512":
- case "sha512 hash":
- case "sha-512 hash":
- return "DatItem.SHA512";
-
- case "merge":
- case "mergetag":
- case "merge tag":
- return "DatItem.Merge";
-
- case "region":
- return "DatItem.Region";
-
- case "index":
- return "DatItem.Index";
-
- case "writable":
- return "DatItem.Writable";
-
- case "optional":
- return "DatItem.Optional";
-
- case "nodump":
- case "no dump":
- case "status":
- case "item status":
- return "DatItem.Status";
-
- case "language":
- return "DatItem.Language";
-
- case "date":
- return "DatItem.Date";
-
- case "bios":
- return "DatItem.Bios";
-
- case "offset":
- return "DatItem.Offset";
-
- case "inverted":
- return "DatItem.Inverted";
-
- #endregion // DatItem
-
- default:
- return "INVALID";
- }
- }
-
///
/// Create and open an output file for writing direct from a dictionary
///
diff --git a/SabreTools.Library/DatItems/DatItem.cs b/SabreTools.Library/DatItems/DatItem.cs
index 8f492764..a415d8ac 100644
--- a/SabreTools.Library/DatItems/DatItem.cs
+++ b/SabreTools.Library/DatItems/DatItem.cs
@@ -291,7 +291,7 @@ namespace SabreTools.Library.DatItems
Field.Machine_Ratings,
Field.Machine_Score,
Field.Machine_Enabled,
- Field.Machine_HasCrc,
+ Field.Machine_CRC,
Field.Machine_RelatedTo,
// OpenMSX
diff --git a/SabreTools.Library/DatItems/Enums.cs b/SabreTools.Library/DatItems/Enums.cs
index 8782710e..6608bfdd 100644
--- a/SabreTools.Library/DatItems/Enums.cs
+++ b/SabreTools.Library/DatItems/Enums.cs
@@ -170,25 +170,25 @@ namespace SabreTools.Library.DatItems
// Inputs
Machine_Inputs, // TODO: Implement Inputs usage
- Machine_InputService,
- Machine_InputTilt,
- Machine_InputPlayers,
- Machine_InputCoins,
+ Machine_Input_Service,
+ Machine_Input_Tilt,
+ Machine_Input_Players,
+ Machine_Input_Coins,
// Inputs.Controls
- Machine_InputControls,
- Machine_InputControl_Type,
- Machine_InputControl_Player,
- Machine_InputControl_Buttons,
- Machine_InputControl_RegButtons,
- Machine_InputControl_Minimum,
- Machine_InputControl_Maximum,
- Machine_InputControl_Sensitivity,
- Machine_InputControl_KeyDelta,
- Machine_InputControl_Reverse,
- Machine_InputControl_Ways,
- Machine_InputControl_Ways2,
- Machine_InputControl_Ways3,
+ Machine_Input_Controls,
+ Machine_Input_Control_Type,
+ Machine_Input_Control_Player,
+ Machine_Input_Control_Buttons,
+ Machine_Input_Control_RegButtons,
+ Machine_Input_Control_Minimum,
+ Machine_Input_Control_Maximum,
+ Machine_Input_Control_Sensitivity,
+ Machine_Input_Control_KeyDelta,
+ Machine_Input_Control_Reverse,
+ Machine_Input_Control_Ways,
+ Machine_Input_Control_Ways2,
+ Machine_Input_Control_Ways3,
// DipSwitches
Machine_DipSwitches, // TODO: Implement DipSwitches usage
@@ -228,11 +228,11 @@ namespace SabreTools.Library.DatItems
// Ports
Machine_Ports, // TODO: Implement Ports usage
- Machine_Ports_Tag,
+ Machine_Port_Tag,
// Ports.Analogs
- Machine_Ports_Analogs,
- Machine_Ports_Analog_Mask,
+ Machine_Port_Analogs,
+ Machine_Port_Analog_Mask,
// Adjusters
Machine_Adjusters, // TODO: Implement Adjusters usage
@@ -314,7 +314,7 @@ namespace SabreTools.Library.DatItems
Machine_Ratings,
Machine_Score,
Machine_Enabled,
- Machine_HasCrc,
+ Machine_CRC,
Machine_RelatedTo,
#endregion
diff --git a/SabreTools.Library/DatItems/Machine.cs b/SabreTools.Library/DatItems/Machine.cs
index 43eb9231..ec39ef65 100644
--- a/SabreTools.Library/DatItems/Machine.cs
+++ b/SabreTools.Library/DatItems/Machine.cs
@@ -506,8 +506,8 @@ namespace SabreTools.Library.DatItems
if (mappings.Keys.Contains(Field.Machine_Enabled))
Enabled = mappings[Field.Machine_Enabled];
- if (mappings.Keys.Contains(Field.Machine_HasCrc))
- HasCrc = mappings[Field.Machine_HasCrc].AsYesNo();
+ if (mappings.Keys.Contains(Field.Machine_CRC))
+ HasCrc = mappings[Field.Machine_CRC].AsYesNo();
if (mappings.Keys.Contains(Field.Machine_RelatedTo))
RelatedTo = mappings[Field.Machine_RelatedTo];
@@ -1049,7 +1049,7 @@ namespace SabreTools.Library.DatItems
if (fields.Contains(Field.Machine_Enabled))
Enabled = null;
- if (fields.Contains(Field.Machine_HasCrc))
+ if (fields.Contains(Field.Machine_CRC))
HasCrc = null;
if (fields.Contains(Field.Machine_RelatedTo))
@@ -1213,7 +1213,7 @@ namespace SabreTools.Library.DatItems
if (fields.Contains(Field.Machine_Enabled))
Enabled = machine.Enabled;
- if (fields.Contains(Field.Machine_HasCrc))
+ if (fields.Contains(Field.Machine_CRC))
HasCrc = machine.HasCrc;
if (fields.Contains(Field.Machine_RelatedTo))
diff --git a/SabreTools.Library/Filtering/Filter.cs b/SabreTools.Library/Filtering/Filter.cs
index b5699c9c..a1dfad37 100644
--- a/SabreTools.Library/Filtering/Filter.cs
+++ b/SabreTools.Library/Filtering/Filter.cs
@@ -795,7 +795,7 @@ namespace SabreTools.Library.Filtering
Enabled.PositiveSet.Add(value);
break;
- case Field.Machine_HasCrc:
+ case Field.Machine_CRC:
if (negate || value.Equals("false", StringComparison.OrdinalIgnoreCase))
HasCrc.Neutral = false;
else
diff --git a/SabreTools.Library/Tools/Converters.cs b/SabreTools.Library/Tools/Converters.cs
index 1fcb54f0..de9f8a5b 100644
--- a/SabreTools.Library/Tools/Converters.cs
+++ b/SabreTools.Library/Tools/Converters.cs
@@ -413,7 +413,6 @@ namespace SabreTools.Library.Tools
return Field.Machine_Status;
case "displaycount":
- case "displays":
return Field.Machine_DisplayCount;
case "displaytype":
@@ -456,7 +455,421 @@ namespace SabreTools.Library.Tools
case "chip_clock":
return Field.Machine_Chip_Clock;
- #endregion
+ case "displays":
+ return Field.Machine_Displays;
+
+ case "display_tag":
+ return Field.Machine_Display_Tag;
+
+ case "display_type":
+ return Field.Machine_Display_Type;
+
+ case "display_rotate":
+ return Field.Machine_Display_Rotate;
+
+ case "display_flipx":
+ return Field.Machine_Display_FlipX;
+
+ case "display_width":
+ return Field.Machine_Display_Width;
+
+ case "display_height":
+ return Field.Machine_Display_Height;
+
+ case "display_refresh":
+ return Field.Machine_Display_Refresh;
+
+ case "display_pixclock":
+ return Field.Machine_Display_PixClock;
+
+ case "display_htotal":
+ return Field.Machine_Display_HTotal;
+
+ case "display_hbend":
+ return Field.Machine_Display_HBEnd;
+
+ case "display_hbstart":
+ return Field.Machine_Display_HBStart;
+
+ case "display_vtotal":
+ return Field.Machine_Display_VTotal;
+
+ case "display_vbend":
+ return Field.Machine_Display_VBEnd;
+
+ case "display_vbstart":
+ return Field.Machine_Display_VBStart;
+
+ case "sounds":
+ return Field.Machine_Sounds;
+
+ case "sound_channels":
+ return Field.Machine_Sound_Channels;
+
+ case "conditions":
+ return Field.Machine_Conditions;
+
+ case "condition_tag":
+ return Field.Machine_Condition_Tag;
+
+ case "condition_mask":
+ return Field.Machine_Condition_Mask;
+
+ case "condition_relation":
+ return Field.Machine_Condition_Relation;
+
+ case "condition_value":
+ return Field.Machine_Condition_Value;
+
+ case "inputs":
+ return Field.Machine_Inputs;
+
+ case "input_service":
+ return Field.Machine_Input_Service;
+
+ case "input_tilt":
+ return Field.Machine_Input_Tilt;
+
+ case "input_players":
+ return Field.Machine_Input_Players;
+
+ case "input_coins":
+ return Field.Machine_Input_Coins;
+
+ case "input_controls":
+ return Field.Machine_Input_Controls;
+
+ case "input_control_type":
+ return Field.Machine_Input_Control_Type;
+
+ case "input_control_player":
+ return Field.Machine_Input_Control_Player;
+
+ case "input_control_buttons":
+ return Field.Machine_Input_Control_Buttons;
+
+ case "input_control_regbuttons":
+ return Field.Machine_Input_Control_RegButtons;
+
+ case "input_control_minimum":
+ return Field.Machine_Input_Control_Minimum;
+
+ case "input_control_maximum":
+ return Field.Machine_Input_Control_Maximum;
+
+ case "input_control_sensitivity":
+ return Field.Machine_Input_Control_Sensitivity;
+
+ case "input_control_keydelta":
+ return Field.Machine_Input_Control_KeyDelta;
+
+ case "input_control_reverse":
+ return Field.Machine_Input_Control_Reverse;
+
+ case "input_control_ways":
+ return Field.Machine_Input_Control_Ways;
+
+ case "input_control_ways2":
+ return Field.Machine_Input_Control_Ways2;
+
+ case "input_control_ways3":
+ return Field.Machine_Input_Control_Ways3;
+
+ case "dipswitches":
+ return Field.Machine_DipSwitches;
+
+ case "dipswitch_name":
+ return Field.Machine_DipSwitch_Name;
+
+ case "dipswitch_tag":
+ return Field.Machine_DipSwitch_Tag;
+
+ case "dipswitch_mask":
+ return Field.Machine_DipSwitch_Mask;
+
+ case "dipswitch_locations":
+ return Field.Machine_DipSwitch_Locations;
+
+ case "dipswitch_location_name":
+ return Field.Machine_DipSwitch_Location_Name;
+
+ case "dipswitch_location_number":
+ return Field.Machine_DipSwitch_Location_Number;
+
+ case "dipswitch_location_inverted":
+ return Field.Machine_DipSwitch_Location_Inverted;
+
+ case "dipswitch_values":
+ return Field.Machine_DipSwitch_Values;
+
+ case "dipswitch_value_name":
+ return Field.Machine_DipSwitch_Value_Name;
+
+ case "dipswitch_value_value":
+ return Field.Machine_DipSwitch_Value_Value;
+
+ case "dipswitch_value_default":
+ return Field.Machine_DipSwitch_Value_Default;
+
+ case "configurations":
+ return Field.Machine_Configurations;
+
+ case "configuration_name":
+ return Field.Machine_Configuration_Name;
+
+ case "configuration_tag":
+ return Field.Machine_Configuration_Tag;
+
+ case "configuration_mask":
+ return Field.Machine_Configuration_Mask;
+
+ case "configuration_locations":
+ return Field.Machine_Configuration_Locations;
+
+ case "configuration_location_name":
+ return Field.Machine_Configuration_Location_Name;
+
+ case "configuration_location_number":
+ return Field.Machine_Configuration_Location_Number;
+
+ case "configuration_location_inverted":
+ return Field.Machine_Configuration_Location_Inverted;
+
+ case "configuration_settings":
+ return Field.Machine_Configuration_Settings;
+
+ case "configuration_setting_name":
+ return Field.Machine_Configuration_Setting_Name;
+
+ case "configuration_setting_value":
+ return Field.Machine_Configuration_Setting_Value;
+
+ case "configuration_setting_default":
+ return Field.Machine_Configuration_Setting_Default;
+
+ case "ports":
+ return Field.Machine_Ports;
+
+ case "port_tag":
+ return Field.Machine_Port_Tag;
+
+ case "port_analogs":
+ return Field.Machine_Port_Analogs;
+
+ case "port_analog_mask":
+ return Field.Machine_Port_Analog_Mask;
+
+ case "adjusters":
+ return Field.Machine_Adjusters;
+
+ case "adjuster_name":
+ return Field.Machine_Adjuster_Name;
+
+ case "adjuster_default":
+ return Field.Machine_Adjuster_Default;
+
+ case "adjuster_conditions":
+ return Field.Machine_Adjuster_Conditions;
+
+ case "adjuster_condition_tag":
+ return Field.Machine_Adjuster_Condition_Tag;
+
+ case "adjuster_condition_mask":
+ return Field.Machine_Adjuster_Condition_Mask;
+
+ case "adjuster_condition_relation":
+ return Field.Machine_Adjuster_Condition_Relation;
+
+ case "adjuster_condition_value":
+ return Field.Machine_Adjuster_Condition_Value;
+
+ case "drivers":
+ return Field.Machine_Drivers;
+
+ case "driver_status":
+ return Field.Machine_Driver_Status;
+
+ case "driver_emulation":
+ return Field.Machine_Driver_Emulation;
+
+ case "driver_cocktail":
+ return Field.Machine_Driver_Cocktail;
+
+ case "driver_savestate":
+ return Field.Machine_Driver_SaveState;
+
+ case "features":
+ return Field.Machine_Features;
+
+ case "feature_type":
+ return Field.Machine_Feature_Type;
+
+ case "feature_status":
+ return Field.Machine_Feature_Status;
+
+ case "feature_overall":
+ return Field.Machine_Feature_Overall;
+
+ case "devices":
+ return Field.Machine_Devices;
+
+ case "device_type":
+ return Field.Machine_Device_Type;
+
+ case "device_tag":
+ return Field.Machine_Device_Tag;
+
+ case "device_fixedimage":
+ return Field.Machine_Device_FixedImage;
+
+ case "device_mandatory":
+ return Field.Machine_Device_Mandatory;
+
+ case "device_interface":
+ return Field.Machine_Device_Interface;
+
+ case "device_instances":
+ return Field.Machine_Device_Instances;
+
+ case "device_instance_name":
+ return Field.Machine_Device_Instance_Name;
+
+ case "device_instance_briefname":
+ return Field.Machine_Device_Instance_BriefName;
+
+ case "device_extensions":
+ return Field.Machine_Device_Extensions;
+
+ case "device_extension_name":
+ return Field.Machine_Device_Extension_Name;
+
+ case "slots":
+ return Field.Machine_Slots;
+
+ case "slot_name":
+ return Field.Machine_Slot_Name;
+
+ case "slot_slotoptions":
+ return Field.Machine_Slot_SlotOptions;
+
+ case "slot_slotoption_name":
+ return Field.Machine_Slot_SlotOption_Name;
+
+ case "slot_slotoption_devicename":
+ return Field.Machine_Slot_SlotOption_DeviceName;
+
+ case "slot_slotoption_default":
+ return Field.Machine_Slot_SlotOption_Default;
+
+ case "softwarelists":
+ return Field.Machine_SoftwareLists;
+
+ case "softwarelist_name":
+ return Field.Machine_SoftwareList_Name;
+
+ case "softwarelist_status":
+ return Field.Machine_SoftwareList_Status;
+
+ case "softwarelist_filter":
+ return Field.Machine_SoftwareList_Filter;
+
+ case "ramoptions":
+ return Field.Machine_RamOptions;
+
+ case "ramoption_default":
+ return Field.Machine_RamOption_Default;
+
+ #endregion
+
+ #region Logiqx
+
+ case "board":
+ return Field.Machine_Board;
+
+ case "rebuildto":
+ case "rebuild_to":
+ return Field.Machine_RebuildTo;
+
+ #endregion
+
+ #region Logiqx EmuArc
+
+ case "titleid":
+ case "title_id":
+ return Field.Machine_TitleID;
+
+ case "developer":
+ return Field.Machine_Developer;
+
+ case "genre":
+ return Field.Machine_Genre;
+
+ case "subgenre":
+ case "sub_genre":
+ return Field.Machine_Subgenre;
+
+ case "ratings":
+ return Field.Machine_Ratings;
+
+ case "score":
+ return Field.Machine_Score;
+
+ case "enabled":
+ return Field.Machine_Enabled;
+
+ case "crc":
+ case "hascrc":
+ case "has_crc":
+ return Field.Machine_CRC;
+
+ case "relatedto":
+ case "related_to":
+ return Field.Machine_RelatedTo;
+
+ #endregion
+
+ #region OpenMSX
+
+ case "genmsxid":
+ case "genmsx_id":
+ case "gen_msxid":
+ case "gen_msx_id":
+ return Field.Machine_GenMSXID;
+
+ case "system":
+ case "msxsystem":
+ case "msx_system":
+ return Field.Machine_System;
+
+ case "country":
+ return Field.Machine_Country;
+
+ #endregion
+
+ #region SoftwareList
+
+ case "supported":
+ return Field.Machine_Supported;
+
+ case "infos":
+ return Field.Machine_Infos;
+
+ case "info_name":
+ return Field.Machine_Info_Name;
+
+ case "info_value":
+ return Field.Machine_Info_Value;
+
+ case "sharedfeatures":
+ return Field.Machine_SharedFeatures;
+
+ case "sharedfeature_name":
+ return Field.Machine_SharedFeature_Name;
+
+ case "sharedfeature_value":
+ return Field.Machine_SharedFeature_Value;
+
+ #endregion
}
}
@@ -473,12 +886,206 @@ namespace SabreTools.Library.Tools
{
#region Common
+ case "name":
+ return Field.DatItem_Name;
+
+ case "type":
+ return Field.DatItem_Type;
+
+ #endregion
+
+ #region AttractMode
+
+ case "altname":
+ case "alt name":
+ case "alt-name":
+ case "altromname":
+ case "alt romname":
+ case "alt-romname":
+ return Field.DatItem_AltName;
+
+ case "alttitle":
+ case "alt title":
+ case "alt-title":
+ case "altromtitle":
+ case "alt romtitle":
+ case "alt-romtitle":
+ return Field.DatItem_AltTitle;
+
+ #endregion
+
+ #region OpenMSX
+
+ case "original":
+ return Field.DatItem_Original;
+
+ case "subtype":
+ case "sub_type":
+ case "openmsxsubtype":
+ case "openmsx_subtype":
+ return Field.DatItem_OpenMSXSubType;
+
+ case "openmsxtype":
+ case "openmsx_type":
+ return Field.DatItem_OpenMSXType;
+
+ case "remark":
+ return Field.DatItem_Remark;
+
+ case "boot":
+ return Field.DatItem_Boot;
+
+ #endregion
+
+ #region SoftwareList
+
+ case "part":
+ return Field.DatItem_Part;
+
+ case "partname":
+ case "part_name":
+ return Field.DatItem_Part_Name;
+
+ case "partinterface":
+ case "part_interface":
+ return Field.DatItem_Part_Interface;
+
+ case "features":
+ return Field.DatItem_Features;
+
+ case "feature_name":
+ return Field.DatItem_Feature_Name;
+
+ case "feature_value":
+ return Field.DatItem_Feature_Value;
+
+ case "areaname":
+ case "area_name":
+ return Field.DatItem_AreaName;
+
+ case "areasize":
+ case "area_size":
+ return Field.DatItem_AreaSize;
+
+ case "areawidth":
+ case "area_width":
+ return Field.DatItem_AreaWidth;
+
+ case "areaendinanness":
+ case "area_endianness":
+ return Field.DatItem_AreaEndianness;
+
+ case "value":
+ return Field.DatItem_Value;
+
+ case "loadflag":
+ case "load_flag":
+ return Field.DatItem_LoadFlag;
+
+ #endregion
+
+ #region Item-Specific
+
+ // BiosSet
+ case "default":
+ return Field.DatItem_Default;
+
+ case "description":
+ case "biosdescription":
+ case "bios_description":
+ return Field.DatItem_Description;
+
+ // Disk
+ case "md5":
+ case "md5_hash":
+ return Field.DatItem_MD5;
+#if NET_FRAMEWORK
+ case "ripemd160":
+ case "ripemd160_hash":
+ return Field.DatItem_RIPEMD160;
+#endif
+ case "sha1":
+ case "sha_1":
+ case "sha1hash":
+ case "sha1_hash":
+ case "sha_1hash":
+ case "sha_1_hash":
+ return Field.DatItem_SHA1;
+
+ case "sha256":
+ case "sha_256":
+ case "sha256hash":
+ case "sha256_hash":
+ case "sha_256hash":
+ case "sha_256_hash":
+ return Field.DatItem_SHA256;
+
+ case "sha384":
+ case "sha_384":
+ case "sha384hash":
+ case "sha384_hash":
+ case "sha_384hash":
+ case "sha_384_hash":
+ return Field.DatItem_SHA384;
+
+ case "sha512":
+ case "sha_512":
+ case "sha512hash":
+ case "sha512_hash":
+ case "sha_512hash":
+ case "sha_512_hash":
+ return Field.DatItem_SHA512;
+
+ case "merge":
+ case "mergetag":
+ case "merge_tag":
+ return Field.DatItem_Merge;
+
+ case "region":
+ return Field.DatItem_Region;
+
+ case "index":
+ return Field.DatItem_Index;
+
+ case "writable":
+ return Field.DatItem_Writable;
+
+ case "status":
+ return Field.DatItem_Status;
+
+ case "optional":
+ return Field.DatItem_Optional;
+
+ // Release
+ case "language":
+ return Field.DatItem_Language;
+
+ case "date":
+ return Field.DatItem_Date;
+
+ // Rom
+ case "bios":
+ return Field.DatItem_Bios;
+
+ case "size":
+ return Field.DatItem_Size;
+
+ case "crc":
+ return Field.DatItem_CRC;
+
+ case "offset":
+ return Field.DatItem_Offset;
+
+ case "inverted":
+ return Field.DatItem_Inverted;
+
#endregion
}
}
// Else, we fall back on the old matching
- switch (input?.ToLowerInvariant())
+ // TODO: Remove this entirely
+ switch (input)
{
#region Machine
@@ -641,7 +1248,7 @@ namespace SabreTools.Library.Tools
case "hascrc":
case "has crc":
case "has-crc":
- return Field.Machine_HasCrc;
+ return Field.Machine_CRC;
case "relatedto":
case "related to":