diff --git a/SabreTools.Core/Enums.cs b/SabreTools.Core/Enums.cs
index 76f31c4a..e90e7b02 100644
--- a/SabreTools.Core/Enums.cs
+++ b/SabreTools.Core/Enums.cs
@@ -916,517 +916,501 @@ namespace SabreTools.Core
{
NULL = 0,
- #region Common
-
- [Mapping("type")]
- Type,
-
- #endregion
-
- #region Item-Specific
-
- #region Actionable
-
- #region Rom
-
- [Mapping("name")]
- Name,
-
- [Mapping("bios")]
- Bios,
-
- [Mapping("size")]
- Size,
-
- [Mapping("crc", "crc32")]
- CRC,
-
- [Mapping("md5", "md5hash", "md5_hash")]
- MD5,
-
- [Mapping("sha1", "sha_1", "sha1hash", "sha1_hash", "sha_1hash", "sha_1_hash")]
- SHA1,
-
- [Mapping("sha256", "sha_256", "sha256hash", "sha256_hash", "sha_256hash", "sha_256_hash")]
- SHA256,
-
- [Mapping("sha384", "sha_384", "sha384hash", "sha384_hash", "sha_384hash", "sha_384_hash")]
- SHA384,
-
- [Mapping("sha512", "sha_512", "sha512hash", "sha512_hash", "sha_512hash", "sha_512_hash")]
- SHA512,
-
- [Mapping("spamsum", "spam_sum")]
- SpamSum,
-
- [Mapping("merge", "mergetag", "merge_tag")]
- Merge,
-
- [Mapping("region")]
- Region,
-
- [Mapping("offset")]
- Offset,
-
- [Mapping("date")]
- Date,
-
- [Mapping("status")]
- Status,
-
- [Mapping("optional")]
- Optional,
-
- [Mapping("inverted")]
- Inverted,
-
- #endregion
-
- #region Rom (Archive.org)
-
- [Mapping("ado_source")]
- ArchiveDotOrgSource,
-
- [Mapping("ado_format")]
- ArchiveDotOrgFormat,
-
- [Mapping("original_filename")]
- OriginalFilename,
-
- [Mapping("rotation")]
- Rotation,
-
- [Mapping("summation")]
- Summation,
-
- #endregion
-
- #region Rom (AttractMode)
-
+ /// Used in Rom
[Mapping("altname", "alt_name", "altromname", "alt_romname", "alt_rom_name")]
AltName,
+ /// Used in Rom
[Mapping("alttitle", "alt_title", "altromtitle", "alt_romtitle", "alt_rom_title")]
AltTitle,
- #endregion
-
- #region Rom (Logiqx)
-
- [Mapping("mia")]
- MIA,
-
- #endregion
-
- #region Rom (OpenMSX)
-
- [Mapping("original")]
- Original,
-
- [Mapping("subtype", "sub_type", "openmsxsubtype", "openmsx_subtype", "openmsx_sub_type")]
- OpenMSXSubType,
-
- [Mapping("openmsxtype", "openmsx_type")]
- OpenMSXType,
-
- [Mapping("remark")]
- Remark,
-
- [Mapping("boot")]
- Boot,
-
- #endregion
-
- #region Rom (SoftwareList)
-
- [Mapping("loadflag", "load_flag")]
- LoadFlag,
-
- [Mapping("value")]
- Value,
-
- #endregion
-
- #region Disk
-
- [Mapping("index")]
- Index,
-
- [Mapping("writable")]
- Writable,
-
- #endregion
-
- #endregion
-
- #region Auxiliary
-
- #region Adjuster
-
- [Mapping("default")]
- Default,
-
- #endregion
-
- #region Analog
-
+ /// Used in Analog
[Mapping("analog_mask")]
Analog_Mask,
- #endregion
+ /// Used in Rom
+ [Mapping("ado_format")]
+ ArchiveDotOrgFormat,
- #region Archive
-
- [Mapping("number")]
- Number,
-
- [Mapping("clone")]
- Clone,
-
- [Mapping("regparent", "reg_parent")]
- RegParent,
-
- [Mapping("languages")]
- Languages,
-
- [Mapping("devstatus", "dev_status")]
- DevStatus,
-
- [Mapping("physical")]
- Physical,
-
- [Mapping("complete")]
- Complete,
-
- [Mapping("categories")]
- Categories,
-
- #endregion
-
- #region BiosSet
-
- [Mapping("description", "biosdescription", "bios_description")]
- Description,
-
- #endregion
-
- #region Chip
-
- [Mapping("tag")]
- Tag,
-
- [Mapping("chiptype", "chip_type")]
- ChipType,
-
- [Mapping("clock")]
- Clock,
-
- #endregion
-
- #region Condition
-
- [Mapping("mask")]
- Mask,
-
- [Mapping("relation")]
- Relation,
-
- [Mapping("condition_tag")]
- Condition_Tag,
-
- [Mapping("condition_mask")]
- Condition_Mask,
-
- [Mapping("condition_relation")]
- Condition_Relation,
-
- [Mapping("condition_value")]
- Condition_Value,
-
- #endregion
-
- #region Control
-
- [Mapping("control_type")]
- Control_Type,
-
- [Mapping("control_player")]
- Control_Player,
-
- [Mapping("control_buttons")]
- Control_Buttons,
-
- [Mapping("control_reqbuttons", "control_req_buttons")]
- Control_RequiredButtons,
-
- [Mapping("control_minimum")]
- Control_Minimum,
-
- [Mapping("control_maximum")]
- Control_Maximum,
-
- [Mapping("control_sensitivity")]
- Control_Sensitivity,
-
- [Mapping("control_keydelta", "control_key_delta")]
- Control_KeyDelta,
-
- [Mapping("control_reverse")]
- Control_Reverse,
-
- [Mapping("control_ways")]
- Control_Ways,
-
- [Mapping("control_ways2")]
- Control_Ways2,
-
- [Mapping("control_ways3")]
- Control_Ways3,
-
- #endregion
-
- #region DataArea
-
- [Mapping("areaname", "area_name")]
- AreaName,
-
- [Mapping("areasize", "area_size")]
- AreaSize,
-
- [Mapping("areawidth", "area_width")]
- AreaWidth,
+ /// Used in Rom
+ [Mapping("ado_source")]
+ ArchiveDotOrgSource,
+ /// Used in DataArea
[Mapping("areaendinanness", "area_endianness")]
AreaEndianness,
- #endregion
+ /// Used in DataArea and DiskArea
+ [Mapping("areaname", "area_name")]
+ AreaName,
- #region Device
+ /// Used in DataArea
+ [Mapping("areasize", "area_size")]
+ AreaSize,
- [Mapping("devicetype", "device_type")]
- DeviceType,
+ /// Used in DataArea
+ [Mapping("areawidth", "area_width")]
+ AreaWidth,
- [Mapping("fixedimage", "fixed_image")]
- FixedImage,
+ /// Used in Rom
+ [Mapping("bios")]
+ Bios,
- [Mapping("mandatory")]
- Mandatory,
+ /// Used in Rom
+ [Mapping("boot")]
+ Boot,
- [Mapping("interface")]
- Interface,
-
- #endregion
-
- #region Display
-
- [Mapping("displaytype", "display_type")]
- DisplayType,
-
- [Mapping("rotate")]
- Rotate,
-
- [Mapping("flipx")]
- FlipX,
-
- [Mapping("width")]
- Width,
-
- [Mapping("height")]
- Height,
-
- [Mapping("refresh")]
- Refresh,
-
- [Mapping("pixclock", "pix_clock")]
- PixClock,
-
- [Mapping("htotal")]
- HTotal,
-
- [Mapping("hbend")]
- HBEnd,
-
- [Mapping("hbstart")]
- HBStart,
-
- [Mapping("vtotal")]
- VTotal,
-
- [Mapping("vbend")]
- VBEnd,
-
- [Mapping("vbstart")]
- VBStart,
-
- #endregion
-
- #region Driver
-
- [Mapping("supportstatus", "support_status")]
- SupportStatus,
-
- [Mapping("emulationstatus", "emulation_status")]
- EmulationStatus,
-
- [Mapping("cocktailstatus", "cocktail_status")]
- CocktailStatus,
-
- [Mapping("savestatestatus", "savestate_status", "save_state_status")]
- SaveStateStatus,
-
- [Mapping("requiresartwork", "requires_artwork")]
- RequiresArtwork,
-
- [Mapping("unofficial")]
- Unofficial,
-
- [Mapping("nosoundhardware", "no_sound_hardware")]
- NoSoundHardware,
-
- [Mapping("incomplete")]
- Incomplete,
-
- #endregion
-
- #region Extension
-
- [Mapping("extension_name")]
- Extension_Name,
-
- #endregion
-
- #region Feature
-
- [Mapping("featuretype", "feature_type")]
- FeatureType,
-
- [Mapping("featurestatus", "feature_status")]
- FeatureStatus,
-
- [Mapping("featureoverall", "feature_overall")]
- FeatureOverall,
-
- #endregion
-
- #region Input
-
- [Mapping("service")]
- Service,
-
- [Mapping("tilt")]
- Tilt,
-
- [Mapping("players")]
- Players,
-
- [Mapping("coins")]
- Coins,
-
- #endregion
-
- #region Instance
-
- [Mapping("instance_name")]
- Instance_Name,
-
- [Mapping("instance_briefname", "instance_brief_name")]
- Instance_BriefName,
-
- #endregion
-
- #region Location
-
- [Mapping("location_name")]
- Location_Name,
-
- [Mapping("location_number")]
- Location_Number,
-
- [Mapping("location_inverted")]
- Location_Inverted,
-
- #endregion
-
- #region Part
-
- [Mapping("partname", "part_name")]
- Part_Name,
-
- [Mapping("partinterface", "part_interface")]
- Part_Interface,
-
- #endregion
-
- #region PartFeature
-
- [Mapping("part_feature_name")]
- Part_Feature_Name,
-
- [Mapping("part_feature_value")]
- Part_Feature_Value,
-
- #endregion
-
- #region RamOption
-
- [Mapping("content")]
- Content,
-
- #endregion
-
- #region Release
-
- [Mapping("language")]
- Language,
-
- #endregion
-
- #region Setting
-
- [Mapping("setting_name", "value_name")]
- Setting_Name,
-
- [Mapping("setting_value", "value_value")]
- Setting_Value,
-
- [Mapping("setting_default", "value_default")]
- Setting_Default,
-
- #endregion
-
- #region SlotOption
-
- [Mapping("slotoption_name")]
- SlotOption_Name,
-
- [Mapping("slotoption_devicename", "slotoption_device_name")]
- SlotOption_DeviceName,
-
- [Mapping("slotoption_default")]
- SlotOption_Default,
-
- #endregion
-
- #region SoftwareList
-
- [Mapping("softwareliststatus", "softwarelist_status")]
- SoftwareListStatus,
-
- [Mapping("filter")]
- Filter,
-
- #endregion
-
- #region Sound
+ /// Used in Archive
+ [Mapping("categories")]
+ Categories,
+ /// Used in Sound
[Mapping("channels")]
Channels,
- #endregion
+ /// Used in Chip
+ [Mapping("chiptype", "chip_type")]
+ ChipType,
- #endregion
+ /// Used in Chip
+ [Mapping("clock")]
+ Clock,
- #endregion // Item-Specific
+ /// Used in Archive
+ [Mapping("clone")]
+ Clone,
+
+ /// Used in Driver
+ [Mapping("cocktailstatus", "cocktail_status")]
+ CocktailStatus,
+
+ /// Used in Input
+ [Mapping("coins")]
+ Coins,
+
+ /// Used in Archive
+ [Mapping("complete")]
+ Complete,
+
+ /// Used in Condition
+ [Mapping("condition_mask")]
+ Condition_Mask,
+
+ /// Used in Condition
+ [Mapping("condition_relation")]
+ Condition_Relation,
+
+ /// Used in Condition
+ [Mapping("condition_tag")]
+ Condition_Tag,
+
+ /// Used in Condition
+ [Mapping("condition_value")]
+ Condition_Value,
+
+ /// Used in RamOption
+ [Mapping("content")]
+ Content,
+
+ /// Used in Control
+ [Mapping("control_buttons")]
+ Control_Buttons,
+
+ /// Used in Control
+ [Mapping("control_keydelta", "control_key_delta")]
+ Control_KeyDelta,
+
+ /// Used in Control
+ [Mapping("control_maximum")]
+ Control_Maximum,
+
+ /// Used in Control
+ [Mapping("control_minimum")]
+ Control_Minimum,
+
+ /// Used in Control
+ [Mapping("control_player")]
+ Control_Player,
+
+ /// Used in Control
+ [Mapping("control_reqbuttons", "control_req_buttons")]
+ Control_RequiredButtons,
+
+ /// Used in Control
+ [Mapping("control_reverse")]
+ Control_Reverse,
+
+ /// Used in Control
+ [Mapping("control_sensitivity")]
+ Control_Sensitivity,
+
+ /// Used in Control
+ [Mapping("control_type")]
+ Control_Type,
+
+ /// Used in Control
+ [Mapping("control_ways")]
+ Control_Ways,
+
+ /// Used in Control
+ [Mapping("control_ways2")]
+ Control_Ways2,
+
+ /// Used in Control
+ [Mapping("control_ways3")]
+ Control_Ways3,
+
+ /// Used in Rom
+ [Mapping("crc", "crc32")]
+ CRC,
+
+ /// Used in Release and Rom
+ [Mapping("date")]
+ Date,
+
+ /// Used in Adjuster, BiosSet, RamOption, and Release
+ [Mapping("default")]
+ Default,
+
+ /// Used in BiosSet
+ [Mapping("description", "biosdescription", "bios_description")]
+ Description,
+
+ /// Used in Device
+ [Mapping("devicetype", "device_type")]
+ DeviceType,
+
+ /// Used in Archive
+ [Mapping("devstatus", "dev_status")]
+ DevStatus,
+
+ /// Used in Display
+ [Mapping("displaytype", "display_type")]
+ DisplayType,
+
+ /// Used in Driver
+ [Mapping("emulationstatus", "emulation_status")]
+ EmulationStatus,
+
+ /// Used in Extension
+ [Mapping("extension_name")]
+ Extension_Name,
+
+ /// Used in Feature
+ [Mapping("featureoverall", "feature_overall")]
+ FeatureOverall,
+
+ /// Used in Feature
+ [Mapping("featurestatus", "feature_status")]
+ FeatureStatus,
+
+ /// Used in Feature
+ [Mapping("featuretype", "feature_type")]
+ FeatureType,
+
+ /// Used in SoftwareList
+ [Mapping("filter")]
+ Filter,
+
+ /// Used in Device
+ [Mapping("fixedimage", "fixed_image")]
+ FixedImage,
+
+ /// Used in Display
+ [Mapping("flipx")]
+ FlipX,
+
+ /// Used in Display
+ [Mapping("hbend")]
+ HBEnd,
+
+ /// Used in Display
+ [Mapping("hbstart")]
+ HBStart,
+
+ /// Used in Display
+ [Mapping("height")]
+ Height,
+
+ /// Used in Display
+ [Mapping("htotal")]
+ HTotal,
+
+ /// Used in Driver
+ [Mapping("incomplete")]
+ Incomplete,
+
+ /// Used in Disk
+ [Mapping("index")]
+ Index,
+
+ /// Used in Instance
+ [Mapping("instance_briefname", "instance_brief_name")]
+ Instance_BriefName,
+
+ /// Used in Instance
+ [Mapping("instance_name")]
+ Instance_Name,
+
+ /// Used in Device
+ [Mapping("interface")]
+ Interface,
+
+ /// Used in Rom
+ [Mapping("inverted")]
+ Inverted,
+
+ /// Used in Release
+ [Mapping("language")]
+ Language,
+
+ /// Used in Archive
+ [Mapping("languages")]
+ Languages,
+
+ /// Used in Rom
+ [Mapping("loadflag", "load_flag")]
+ LoadFlag,
+
+ /// Used in Location
+ [Mapping("location_inverted")]
+ Location_Inverted,
+
+ /// Used in Location
+ [Mapping("location_name")]
+ Location_Name,
+
+ /// Used in Location
+ [Mapping("location_number")]
+ Location_Number,
+
+ /// Used in Device
+ [Mapping("mandatory")]
+ Mandatory,
+
+ /// Used in Condition, Configuration, and DipSwitch
+ [Mapping("mask")]
+ Mask,
+
+ /// Used in Disk, Media, and Rom
+ [Mapping("md5", "md5hash", "md5_hash")]
+ MD5,
+
+ /// Used in Disk and Rom
+ [Mapping("merge", "mergetag", "merge_tag")]
+ Merge,
+
+ /// Used in Rom
+ [Mapping("mia")]
+ MIA,
+
+ /// Used in Adjuster, Archive, BiosSet, Chip, Configuration, DataArea, DeviceReference, DipSwitch, Disk, DiskArea, Extension, Info, Instance, Location, Media, Part, PartFeature, RamOption, Release, Rom, Sample, Setting, SharedFeature, Slot, SlotOption, and SoftwareList
+ [Mapping("name")]
+ Name,
+
+ /// Used in Driver
+ [Mapping("nosoundhardware", "no_sound_hardware")]
+ NoSoundHardware,
+
+ /// Used in Archive
+ [Mapping("number")]
+ Number,
+
+ /// Used in Rom
+ [Mapping("offset")]
+ Offset,
+
+ /// Used in Rom
+ [Mapping("subtype", "sub_type", "openmsxsubtype", "openmsx_subtype", "openmsx_sub_type")]
+ OpenMSXSubType,
+
+ /// Used in Rom
+ [Mapping("openmsxtype", "openmsx_type")]
+ OpenMSXType,
+
+ /// Used in Disk and Rom
+ [Mapping("optional")]
+ Optional,
+
+ /// Used in Rom
+ [Mapping("original")]
+ Original,
+
+ /// Used in Rom
+ [Mapping("original_filename")]
+ OriginalFilename,
+
+ /// Used in PartFeature
+ [Mapping("part_feature_name")]
+ Part_Feature_Name,
+
+ /// Used in PartFeature
+ [Mapping("part_feature_value")]
+ Part_Feature_Value,
+
+ /// Used in Part
+ [Mapping("partinterface", "part_interface")]
+ Part_Interface,
+
+ /// Used in Part
+ [Mapping("partname", "part_name")]
+ Part_Name,
+
+ /// Used in Archive
+ [Mapping("physical")]
+ Physical,
+
+ /// Used in Display
+ [Mapping("pixclock", "pix_clock")]
+ PixClock,
+
+ /// Used in Input
+ [Mapping("players")]
+ Players,
+
+ /// Used in Display
+ [Mapping("refresh")]
+ Refresh,
+
+ /// Used in Archive, Disk, Release, and Rom
+ [Mapping("region")]
+ Region,
+
+ /// Used in Archive
+ [Mapping("regparent", "reg_parent")]
+ RegParent,
+
+ /// Used in Condition
+ [Mapping("relation")]
+ Relation,
+
+ /// Used in Rom
+ [Mapping("remark")]
+ Remark,
+
+ /// Used in Driver
+ [Mapping("requiresartwork", "requires_artwork")]
+ RequiresArtwork,
+
+ /// Used in Display
+ [Mapping("rotate")]
+ Rotate,
+
+ /// Used in Rom
+ [Mapping("rotation")]
+ Rotation,
+
+ /// Used in Driver
+ [Mapping("savestatestatus", "savestate_status", "save_state_status")]
+ SaveStateStatus,
+
+ /// Used in Input
+ [Mapping("service")]
+ Service,
+
+ /// Used in Setting
+ [Mapping("setting_default", "value_default")]
+ Setting_Default,
+
+ /// Used in Setting
+ [Mapping("setting_name", "value_name")]
+ Setting_Name,
+
+ /// Used in Setting
+ [Mapping("setting_value", "value_value")]
+ Setting_Value,
+
+ /// Used in Disk, Media, and Rom
+ [Mapping("sha1", "sha_1", "sha1hash", "sha1_hash", "sha_1hash", "sha_1_hash")]
+ SHA1,
+
+ /// Used in Media and Rom
+ [Mapping("sha256", "sha_256", "sha256hash", "sha256_hash", "sha_256hash", "sha_256_hash")]
+ SHA256,
+
+ /// Used in Rom
+ [Mapping("sha384", "sha_384", "sha384hash", "sha384_hash", "sha_384hash", "sha_384_hash")]
+ SHA384,
+
+ /// Used in Rom
+ [Mapping("sha512", "sha_512", "sha512hash", "sha512_hash", "sha_512hash", "sha_512_hash")]
+ SHA512,
+
+ /// Used in Rom
+ [Mapping("size")]
+ Size,
+
+ /// Used in SlotOption
+ [Mapping("slotoption_default")]
+ SlotOption_Default,
+
+ /// Used in SlotOption
+ [Mapping("slotoption_devicename", "slotoption_device_name")]
+ SlotOption_DeviceName,
+
+ /// Used in SlotOption
+ [Mapping("slotoption_name")]
+ SlotOption_Name,
+
+ /// Used in SoftwareList
+ [Mapping("softwareliststatus", "softwarelist_status")]
+ SoftwareListStatus,
+
+ /// Used in Media and Rom
+ [Mapping("spamsum", "spam_sum")]
+ SpamSum,
+
+ /// Used in Disk and Rom
+ [Mapping("status")]
+ Status,
+
+ /// Used in Rom
+ [Mapping("summation")]
+ Summation,
+
+ /// Used in Driver
+ [Mapping("supportstatus", "support_status")]
+ SupportStatus,
+
+ /// Used in Chip, Condition, Configuration, Device, DipSwitch, Display, Port, and SoftwareList
+ [Mapping("tag")]
+ Tag,
+
+ /// Used in Input
+ [Mapping("tilt")]
+ Tilt,
+
+ /// Internal value, common to all DatItems
+ [Mapping("type")]
+ Type,
+
+ /// Used in Driver
+ [Mapping("unofficial")]
+ Unofficial,
+
+ /// Used in Condition, Info, Rom, and SharedFeature
+ [Mapping("value")]
+ Value,
+
+ /// Used in Display
+ [Mapping("vbend")]
+ VBEnd,
+
+ /// Used in Display
+ [Mapping("vbstart")]
+ VBStart,
+
+ /// Used in Display
+ [Mapping("vtotal")]
+ VTotal,
+
+ /// Used in Display
+ [Mapping("width")]
+ Width,
+
+ /// Used in Disk
+ [Mapping("writable")]
+ Writable,
}
///
diff --git a/SabreTools.DatFiles/Setter.cs b/SabreTools.DatFiles/Setter.cs
index 10e1a0a1..bdc7da3f 100644
--- a/SabreTools.DatFiles/Setter.cs
+++ b/SabreTools.DatFiles/Setter.cs
@@ -1,7 +1,4 @@
-using System;
using System.Collections.Generic;
-using System.Linq;
-
using SabreTools.Core;
using SabreTools.Core.Tools;
using SabreTools.DatItems;
@@ -450,32 +447,32 @@ namespace SabreTools.DatFiles
/// Archive to remove replace fields in
private void SetFields(Archive archive)
{
- if (DatItemMappings.ContainsKey(DatItemField.Number))
- archive.Number = DatItemMappings[DatItemField.Number];
+ if (DatItemMappings.ContainsKey(DatItemField.Categories))
+ archive.Categories = DatItemMappings[DatItemField.Categories];
if (DatItemMappings.ContainsKey(DatItemField.Clone))
archive.CloneValue = DatItemMappings[DatItemField.Clone];
- if (DatItemMappings.ContainsKey(DatItemField.RegParent))
- archive.RegParent = DatItemMappings[DatItemField.RegParent];
-
- if (DatItemMappings.ContainsKey(DatItemField.Region))
- archive.Region = DatItemMappings[DatItemField.Region];
-
- if (DatItemMappings.ContainsKey(DatItemField.Languages))
- archive.Languages = DatItemMappings[DatItemField.Languages];
+ if (DatItemMappings.ContainsKey(DatItemField.Complete))
+ archive.Complete = DatItemMappings[DatItemField.Complete];
if (DatItemMappings.ContainsKey(DatItemField.DevStatus))
archive.DevStatus = DatItemMappings[DatItemField.DevStatus];
+ if (DatItemMappings.ContainsKey(DatItemField.Languages))
+ archive.Languages = DatItemMappings[DatItemField.Languages];
+
+ if (DatItemMappings.ContainsKey(DatItemField.Number))
+ archive.Number = DatItemMappings[DatItemField.Number];
+
if (DatItemMappings.ContainsKey(DatItemField.Physical))
archive.Physical = DatItemMappings[DatItemField.Physical];
- if (DatItemMappings.ContainsKey(DatItemField.Complete))
- archive.Complete = DatItemMappings[DatItemField.Complete];
+ if (DatItemMappings.ContainsKey(DatItemField.Region))
+ archive.Region = DatItemMappings[DatItemField.Region];
- if (DatItemMappings.ContainsKey(DatItemField.Categories))
- archive.Categories = DatItemMappings[DatItemField.Categories];
+ if (DatItemMappings.ContainsKey(DatItemField.RegParent))
+ archive.RegParent = DatItemMappings[DatItemField.RegParent];
}
///
@@ -484,11 +481,11 @@ namespace SabreTools.DatFiles
/// BiosSet to remove replace fields in
private void SetFields(BiosSet biosSet)
{
- if (DatItemMappings.ContainsKey(DatItemField.Description))
- biosSet.Description = DatItemMappings[DatItemField.Description];
-
if (DatItemMappings.ContainsKey(DatItemField.Default))
biosSet.Default = DatItemMappings[DatItemField.Default].AsYesNo();
+
+ if (DatItemMappings.ContainsKey(DatItemField.Description))
+ biosSet.Description = DatItemMappings[DatItemField.Description];
}
///
@@ -497,14 +494,14 @@ namespace SabreTools.DatFiles
/// Chip to remove replace fields in
private void SetFields(Chip chip)
{
- if (DatItemMappings.ContainsKey(DatItemField.Tag))
- chip.Tag = DatItemMappings[DatItemField.Tag];
-
if (DatItemMappings.ContainsKey(DatItemField.ChipType))
chip.ChipType = DatItemMappings[DatItemField.ChipType].AsChipType();
if (DatItemMappings.ContainsKey(DatItemField.Clock))
chip.Clock = Utilities.CleanLong(DatItemMappings[DatItemField.Clock]);
+
+ if (DatItemMappings.ContainsKey(DatItemField.Tag))
+ chip.Tag = DatItemMappings[DatItemField.Tag];
}
///
@@ -516,29 +513,29 @@ namespace SabreTools.DatFiles
{
if (sub)
{
- if (DatItemMappings.ContainsKey(DatItemField.Condition_Tag))
- condition.Tag = DatItemMappings[DatItemField.Condition_Tag];
-
if (DatItemMappings.ContainsKey(DatItemField.Condition_Mask))
condition.Mask = DatItemMappings[DatItemField.Condition_Mask];
if (DatItemMappings.ContainsKey(DatItemField.Condition_Relation))
condition.Relation = DatItemMappings[DatItemField.Condition_Relation].AsRelation();
+ if (DatItemMappings.ContainsKey(DatItemField.Condition_Tag))
+ condition.Tag = DatItemMappings[DatItemField.Condition_Tag];
+
if (DatItemMappings.ContainsKey(DatItemField.Condition_Value))
condition.Value = DatItemMappings[DatItemField.Condition_Value];
}
else
{
- if (DatItemMappings.ContainsKey(DatItemField.Tag))
- condition.Tag = DatItemMappings[DatItemField.Tag];
-
if (DatItemMappings.ContainsKey(DatItemField.Mask))
condition.Mask = DatItemMappings[DatItemField.Mask];
if (DatItemMappings.ContainsKey(DatItemField.Relation))
condition.Relation = DatItemMappings[DatItemField.Relation].AsRelation();
+ if (DatItemMappings.ContainsKey(DatItemField.Tag))
+ condition.Tag = DatItemMappings[DatItemField.Tag];
+
if (DatItemMappings.ContainsKey(DatItemField.Value))
condition.Value = DatItemMappings[DatItemField.Value];
}
@@ -550,12 +547,12 @@ namespace SabreTools.DatFiles
/// Configuration to remove replace fields in
private void SetFields(Configuration configuration)
{
- if (DatItemMappings.ContainsKey(DatItemField.Tag))
- configuration.Tag = DatItemMappings[DatItemField.Tag];
-
if (DatItemMappings.ContainsKey(DatItemField.Mask))
configuration.Mask = DatItemMappings[DatItemField.Mask];
+ if (DatItemMappings.ContainsKey(DatItemField.Tag))
+ configuration.Tag = DatItemMappings[DatItemField.Tag];
+
if (configuration.ConditionsSpecified)
{
foreach (Condition subCondition in configuration.Conditions)
@@ -587,33 +584,33 @@ namespace SabreTools.DatFiles
/// Control to remove replace fields in
private void SetFields(Control control)
{
- if (DatItemMappings.ContainsKey(DatItemField.Control_Type))
- control.ControlType = DatItemMappings[DatItemField.Control_Type].AsControlType();
-
- if (DatItemMappings.ContainsKey(DatItemField.Control_Player))
- control.Player = Utilities.CleanLong(DatItemMappings[DatItemField.Control_Player]);
-
if (DatItemMappings.ContainsKey(DatItemField.Control_Buttons))
control.Buttons = Utilities.CleanLong(DatItemMappings[DatItemField.Control_Buttons]);
- if (DatItemMappings.ContainsKey(DatItemField.Control_RequiredButtons))
- control.RequiredButtons = Utilities.CleanLong(DatItemMappings[DatItemField.Control_RequiredButtons]);
-
- if (DatItemMappings.ContainsKey(DatItemField.Control_Minimum))
- control.Minimum = Utilities.CleanLong(DatItemMappings[DatItemField.Control_Minimum]);
-
- if (DatItemMappings.ContainsKey(DatItemField.Control_Maximum))
- control.Maximum = Utilities.CleanLong(DatItemMappings[DatItemField.Control_Maximum]);
-
- if (DatItemMappings.ContainsKey(DatItemField.Control_Sensitivity))
- control.Sensitivity = Utilities.CleanLong(DatItemMappings[DatItemField.Control_Sensitivity]);
+ if (DatItemMappings.ContainsKey(DatItemField.Control_Type))
+ control.ControlType = DatItemMappings[DatItemField.Control_Type].AsControlType();
if (DatItemMappings.ContainsKey(DatItemField.Control_KeyDelta))
control.KeyDelta = Utilities.CleanLong(DatItemMappings[DatItemField.Control_KeyDelta]);
+ if (DatItemMappings.ContainsKey(DatItemField.Control_Maximum))
+ control.Maximum = Utilities.CleanLong(DatItemMappings[DatItemField.Control_Maximum]);
+
+ if (DatItemMappings.ContainsKey(DatItemField.Control_Minimum))
+ control.Minimum = Utilities.CleanLong(DatItemMappings[DatItemField.Control_Minimum]);
+
+ if (DatItemMappings.ContainsKey(DatItemField.Control_Player))
+ control.Player = Utilities.CleanLong(DatItemMappings[DatItemField.Control_Player]);
+
+ if (DatItemMappings.ContainsKey(DatItemField.Control_RequiredButtons))
+ control.RequiredButtons = Utilities.CleanLong(DatItemMappings[DatItemField.Control_RequiredButtons]);
+
if (DatItemMappings.ContainsKey(DatItemField.Control_Reverse))
control.Reverse = DatItemMappings[DatItemField.Control_Reverse].AsYesNo();
+ if (DatItemMappings.ContainsKey(DatItemField.Control_Sensitivity))
+ control.Sensitivity = Utilities.CleanLong(DatItemMappings[DatItemField.Control_Sensitivity]);
+
if (DatItemMappings.ContainsKey(DatItemField.Control_Ways))
control.Ways = DatItemMappings[DatItemField.Control_Ways];
@@ -630,14 +627,17 @@ namespace SabreTools.DatFiles
/// DataArea to remove replace fields in
private void SetFields(DataArea dataArea)
{
+ if (DatItemMappings.ContainsKey(DatItemField.AreaEndianness))
+ dataArea.Endianness = DatItemMappings[DatItemField.AreaEndianness].AsEndianness();
+
+ if (DatItemMappings.ContainsKey(DatItemField.AreaName))
+ dataArea.Name = DatItemMappings[DatItemField.AreaName];
+
if (DatItemMappings.ContainsKey(DatItemField.AreaSize))
dataArea.Size = Utilities.CleanLong(DatItemMappings[DatItemField.AreaSize]);
if (DatItemMappings.ContainsKey(DatItemField.AreaWidth))
dataArea.Width = Utilities.CleanLong(DatItemMappings[DatItemField.AreaWidth]);
-
- if (DatItemMappings.ContainsKey(DatItemField.AreaEndianness))
- dataArea.Endianness = DatItemMappings[DatItemField.AreaEndianness].AsEndianness();
}
///
@@ -649,25 +649,17 @@ namespace SabreTools.DatFiles
if (DatItemMappings.ContainsKey(DatItemField.DeviceType))
device.DeviceType = DatItemMappings[DatItemField.DeviceType].AsDeviceType();
- if (DatItemMappings.ContainsKey(DatItemField.Tag))
- device.Tag = DatItemMappings[DatItemField.Tag];
-
if (DatItemMappings.ContainsKey(DatItemField.FixedImage))
device.FixedImage = DatItemMappings[DatItemField.FixedImage];
- if (DatItemMappings.ContainsKey(DatItemField.Mandatory))
- device.Mandatory = Utilities.CleanLong(DatItemMappings[DatItemField.Mandatory]);
-
if (DatItemMappings.ContainsKey(DatItemField.Interface))
device.Interface = DatItemMappings[DatItemField.Interface];
- if (device.InstancesSpecified)
- {
- foreach (Instance subInstance in device.Instances)
- {
- SetFields(subInstance);
- }
- }
+ if (DatItemMappings.ContainsKey(DatItemField.Mandatory))
+ device.Mandatory = Utilities.CleanLong(DatItemMappings[DatItemField.Mandatory]);
+
+ if (DatItemMappings.ContainsKey(DatItemField.Tag))
+ device.Tag = DatItemMappings[DatItemField.Tag];
if (device.ExtensionsSpecified)
{
@@ -676,6 +668,14 @@ namespace SabreTools.DatFiles
SetFields(subExtension);
}
}
+
+ if (device.InstancesSpecified)
+ {
+ foreach (Instance subInstance in device.Instances)
+ {
+ SetFields(subInstance);
+ }
+ }
}
///
@@ -684,14 +684,12 @@ namespace SabreTools.DatFiles
/// DipSwitch to remove replace fields in
private void SetFields(DipSwitch dipSwitch)
{
- #region Common
+ if (DatItemMappings.ContainsKey(DatItemField.Mask))
+ dipSwitch.Mask = DatItemMappings[DatItemField.Mask];
if (DatItemMappings.ContainsKey(DatItemField.Tag))
dipSwitch.Tag = DatItemMappings[DatItemField.Tag];
- if (DatItemMappings.ContainsKey(DatItemField.Mask))
- dipSwitch.Mask = DatItemMappings[DatItemField.Mask];
-
if (dipSwitch.ConditionsSpecified)
{
foreach (Condition subCondition in dipSwitch.Conditions)
@@ -716,16 +714,8 @@ namespace SabreTools.DatFiles
}
}
- #endregion
-
- #region SoftwareList
-
- // Handle Part-specific fields
dipSwitch.Part ??= new Part();
-
SetFields(dipSwitch.Part);
-
- #endregion
}
///
@@ -734,45 +724,35 @@ namespace SabreTools.DatFiles
/// Disk to remove replace fields in
private void SetFields(Disk disk)
{
- #region Common
+ if (DatItemMappings.ContainsKey(DatItemField.Index))
+ disk.Index = DatItemMappings[DatItemField.Index];
if (DatItemMappings.ContainsKey(DatItemField.MD5))
disk.MD5 = DatItemMappings[DatItemField.MD5];
- if (DatItemMappings.ContainsKey(DatItemField.SHA1))
- disk.SHA1 = DatItemMappings[DatItemField.SHA1];
-
if (DatItemMappings.ContainsKey(DatItemField.Merge))
disk.MergeTag = DatItemMappings[DatItemField.Merge];
- if (DatItemMappings.ContainsKey(DatItemField.Region))
- disk.Region = DatItemMappings[DatItemField.Region];
-
- if (DatItemMappings.ContainsKey(DatItemField.Index))
- disk.Index = DatItemMappings[DatItemField.Index];
-
- if (DatItemMappings.ContainsKey(DatItemField.Writable))
- disk.Writable = DatItemMappings[DatItemField.Writable].AsYesNo();
-
- if (DatItemMappings.ContainsKey(DatItemField.Status))
- disk.ItemStatus = DatItemMappings[DatItemField.Status].AsItemStatus();
-
if (DatItemMappings.ContainsKey(DatItemField.Optional))
disk.Optional = DatItemMappings[DatItemField.Optional].AsYesNo();
- #endregion
+ if (DatItemMappings.ContainsKey(DatItemField.Region))
+ disk.Region = DatItemMappings[DatItemField.Region];
- #region SoftwareList
+ if (DatItemMappings.ContainsKey(DatItemField.SHA1))
+ disk.SHA1 = DatItemMappings[DatItemField.SHA1];
+
+ if (DatItemMappings.ContainsKey(DatItemField.Status))
+ disk.ItemStatus = DatItemMappings[DatItemField.Status].AsItemStatus();
+
+ if (DatItemMappings.ContainsKey(DatItemField.Writable))
+ disk.Writable = DatItemMappings[DatItemField.Writable].AsYesNo();
disk.DiskArea ??= new DiskArea();
-
SetFields(disk.DiskArea);
disk.Part ??= new Part();
-
SetFields(disk.Part);
-
- #endregion
}
///
@@ -791,47 +771,47 @@ namespace SabreTools.DatFiles
/// Display to remove replace fields in
private void SetFields(Display display)
{
- if (DatItemMappings.ContainsKey(DatItemField.Tag))
- display.Tag = DatItemMappings[DatItemField.Tag];
-
if (DatItemMappings.ContainsKey(DatItemField.DisplayType))
display.DisplayType = DatItemMappings[DatItemField.DisplayType].AsDisplayType();
- if (DatItemMappings.ContainsKey(DatItemField.Rotate))
- display.Rotate = Utilities.CleanLong(DatItemMappings[DatItemField.Rotate]);
-
if (DatItemMappings.ContainsKey(DatItemField.FlipX))
display.FlipX = DatItemMappings[DatItemField.FlipX].AsYesNo();
- if (DatItemMappings.ContainsKey(DatItemField.Width))
- display.Width = Utilities.CleanLong(DatItemMappings[DatItemField.Width]);
-
if (DatItemMappings.ContainsKey(DatItemField.Height))
display.Height = Utilities.CleanLong(DatItemMappings[DatItemField.Height]);
- if (DatItemMappings.ContainsKey(DatItemField.Refresh))
- display.Refresh = Utilities.CleanDouble(DatItemMappings[DatItemField.Refresh]);
-
- if (DatItemMappings.ContainsKey(DatItemField.PixClock))
- display.PixClock = Utilities.CleanLong(DatItemMappings[DatItemField.PixClock]);
-
- if (DatItemMappings.ContainsKey(DatItemField.HTotal))
- display.HTotal = Utilities.CleanLong(DatItemMappings[DatItemField.HTotal]);
-
if (DatItemMappings.ContainsKey(DatItemField.HBEnd))
display.HBEnd = Utilities.CleanLong(DatItemMappings[DatItemField.HBEnd]);
if (DatItemMappings.ContainsKey(DatItemField.HBStart))
display.HBStart = Utilities.CleanLong(DatItemMappings[DatItemField.HBStart]);
- if (DatItemMappings.ContainsKey(DatItemField.VTotal))
- display.VTotal = Utilities.CleanLong(DatItemMappings[DatItemField.VTotal]);
+ if (DatItemMappings.ContainsKey(DatItemField.HTotal))
+ display.HTotal = Utilities.CleanLong(DatItemMappings[DatItemField.HTotal]);
+
+ if (DatItemMappings.ContainsKey(DatItemField.PixClock))
+ display.PixClock = Utilities.CleanLong(DatItemMappings[DatItemField.PixClock]);
+
+ if (DatItemMappings.ContainsKey(DatItemField.Refresh))
+ display.Refresh = Utilities.CleanDouble(DatItemMappings[DatItemField.Refresh]);
+
+ if (DatItemMappings.ContainsKey(DatItemField.Rotate))
+ display.Rotate = Utilities.CleanLong(DatItemMappings[DatItemField.Rotate]);
+
+ if (DatItemMappings.ContainsKey(DatItemField.Tag))
+ display.Tag = DatItemMappings[DatItemField.Tag];
if (DatItemMappings.ContainsKey(DatItemField.VBEnd))
display.VBEnd = Utilities.CleanLong(DatItemMappings[DatItemField.VBEnd]);
if (DatItemMappings.ContainsKey(DatItemField.VBStart))
display.VBStart = Utilities.CleanLong(DatItemMappings[DatItemField.VBStart]);
+
+ if (DatItemMappings.ContainsKey(DatItemField.VTotal))
+ display.VTotal = Utilities.CleanLong(DatItemMappings[DatItemField.VTotal]);
+
+ if (DatItemMappings.ContainsKey(DatItemField.Width))
+ display.Width = Utilities.CleanLong(DatItemMappings[DatItemField.Width]);
}
///
@@ -840,29 +820,29 @@ namespace SabreTools.DatFiles
/// Driver to remove replace fields in
private void SetFields(Driver driver)
{
- if (DatItemMappings.ContainsKey(DatItemField.SupportStatus))
- driver.Status = DatItemMappings[DatItemField.SupportStatus].AsSupportStatus();
+ if (DatItemMappings.ContainsKey(DatItemField.CocktailStatus))
+ driver.Cocktail = DatItemMappings[DatItemField.CocktailStatus].AsSupportStatus();
+
+ if (DatItemMappings.ContainsKey(DatItemField.Incomplete))
+ driver.Incomplete = DatItemMappings[DatItemField.Incomplete].AsYesNo();
if (DatItemMappings.ContainsKey(DatItemField.EmulationStatus))
driver.Emulation = DatItemMappings[DatItemField.EmulationStatus].AsSupportStatus();
- if (DatItemMappings.ContainsKey(DatItemField.CocktailStatus))
- driver.Cocktail = DatItemMappings[DatItemField.CocktailStatus].AsSupportStatus();
-
- if (DatItemMappings.ContainsKey(DatItemField.SaveStateStatus))
- driver.SaveState = DatItemMappings[DatItemField.SaveStateStatus].AsSupported();
+ if (DatItemMappings.ContainsKey(DatItemField.NoSoundHardware))
+ driver.NoSoundHardware = DatItemMappings[DatItemField.NoSoundHardware].AsYesNo();
if (DatItemMappings.ContainsKey(DatItemField.RequiresArtwork))
driver.RequiresArtwork = DatItemMappings[DatItemField.RequiresArtwork].AsYesNo();
+ if (DatItemMappings.ContainsKey(DatItemField.SaveStateStatus))
+ driver.SaveState = DatItemMappings[DatItemField.SaveStateStatus].AsSupported();
+
+ if (DatItemMappings.ContainsKey(DatItemField.SupportStatus))
+ driver.Status = DatItemMappings[DatItemField.SupportStatus].AsSupportStatus();
+
if (DatItemMappings.ContainsKey(DatItemField.Unofficial))
driver.Unofficial = DatItemMappings[DatItemField.Unofficial].AsYesNo();
-
- if (DatItemMappings.ContainsKey(DatItemField.NoSoundHardware))
- driver.NoSoundHardware = DatItemMappings[DatItemField.NoSoundHardware].AsYesNo();
-
- if (DatItemMappings.ContainsKey(DatItemField.Incomplete))
- driver.Incomplete = DatItemMappings[DatItemField.Incomplete].AsYesNo();
}
///
@@ -881,14 +861,14 @@ namespace SabreTools.DatFiles
/// Feature to remove replace fields in
private void SetFields(Feature feature)
{
- if (DatItemMappings.ContainsKey(DatItemField.FeatureType))
- feature.Type = DatItemMappings[DatItemField.FeatureType].AsFeatureType();
+ if (DatItemMappings.ContainsKey(DatItemField.FeatureOverall))
+ feature.Overall = DatItemMappings[DatItemField.FeatureOverall].AsFeatureStatus();
if (DatItemMappings.ContainsKey(DatItemField.FeatureStatus))
feature.Status = DatItemMappings[DatItemField.FeatureStatus].AsFeatureStatus();
- if (DatItemMappings.ContainsKey(DatItemField.FeatureOverall))
- feature.Overall = DatItemMappings[DatItemField.FeatureOverall].AsFeatureStatus();
+ if (DatItemMappings.ContainsKey(DatItemField.FeatureType))
+ feature.Type = DatItemMappings[DatItemField.FeatureType].AsFeatureType();
}
///
@@ -907,18 +887,18 @@ namespace SabreTools.DatFiles
/// Input to remove replace fields in
private void SetFields(Input input)
{
+ if (DatItemMappings.ContainsKey(DatItemField.Coins))
+ input.Coins = Utilities.CleanLong(DatItemMappings[DatItemField.Coins]);
+
+ if (DatItemMappings.ContainsKey(DatItemField.Players))
+ input.Players = Utilities.CleanLong(DatItemMappings[DatItemField.Players]);
+
if (DatItemMappings.ContainsKey(DatItemField.Service))
input.Service = DatItemMappings[DatItemField.Service].AsYesNo();
if (DatItemMappings.ContainsKey(DatItemField.Tilt))
input.Tilt = DatItemMappings[DatItemField.Tilt].AsYesNo();
- if (DatItemMappings.ContainsKey(DatItemField.Players))
- input.Players = Utilities.CleanLong(DatItemMappings[DatItemField.Players]);
-
- if (DatItemMappings.ContainsKey(DatItemField.Coins))
- input.Coins = Utilities.CleanLong(DatItemMappings[DatItemField.Coins]);
-
if (input.ControlsSpecified)
{
foreach (Control subControl in input.Controls)
@@ -934,11 +914,11 @@ namespace SabreTools.DatFiles
/// Instance to remove replace fields in
private void SetFields(Instance instance)
{
- if (DatItemMappings.ContainsKey(DatItemField.Instance_Name))
- instance.BriefName = DatItemMappings[DatItemField.Instance_Name];
-
if (DatItemMappings.ContainsKey(DatItemField.Instance_BriefName))
instance.BriefName = DatItemMappings[DatItemField.Instance_BriefName];
+
+ if (DatItemMappings.ContainsKey(DatItemField.Instance_Name))
+ instance.BriefName = DatItemMappings[DatItemField.Instance_Name];
}
///
@@ -947,14 +927,14 @@ namespace SabreTools.DatFiles
/// Location to remove replace fields in
private void SetFields(Location location)
{
+ if (DatItemMappings.ContainsKey(DatItemField.Location_Inverted))
+ location.Inverted = DatItemMappings[DatItemField.Location_Inverted].AsYesNo();
+
if (DatItemMappings.ContainsKey(DatItemField.Location_Name))
location.Name = DatItemMappings[DatItemField.Location_Name];
if (DatItemMappings.ContainsKey(DatItemField.Location_Number))
location.Number = Utilities.CleanLong(DatItemMappings[DatItemField.Location_Number]);
-
- if (DatItemMappings.ContainsKey(DatItemField.Location_Inverted))
- location.Inverted = DatItemMappings[DatItemField.Location_Inverted].AsYesNo();
}
///
@@ -982,12 +962,12 @@ namespace SabreTools.DatFiles
/// Part to remove replace fields in
private void SetFields(Part part)
{
- if (DatItemMappings.ContainsKey(DatItemField.Part_Name))
- part.Name = DatItemMappings[DatItemField.Part_Name];
-
if (DatItemMappings.ContainsKey(DatItemField.Part_Interface))
part.Interface = DatItemMappings[DatItemField.Part_Interface];
+ if (DatItemMappings.ContainsKey(DatItemField.Part_Name))
+ part.Name = DatItemMappings[DatItemField.Part_Name];
+
if (part.FeaturesSpecified)
{
foreach (PartFeature subPartFeature in part.Features)
@@ -1034,11 +1014,11 @@ namespace SabreTools.DatFiles
/// RamOption to remove replace fields in
private void SetFields(RamOption ramOption)
{
- if (DatItemMappings.ContainsKey(DatItemField.Default))
- ramOption.Default = DatItemMappings[DatItemField.Default].AsYesNo();
-
if (DatItemMappings.ContainsKey(DatItemField.Content))
ramOption.Content = DatItemMappings[DatItemField.Content];
+
+ if (DatItemMappings.ContainsKey(DatItemField.Default))
+ ramOption.Default = DatItemMappings[DatItemField.Default].AsYesNo();
}
///
@@ -1047,17 +1027,17 @@ namespace SabreTools.DatFiles
/// Release to remove replace fields in
private void SetFields(Release release)
{
- if (DatItemMappings.ContainsKey(DatItemField.Region))
- release.Region = DatItemMappings[DatItemField.Region];
-
- if (DatItemMappings.ContainsKey(DatItemField.Language))
- release.Language = DatItemMappings[DatItemField.Language];
-
if (DatItemMappings.ContainsKey(DatItemField.Date))
release.Date = DatItemMappings[DatItemField.Date];
if (DatItemMappings.ContainsKey(DatItemField.Default))
release.Default = DatItemMappings[DatItemField.Default].AsYesNo();
+
+ if (DatItemMappings.ContainsKey(DatItemField.Language))
+ release.Language = DatItemMappings[DatItemField.Language];
+
+ if (DatItemMappings.ContainsKey(DatItemField.Region))
+ release.Region = DatItemMappings[DatItemField.Region];
}
///
@@ -1066,20 +1046,72 @@ namespace SabreTools.DatFiles
/// Rom to remove replace fields in
private void SetFields(Rom rom)
{
- #region Common
+ if (DatItemMappings.ContainsKey(DatItemField.AltName))
+ rom.AltName = DatItemMappings[DatItemField.AltName];
+
+ if (DatItemMappings.ContainsKey(DatItemField.AltTitle))
+ rom.AltTitle = DatItemMappings[DatItemField.AltTitle];
+
+ if (DatItemMappings.ContainsKey(DatItemField.ArchiveDotOrgFormat))
+ rom.ArchiveDotOrgFormat = DatItemMappings[DatItemField.ArchiveDotOrgFormat];
+
+ if (DatItemMappings.ContainsKey(DatItemField.ArchiveDotOrgSource))
+ rom.ArchiveDotOrgSource = DatItemMappings[DatItemField.ArchiveDotOrgSource];
if (DatItemMappings.ContainsKey(DatItemField.Bios))
rom.Bios = DatItemMappings[DatItemField.Bios];
- if (DatItemMappings.ContainsKey(DatItemField.Size))
- rom.Size = Utilities.CleanLong(DatItemMappings[DatItemField.Size]);
+ if (DatItemMappings.ContainsKey(DatItemField.Boot))
+ rom.Boot = DatItemMappings[DatItemField.Boot];
if (DatItemMappings.ContainsKey(DatItemField.CRC))
rom.CRC = DatItemMappings[DatItemField.CRC];
+ if (DatItemMappings.ContainsKey(DatItemField.Date))
+ rom.Date = DatItemMappings[DatItemField.Date];
+
+ if (DatItemMappings.ContainsKey(DatItemField.Inverted))
+ rom.Inverted = DatItemMappings[DatItemField.Inverted].AsYesNo();
+
+ if (DatItemMappings.ContainsKey(DatItemField.LoadFlag))
+ rom.LoadFlag = DatItemMappings[DatItemField.LoadFlag].AsLoadFlag();
+
if (DatItemMappings.ContainsKey(DatItemField.MD5))
rom.MD5 = DatItemMappings[DatItemField.MD5];
+ if (DatItemMappings.ContainsKey(DatItemField.Merge))
+ rom.MergeTag = DatItemMappings[DatItemField.Merge];
+
+ if (DatItemMappings.ContainsKey(DatItemField.MIA))
+ rom.MIA = DatItemMappings[DatItemField.MIA].AsYesNo();
+
+ if (DatItemMappings.ContainsKey(DatItemField.Offset))
+ rom.Offset = DatItemMappings[DatItemField.Offset];
+
+ if (DatItemMappings.ContainsKey(DatItemField.OpenMSXSubType))
+ rom.OpenMSXSubType = DatItemMappings[DatItemField.OpenMSXSubType].AsOpenMSXSubType();
+
+ if (DatItemMappings.ContainsKey(DatItemField.OpenMSXType))
+ rom.OpenMSXType = DatItemMappings[DatItemField.OpenMSXType];
+
+ if (DatItemMappings.ContainsKey(DatItemField.Optional))
+ rom.Optional = DatItemMappings[DatItemField.Optional].AsYesNo();
+
+ if (DatItemMappings.ContainsKey(DatItemField.Original))
+ rom.Original = new Original() { Content = DatItemMappings[DatItemField.Original] };
+
+ if (DatItemMappings.ContainsKey(DatItemField.OriginalFilename))
+ rom.OriginalFilename = DatItemMappings[DatItemField.OriginalFilename];
+
+ if (DatItemMappings.ContainsKey(DatItemField.Region))
+ rom.Region = DatItemMappings[DatItemField.Region];
+
+ if (DatItemMappings.ContainsKey(DatItemField.Remark))
+ rom.Remark = DatItemMappings[DatItemField.Remark];
+
+ if (DatItemMappings.ContainsKey(DatItemField.Rotation))
+ rom.Rotation = DatItemMappings[DatItemField.Rotation];
+
if (DatItemMappings.ContainsKey(DatItemField.SHA1))
rom.SHA1 = DatItemMappings[DatItemField.SHA1];
@@ -1092,100 +1124,26 @@ namespace SabreTools.DatFiles
if (DatItemMappings.ContainsKey(DatItemField.SHA512))
rom.SHA512 = DatItemMappings[DatItemField.SHA512];
+ if (DatItemMappings.ContainsKey(DatItemField.Size))
+ rom.Size = Utilities.CleanLong(DatItemMappings[DatItemField.Size]);
+
if (DatItemMappings.ContainsKey(DatItemField.SpamSum))
rom.SpamSum = DatItemMappings[DatItemField.SpamSum];
- if (DatItemMappings.ContainsKey(DatItemField.Merge))
- rom.MergeTag = DatItemMappings[DatItemField.Merge];
-
- if (DatItemMappings.ContainsKey(DatItemField.Region))
- rom.Region = DatItemMappings[DatItemField.Region];
-
- if (DatItemMappings.ContainsKey(DatItemField.Offset))
- rom.Offset = DatItemMappings[DatItemField.Offset];
-
- if (DatItemMappings.ContainsKey(DatItemField.Date))
- rom.Date = DatItemMappings[DatItemField.Date];
-
if (DatItemMappings.ContainsKey(DatItemField.Status))
rom.ItemStatus = DatItemMappings[DatItemField.Status].AsItemStatus();
- if (DatItemMappings.ContainsKey(DatItemField.Optional))
- rom.Optional = DatItemMappings[DatItemField.Optional].AsYesNo();
-
- if (DatItemMappings.ContainsKey(DatItemField.Inverted))
- rom.Inverted = DatItemMappings[DatItemField.Optional].AsYesNo();
-
- #endregion
-
- #region Archive.org
-
- if (DatItemMappings.ContainsKey(DatItemField.ArchiveDotOrgSource))
- rom.ArchiveDotOrgSource = DatItemMappings[DatItemField.ArchiveDotOrgSource];
-
- if (DatItemMappings.ContainsKey(DatItemField.ArchiveDotOrgFormat))
- rom.ArchiveDotOrgFormat = DatItemMappings[DatItemField.ArchiveDotOrgFormat];
-
- if (DatItemMappings.ContainsKey(DatItemField.OriginalFilename))
- rom.OriginalFilename = DatItemMappings[DatItemField.OriginalFilename];
-
- if (DatItemMappings.ContainsKey(DatItemField.Rotation))
- rom.Rotation = DatItemMappings[DatItemField.Rotation];
-
if (DatItemMappings.ContainsKey(DatItemField.Summation))
rom.Summation = DatItemMappings[DatItemField.Summation];
- #endregion
-
- #region AttractMode
-
- if (DatItemMappings.ContainsKey(DatItemField.AltName))
- rom.AltName = DatItemMappings[DatItemField.AltName];
-
- if (DatItemMappings.ContainsKey(DatItemField.AltTitle))
- rom.AltTitle = DatItemMappings[DatItemField.AltTitle];
-
- if (DatItemMappings.ContainsKey(DatItemField.MIA))
- rom.MIA = DatItemMappings[DatItemField.MIA].AsYesNo();
-
- #endregion
-
- #region OpenMSX
-
- if (DatItemMappings.ContainsKey(DatItemField.Original))
- rom.Original = new Original() { Content = DatItemMappings[DatItemField.Original] };
-
- if (DatItemMappings.ContainsKey(DatItemField.OpenMSXSubType))
- rom.OpenMSXSubType = DatItemMappings[DatItemField.OpenMSXSubType].AsOpenMSXSubType();
-
- if (DatItemMappings.ContainsKey(DatItemField.OpenMSXType))
- rom.OpenMSXType = DatItemMappings[DatItemField.OpenMSXType];
-
- if (DatItemMappings.ContainsKey(DatItemField.Remark))
- rom.Remark = DatItemMappings[DatItemField.Remark];
-
- if (DatItemMappings.ContainsKey(DatItemField.Boot))
- rom.Boot = DatItemMappings[DatItemField.Boot];
-
- #endregion
-
- #region SoftwareList
-
- if (DatItemMappings.ContainsKey(DatItemField.LoadFlag))
- rom.LoadFlag = DatItemMappings[DatItemField.LoadFlag].AsLoadFlag();
-
if (DatItemMappings.ContainsKey(DatItemField.Value))
rom.Value = DatItemMappings[DatItemField.Value];
rom.DataArea ??= new DataArea();
-
SetFields(rom.DataArea);
rom.Part ??= new Part();
-
SetFields(rom.Part);
-
- #endregion
}
///
@@ -1194,15 +1152,15 @@ namespace SabreTools.DatFiles
/// Setting to remove replace fields in
private void SetFields(Setting setting)
{
+ if (DatItemMappings.ContainsKey(DatItemField.Setting_Default))
+ setting.Default = DatItemMappings[DatItemField.Setting_Default].AsYesNo();
+
if (DatItemMappings.ContainsKey(DatItemField.Setting_Name))
setting.Name = DatItemMappings[DatItemField.Setting_Name];
if (DatItemMappings.ContainsKey(DatItemField.Setting_Value))
setting.Value = DatItemMappings[DatItemField.Setting_Value];
- if (DatItemMappings.ContainsKey(DatItemField.Setting_Default))
- setting.Default = DatItemMappings[DatItemField.Setting_Default].AsYesNo();
-
if (setting.ConditionsSpecified)
{
foreach (Condition subCondition in setting.Conditions)
@@ -1243,14 +1201,14 @@ namespace SabreTools.DatFiles
/// SlotOption to remove replace fields in
private void SetFields(SlotOption slotOption)
{
- if (DatItemMappings.ContainsKey(DatItemField.SlotOption_Name))
- slotOption.Name = DatItemMappings[DatItemField.SlotOption_Name];
+ if (DatItemMappings.ContainsKey(DatItemField.SlotOption_Default))
+ slotOption.Default = DatItemMappings[DatItemField.SlotOption_Default].AsYesNo();
if (DatItemMappings.ContainsKey(DatItemField.SlotOption_DeviceName))
slotOption.DeviceName = DatItemMappings[DatItemField.SlotOption_DeviceName];
- if (DatItemMappings.ContainsKey(DatItemField.SlotOption_Default))
- slotOption.Default = DatItemMappings[DatItemField.SlotOption_Default].AsYesNo();
+ if (DatItemMappings.ContainsKey(DatItemField.SlotOption_Name))
+ slotOption.Name = DatItemMappings[DatItemField.SlotOption_Name];
}
///
@@ -1259,14 +1217,14 @@ namespace SabreTools.DatFiles
/// SoftwareList to remove replace fields in
private void SetFields(SoftwareList softwareList)
{
- if (DatItemMappings.ContainsKey(DatItemField.Tag))
- softwareList.Tag = DatItemMappings[DatItemField.Tag];
+ if (DatItemMappings.ContainsKey(DatItemField.Filter))
+ softwareList.Filter = DatItemMappings[DatItemField.Filter];
if (DatItemMappings.ContainsKey(DatItemField.SoftwareListStatus))
softwareList.Status = DatItemMappings[DatItemField.SoftwareListStatus].AsSoftwareListStatus();
- if (DatItemMappings.ContainsKey(DatItemField.Filter))
- softwareList.Filter = DatItemMappings[DatItemField.Filter];
+ if (DatItemMappings.ContainsKey(DatItemField.Tag))
+ softwareList.Tag = DatItemMappings[DatItemField.Tag];
}
///
diff --git a/SabreTools.DatItems/Formats/Archive.cs b/SabreTools.DatItems/Formats/Archive.cs
index e48d64b5..8bdd0225 100644
--- a/SabreTools.DatItems/Formats/Archive.cs
+++ b/SabreTools.DatItems/Formats/Archive.cs
@@ -92,6 +92,7 @@ namespace SabreTools.DatItems.Formats
///
public override void SetName(string name) => Name = name;
+
#endregion
#region Constructors
diff --git a/SabreTools.Filtering/DatItemRemover.cs b/SabreTools.Filtering/DatItemRemover.cs
index 52af6009..16bb2786 100644
--- a/SabreTools.Filtering/DatItemRemover.cs
+++ b/SabreTools.Filtering/DatItemRemover.cs
@@ -307,32 +307,32 @@ namespace SabreTools.Filtering
/// Archive to remove fields from
private void RemoveFields(Archive archive)
{
- if (DatItemFields.Contains(DatItemField.Number))
- archive.Number = null;
+ if (DatItemFields.Contains(DatItemField.Categories))
+ archive.Categories = null;
if (DatItemFields.Contains(DatItemField.Clone))
archive.CloneValue = null;
- if (DatItemFields.Contains(DatItemField.RegParent))
- archive.RegParent = null;
-
- if (DatItemFields.Contains(DatItemField.Region))
- archive.Region = null;
-
- if (DatItemFields.Contains(DatItemField.Languages))
- archive.Languages = null;
+ if (DatItemFields.Contains(DatItemField.Complete))
+ archive.Complete = null;
if (DatItemFields.Contains(DatItemField.DevStatus))
archive.DevStatus = null;
+ if (DatItemFields.Contains(DatItemField.Languages))
+ archive.Languages = null;
+
+ if (DatItemFields.Contains(DatItemField.Number))
+ archive.Number = null;
+
if (DatItemFields.Contains(DatItemField.Physical))
archive.Physical = null;
- if (DatItemFields.Contains(DatItemField.Complete))
- archive.Complete = null;
+ if (DatItemFields.Contains(DatItemField.Region))
+ archive.Region = null;
- if (DatItemFields.Contains(DatItemField.Categories))
- archive.Categories = null;
+ if (DatItemFields.Contains(DatItemField.RegParent))
+ archive.RegParent = null;
}
///
@@ -341,11 +341,11 @@ namespace SabreTools.Filtering
/// BiosSet to remove fields from
private void RemoveFields(BiosSet biosSet)
{
- if (DatItemFields.Contains(DatItemField.Description))
- biosSet.Description = null;
-
if (DatItemFields.Contains(DatItemField.Default))
biosSet.Default = null;
+
+ if (DatItemFields.Contains(DatItemField.Description))
+ biosSet.Description = null;
}
///
@@ -354,14 +354,14 @@ namespace SabreTools.Filtering
/// Chip to remove fields from
private void RemoveFields(Chip chip)
{
- if (DatItemFields.Contains(DatItemField.Tag))
- chip.Tag = null;
-
if (DatItemFields.Contains(DatItemField.ChipType))
chip.ChipType = ChipType.NULL;
if (DatItemFields.Contains(DatItemField.Clock))
chip.Clock = null;
+
+ if (DatItemFields.Contains(DatItemField.Tag))
+ chip.Tag = null;
}
///
@@ -373,29 +373,29 @@ namespace SabreTools.Filtering
{
if (sub)
{
- if (DatItemFields.Contains(DatItemField.Condition_Tag))
- condition.Tag = null;
-
if (DatItemFields.Contains(DatItemField.Condition_Mask))
condition.Mask = null;
if (DatItemFields.Contains(DatItemField.Condition_Relation))
condition.Relation = Relation.NULL;
+ if (DatItemFields.Contains(DatItemField.Condition_Tag))
+ condition.Tag = null;
+
if (DatItemFields.Contains(DatItemField.Condition_Value))
condition.Value = null;
}
else
{
- if (DatItemFields.Contains(DatItemField.Tag))
- condition.Tag = null;
-
if (DatItemFields.Contains(DatItemField.Mask))
condition.Mask = null;
if (DatItemFields.Contains(DatItemField.Relation))
condition.Relation = Relation.NULL;
+ if (DatItemFields.Contains(DatItemField.Tag))
+ condition.Tag = null;
+
if (DatItemFields.Contains(DatItemField.Value))
condition.Value = null;
}
@@ -407,12 +407,12 @@ namespace SabreTools.Filtering
/// Configuration to remove fields from
private void RemoveFields(Configuration configuration)
{
- if (DatItemFields.Contains(DatItemField.Tag))
- configuration.Tag = null;
-
if (DatItemFields.Contains(DatItemField.Mask))
configuration.Mask = null;
+ if (DatItemFields.Contains(DatItemField.Tag))
+ configuration.Tag = null;
+
if (configuration.ConditionsSpecified)
{
foreach (Condition subCondition in configuration.Conditions)
@@ -444,33 +444,33 @@ namespace SabreTools.Filtering
/// Control to remove fields from
private void RemoveFields(Control control)
{
- if (DatItemFields.Contains(DatItemField.Control_Type))
- control.ControlType = ControlType.NULL;
-
- if (DatItemFields.Contains(DatItemField.Control_Player))
- control.Player = null;
-
if (DatItemFields.Contains(DatItemField.Control_Buttons))
control.Buttons = null;
- if (DatItemFields.Contains(DatItemField.Control_RequiredButtons))
- control.RequiredButtons = null;
-
- if (DatItemFields.Contains(DatItemField.Control_Minimum))
- control.Minimum = null;
-
- if (DatItemFields.Contains(DatItemField.Control_Maximum))
- control.Maximum = null;
-
- if (DatItemFields.Contains(DatItemField.Control_Sensitivity))
- control.Sensitivity = null;
-
if (DatItemFields.Contains(DatItemField.Control_KeyDelta))
control.KeyDelta = null;
+ if (DatItemFields.Contains(DatItemField.Control_Maximum))
+ control.Maximum = null;
+
+ if (DatItemFields.Contains(DatItemField.Control_Minimum))
+ control.Minimum = null;
+
+ if (DatItemFields.Contains(DatItemField.Control_Player))
+ control.Player = null;
+
+ if (DatItemFields.Contains(DatItemField.Control_RequiredButtons))
+ control.RequiredButtons = null;
+
if (DatItemFields.Contains(DatItemField.Control_Reverse))
control.Reverse = null;
+ if (DatItemFields.Contains(DatItemField.Control_Sensitivity))
+ control.Sensitivity = null;
+
+ if (DatItemFields.Contains(DatItemField.Control_Type))
+ control.ControlType = ControlType.NULL;
+
if (DatItemFields.Contains(DatItemField.Control_Ways))
control.Ways = null;
@@ -487,6 +487,9 @@ namespace SabreTools.Filtering
/// DataArea to remove fields from
private void RemoveFields(DataArea dataArea)
{
+ if (DatItemFields.Contains(DatItemField.AreaEndianness))
+ dataArea.Endianness = Endianness.NULL;
+
if (DatItemFields.Contains(DatItemField.AreaName))
dataArea.Name = null;
@@ -495,9 +498,6 @@ namespace SabreTools.Filtering
if (DatItemFields.Contains(DatItemField.AreaWidth))
dataArea.Width = null;
-
- if (DatItemFields.Contains(DatItemField.AreaEndianness))
- dataArea.Endianness = Endianness.NULL;
}
///
@@ -509,25 +509,17 @@ namespace SabreTools.Filtering
if (DatItemFields.Contains(DatItemField.DeviceType))
device.DeviceType = DeviceType.NULL;
- if (DatItemFields.Contains(DatItemField.Tag))
- device.Tag = null;
-
if (DatItemFields.Contains(DatItemField.FixedImage))
device.FixedImage = null;
- if (DatItemFields.Contains(DatItemField.Mandatory))
- device.Mandatory = null;
-
if (DatItemFields.Contains(DatItemField.Interface))
device.Interface = null;
- if (device.InstancesSpecified)
- {
- foreach (Instance subInstance in device.Instances)
- {
- RemoveFields(subInstance);
- }
- }
+ if (DatItemFields.Contains(DatItemField.Tag))
+ device.Tag = null;
+
+ if (DatItemFields.Contains(DatItemField.Mandatory))
+ device.Mandatory = null;
if (device.ExtensionsSpecified)
{
@@ -536,6 +528,14 @@ namespace SabreTools.Filtering
RemoveFields(subExtension);
}
}
+
+ if (device.InstancesSpecified)
+ {
+ foreach (Instance subInstance in device.Instances)
+ {
+ RemoveFields(subInstance);
+ }
+ }
}
///
@@ -544,14 +544,12 @@ namespace SabreTools.Filtering
/// DipSwitch to remove fields from
private void RemoveFields(DipSwitch dipSwitch)
{
- #region Common
+ if (DatItemFields.Contains(DatItemField.Mask))
+ dipSwitch.Mask = null;
if (DatItemFields.Contains(DatItemField.Tag))
dipSwitch.Tag = null;
- if (DatItemFields.Contains(DatItemField.Mask))
- dipSwitch.Mask = null;
-
if (dipSwitch.ConditionsSpecified)
{
foreach (Condition subCondition in dipSwitch.Conditions)
@@ -576,14 +574,8 @@ namespace SabreTools.Filtering
}
}
- #endregion
-
- #region SoftwareList
-
if (dipSwitch.PartSpecified)
RemoveFields(dipSwitch.Part);
-
- #endregion
}
///
@@ -592,43 +584,35 @@ namespace SabreTools.Filtering
/// Disk to remove fields from
private void RemoveFields(Disk disk)
{
- #region Common
-
- if (DatItemFields.Contains(DatItemField.MD5))
- disk.MD5 = null;
-
- if (DatItemFields.Contains(DatItemField.SHA1))
- disk.SHA1 = null;
-
- if (DatItemFields.Contains(DatItemField.Merge))
- disk.MergeTag = null;
-
- if (DatItemFields.Contains(DatItemField.Region))
- disk.Region = null;
-
if (DatItemFields.Contains(DatItemField.Index))
disk.Index = null;
- if (DatItemFields.Contains(DatItemField.Writable))
- disk.Writable = null;
-
if (DatItemFields.Contains(DatItemField.Status))
disk.ItemStatus = ItemStatus.NULL;
+ if (DatItemFields.Contains(DatItemField.MD5))
+ disk.MD5 = null;
+
+ if (DatItemFields.Contains(DatItemField.Merge))
+ disk.MergeTag = null;
+
if (DatItemFields.Contains(DatItemField.Optional))
disk.Optional = null;
- #endregion
+ if (DatItemFields.Contains(DatItemField.Region))
+ disk.Region = null;
- #region SoftwareList
+ if (DatItemFields.Contains(DatItemField.SHA1))
+ disk.SHA1 = null;
+
+ if (DatItemFields.Contains(DatItemField.Writable))
+ disk.Writable = null;
if (disk.DiskAreaSpecified)
RemoveFields(disk.DiskArea);
if (disk.PartSpecified)
RemoveFields(disk.Part);
-
- #endregion
}
///
@@ -647,47 +631,47 @@ namespace SabreTools.Filtering
/// Display to remove fields from
private void RemoveFields(Display display)
{
- if (DatItemFields.Contains(DatItemField.Tag))
- display.Tag = null;
-
if (DatItemFields.Contains(DatItemField.DisplayType))
display.DisplayType = DisplayType.NULL;
- if (DatItemFields.Contains(DatItemField.Rotate))
- display.Rotate = null;
-
if (DatItemFields.Contains(DatItemField.FlipX))
display.FlipX = null;
- if (DatItemFields.Contains(DatItemField.Width))
- display.Width = null;
-
- if (DatItemFields.Contains(DatItemField.Height))
- display.Height = null;
-
- if (DatItemFields.Contains(DatItemField.Refresh))
- display.Refresh = null;
-
- if (DatItemFields.Contains(DatItemField.PixClock))
- display.PixClock = null;
-
- if (DatItemFields.Contains(DatItemField.HTotal))
- display.HTotal = null;
-
if (DatItemFields.Contains(DatItemField.HBEnd))
display.HBEnd = null;
if (DatItemFields.Contains(DatItemField.HBStart))
display.HBStart = null;
- if (DatItemFields.Contains(DatItemField.VTotal))
- display.VTotal = null;
+ if (DatItemFields.Contains(DatItemField.Height))
+ display.Height = null;
+
+ if (DatItemFields.Contains(DatItemField.HTotal))
+ display.HTotal = null;
+
+ if (DatItemFields.Contains(DatItemField.PixClock))
+ display.PixClock = null;
+
+ if (DatItemFields.Contains(DatItemField.Refresh))
+ display.Refresh = null;
+
+ if (DatItemFields.Contains(DatItemField.Rotate))
+ display.Rotate = null;
+
+ if (DatItemFields.Contains(DatItemField.Tag))
+ display.Tag = null;
if (DatItemFields.Contains(DatItemField.VBEnd))
display.VBEnd = null;
if (DatItemFields.Contains(DatItemField.VBStart))
display.VBStart = null;
+
+ if (DatItemFields.Contains(DatItemField.VTotal))
+ display.VTotal = null;
+
+ if (DatItemFields.Contains(DatItemField.Width))
+ display.Width = null;
}
///
@@ -696,29 +680,29 @@ namespace SabreTools.Filtering
/// Driver to remove fields from
private void RemoveFields(Driver driver)
{
- if (DatItemFields.Contains(DatItemField.SupportStatus))
- driver.Status = SupportStatus.NULL;
+ if (DatItemFields.Contains(DatItemField.CocktailStatus))
+ driver.Cocktail = SupportStatus.NULL;
if (DatItemFields.Contains(DatItemField.EmulationStatus))
driver.Emulation = SupportStatus.NULL;
- if (DatItemFields.Contains(DatItemField.CocktailStatus))
- driver.Cocktail = SupportStatus.NULL;
-
- if (DatItemFields.Contains(DatItemField.SaveStateStatus))
- driver.SaveState = Supported.NULL;
-
- if (DatItemFields.Contains(DatItemField.RequiresArtwork))
- driver.RequiresArtwork = null;
-
- if (DatItemFields.Contains(DatItemField.Unofficial))
- driver.Unofficial = null;
+ if (DatItemFields.Contains(DatItemField.Incomplete))
+ driver.Incomplete = null;
if (DatItemFields.Contains(DatItemField.NoSoundHardware))
driver.NoSoundHardware = null;
- if (DatItemFields.Contains(DatItemField.Incomplete))
- driver.Incomplete = null;
+ if (DatItemFields.Contains(DatItemField.RequiresArtwork))
+ driver.RequiresArtwork = null;
+
+ if (DatItemFields.Contains(DatItemField.SaveStateStatus))
+ driver.SaveState = Supported.NULL;
+
+ if (DatItemFields.Contains(DatItemField.SupportStatus))
+ driver.Status = SupportStatus.NULL;
+
+ if (DatItemFields.Contains(DatItemField.Unofficial))
+ driver.Unofficial = null;
}
///
@@ -737,14 +721,14 @@ namespace SabreTools.Filtering
/// Feature to remove fields from
private void RemoveFields(Feature feature)
{
- if (DatItemFields.Contains(DatItemField.FeatureType))
- feature.Type = FeatureType.NULL;
+ if (DatItemFields.Contains(DatItemField.FeatureOverall))
+ feature.Overall = FeatureStatus.NULL;
if (DatItemFields.Contains(DatItemField.FeatureStatus))
feature.Status = FeatureStatus.NULL;
- if (DatItemFields.Contains(DatItemField.FeatureOverall))
- feature.Overall = FeatureStatus.NULL;
+ if (DatItemFields.Contains(DatItemField.FeatureType))
+ feature.Type = FeatureType.NULL;
}
///
@@ -763,18 +747,18 @@ namespace SabreTools.Filtering
/// Input to remove fields from
private void RemoveFields(Input input)
{
+ if (DatItemFields.Contains(DatItemField.Coins))
+ input.Coins = null;
+
+ if (DatItemFields.Contains(DatItemField.Players))
+ input.Players = 0;
+
if (DatItemFields.Contains(DatItemField.Service))
input.Service = null;
if (DatItemFields.Contains(DatItemField.Tilt))
input.Tilt = null;
- if (DatItemFields.Contains(DatItemField.Players))
- input.Players = 0;
-
- if (DatItemFields.Contains(DatItemField.Coins))
- input.Coins = null;
-
if (input.ControlsSpecified)
{
foreach (Control subControl in input.Controls)
@@ -790,11 +774,11 @@ namespace SabreTools.Filtering
/// Instance to remove fields from
private void RemoveFields(Instance instance)
{
- if (DatItemFields.Contains(DatItemField.Instance_Name))
- instance.Name = null;
-
if (DatItemFields.Contains(DatItemField.Instance_BriefName))
instance.BriefName = null;
+
+ if (DatItemFields.Contains(DatItemField.Instance_Name))
+ instance.Name = null;
}
///
@@ -803,14 +787,14 @@ namespace SabreTools.Filtering
/// Location to remove fields from
private void RemoveFields(Location location)
{
+ if (DatItemFields.Contains(DatItemField.Location_Inverted))
+ location.Inverted = null;
+
if (DatItemFields.Contains(DatItemField.Location_Name))
location.Name = null;
if (DatItemFields.Contains(DatItemField.Location_Number))
location.Number = null;
-
- if (DatItemFields.Contains(DatItemField.Location_Inverted))
- location.Inverted = null;
}
///
@@ -838,12 +822,12 @@ namespace SabreTools.Filtering
/// Part to remove fields from
private void RemoveFields(Part part)
{
- if (DatItemFields.Contains(DatItemField.Part_Name))
- part.Name = null;
-
if (DatItemFields.Contains(DatItemField.Part_Interface))
part.Interface = null;
+ if (DatItemFields.Contains(DatItemField.Part_Name))
+ part.Name = null;
+
if (part.FeaturesSpecified)
{
foreach (PartFeature subPartFeature in part.Features)
@@ -890,11 +874,11 @@ namespace SabreTools.Filtering
/// RamOption to remove fields from
private void RemoveFields(RamOption ramOption)
{
- if (DatItemFields.Contains(DatItemField.Default))
- ramOption.Default = null;
-
if (DatItemFields.Contains(DatItemField.Content))
ramOption.Content = null;
+
+ if (DatItemFields.Contains(DatItemField.Default))
+ ramOption.Default = null;
}
///
@@ -903,17 +887,17 @@ namespace SabreTools.Filtering
/// Release to remove fields from
private void RemoveFields(Release release)
{
- if (DatItemFields.Contains(DatItemField.Region))
- release.Region = null;
-
- if (DatItemFields.Contains(DatItemField.Language))
- release.Language = null;
-
if (DatItemFields.Contains(DatItemField.Date))
release.Date = null;
if (DatItemFields.Contains(DatItemField.Default))
release.Default = null;
+
+ if (DatItemFields.Contains(DatItemField.Language))
+ release.Language = null;
+
+ if (DatItemFields.Contains(DatItemField.Region))
+ release.Region = null;
}
///
@@ -922,20 +906,72 @@ namespace SabreTools.Filtering
/// Rom to remove fields from
private void RemoveFields(Rom rom)
{
- #region Common
+ if (DatItemFields.Contains(DatItemField.AltName))
+ rom.AltName = null;
+
+ if (DatItemFields.Contains(DatItemField.AltTitle))
+ rom.AltTitle = null;
+
+ if (DatItemFields.Contains(DatItemField.ArchiveDotOrgFormat))
+ rom.ArchiveDotOrgFormat = null;
+
+ if (DatItemFields.Contains(DatItemField.ArchiveDotOrgSource))
+ rom.ArchiveDotOrgSource = null;
if (DatItemFields.Contains(DatItemField.Bios))
rom.Bios = null;
- if (DatItemFields.Contains(DatItemField.Size))
- rom.Size = 0;
+ if (DatItemFields.Contains(DatItemField.Boot))
+ rom.Boot = null;
if (DatItemFields.Contains(DatItemField.CRC))
rom.CRC = null;
+ if (DatItemFields.Contains(DatItemField.Date))
+ rom.Date = null;
+
+ if (DatItemFields.Contains(DatItemField.Inverted))
+ rom.Inverted = null;
+
+ if (DatItemFields.Contains(DatItemField.LoadFlag))
+ rom.LoadFlag = LoadFlag.NULL;
+
if (DatItemFields.Contains(DatItemField.MD5))
rom.MD5 = null;
+ if (DatItemFields.Contains(DatItemField.Merge))
+ rom.MergeTag = null;
+
+ if (DatItemFields.Contains(DatItemField.MIA))
+ rom.MIA = null;
+
+ if (DatItemFields.Contains(DatItemField.Offset))
+ rom.Offset = null;
+
+ if (DatItemFields.Contains(DatItemField.OpenMSXSubType))
+ rom.OpenMSXSubType = OpenMSXSubType.NULL;
+
+ if (DatItemFields.Contains(DatItemField.OpenMSXType))
+ rom.OpenMSXType = null;
+
+ if (DatItemFields.Contains(DatItemField.Optional))
+ rom.Optional = null;
+
+ if (DatItemFields.Contains(DatItemField.Original))
+ rom.Original = null;
+
+ if (DatItemFields.Contains(DatItemField.OriginalFilename))
+ rom.OriginalFilename = null;
+
+ if (DatItemFields.Contains(DatItemField.Region))
+ rom.Region = null;
+
+ if (DatItemFields.Contains(DatItemField.Remark))
+ rom.Remark = null;
+
+ if (DatItemFields.Contains(DatItemField.Rotation))
+ rom.Rotation = null;
+
if (DatItemFields.Contains(DatItemField.SHA1))
rom.SHA1 = null;
@@ -948,92 +984,18 @@ namespace SabreTools.Filtering
if (DatItemFields.Contains(DatItemField.SHA512))
rom.SHA512 = null;
+ if (DatItemFields.Contains(DatItemField.Size))
+ rom.Size = 0;
+
if (DatItemFields.Contains(DatItemField.SpamSum))
rom.SpamSum = null;
- if (DatItemFields.Contains(DatItemField.Merge))
- rom.MergeTag = null;
-
- if (DatItemFields.Contains(DatItemField.Region))
- rom.Region = null;
-
- if (DatItemFields.Contains(DatItemField.Offset))
- rom.Offset = null;
-
- if (DatItemFields.Contains(DatItemField.Date))
- rom.Date = null;
-
if (DatItemFields.Contains(DatItemField.Status))
rom.ItemStatus = ItemStatus.NULL;
- if (DatItemFields.Contains(DatItemField.Optional))
- rom.Optional = null;
-
- if (DatItemFields.Contains(DatItemField.Inverted))
- rom.Inverted = null;
-
- #endregion
-
- #region Archive.org
-
- if (DatItemFields.Contains(DatItemField.ArchiveDotOrgSource))
- rom.ArchiveDotOrgSource = null;
-
- if (DatItemFields.Contains(DatItemField.ArchiveDotOrgFormat))
- rom.ArchiveDotOrgFormat = null;
-
- if (DatItemFields.Contains(DatItemField.OriginalFilename))
- rom.OriginalFilename = null;
-
- if (DatItemFields.Contains(DatItemField.Rotation))
- rom.Rotation = null;
-
if (DatItemFields.Contains(DatItemField.Summation))
rom.Summation = null;
- #endregion
-
- #region AttractMode
-
- if (DatItemFields.Contains(DatItemField.AltName))
- rom.AltName = null;
-
- if (DatItemFields.Contains(DatItemField.AltTitle))
- rom.AltTitle = null;
-
- #endregion
-
- #region Logiqx
-
- if (DatItemFields.Contains(DatItemField.MIA))
- rom.MIA = null;
-
- #endregion
-
- #region OpenMSX
-
- if (DatItemFields.Contains(DatItemField.Original))
- rom.Original = null;
-
- if (DatItemFields.Contains(DatItemField.OpenMSXSubType))
- rom.OpenMSXSubType = OpenMSXSubType.NULL;
-
- if (DatItemFields.Contains(DatItemField.OpenMSXType))
- rom.OpenMSXType = null;
-
- if (DatItemFields.Contains(DatItemField.Remark))
- rom.Remark = null;
-
- if (DatItemFields.Contains(DatItemField.Boot))
- rom.Boot = null;
-
- #endregion
-
- #region SoftwareList
-
- if (DatItemFields.Contains(DatItemField.LoadFlag))
- rom.LoadFlag = LoadFlag.NULL;
-
if (DatItemFields.Contains(DatItemField.Value))
rom.Value = null;
@@ -1042,8 +1004,6 @@ namespace SabreTools.Filtering
if (rom.PartSpecified)
RemoveFields(rom.Part);
-
- #endregion
}
///
@@ -1052,15 +1012,15 @@ namespace SabreTools.Filtering
/// Setting to remove fields from
private void RemoveFields(Setting setting)
{
+ if (DatItemFields.Contains(DatItemField.Setting_Default))
+ setting.Default = null;
+
if (DatItemFields.Contains(DatItemField.Setting_Name))
setting.Name = null;
if (DatItemFields.Contains(DatItemField.Setting_Value))
setting.Value = null;
- if (DatItemFields.Contains(DatItemField.Setting_Default))
- setting.Default = null;
-
if (setting.ConditionsSpecified)
{
foreach (Condition subCondition in setting.Conditions)
@@ -1101,14 +1061,14 @@ namespace SabreTools.Filtering
/// SlotOption to remove fields from
private void RemoveFields(SlotOption slotOption)
{
- if (DatItemFields.Contains(DatItemField.SlotOption_Name))
- slotOption.Name = null;
+ if (DatItemFields.Contains(DatItemField.SlotOption_Default))
+ slotOption.Default = null;
if (DatItemFields.Contains(DatItemField.SlotOption_DeviceName))
slotOption.DeviceName = null;
-
- if (DatItemFields.Contains(DatItemField.SlotOption_Default))
- slotOption.Default = null;
+
+ if (DatItemFields.Contains(DatItemField.SlotOption_Name))
+ slotOption.Name = null;
}
///
@@ -1117,14 +1077,14 @@ namespace SabreTools.Filtering
/// SoftwareList to remove fields from
private void RemoveFields(SoftwareList softwareList)
{
- if (DatItemFields.Contains(DatItemField.Tag))
- softwareList.Tag = null;
+ if (DatItemFields.Contains(DatItemField.Filter))
+ softwareList.Filter = null;
if (DatItemFields.Contains(DatItemField.SoftwareListStatus))
softwareList.Status = SoftwareListStatus.None;
- if (DatItemFields.Contains(DatItemField.Filter))
- softwareList.Filter = null;
+ if (DatItemFields.Contains(DatItemField.Tag))
+ softwareList.Tag = null;
}
///
diff --git a/SabreTools.Filtering/Replacer.cs b/SabreTools.Filtering/Replacer.cs
index 104dc60b..1937a41d 100644
--- a/SabreTools.Filtering/Replacer.cs
+++ b/SabreTools.Filtering/Replacer.cs
@@ -263,32 +263,32 @@ namespace SabreTools.Filtering
/// List of fields representing what should be updated
private static void ReplaceFields(Archive archive, Archive newItem, List datItemFields)
{
- if (datItemFields.Contains(DatItemField.Number))
- archive.Number = newItem.Number;
+ if (datItemFields.Contains(DatItemField.Categories))
+ archive.Categories = newItem.Categories;
if (datItemFields.Contains(DatItemField.Clone))
archive.CloneValue = newItem.CloneValue;
- if (datItemFields.Contains(DatItemField.RegParent))
- archive.RegParent = newItem.RegParent;
-
- if (datItemFields.Contains(DatItemField.Region))
- archive.Region = newItem.Region;
-
- if (datItemFields.Contains(DatItemField.Languages))
- archive.Languages = newItem.Languages;
+ if (datItemFields.Contains(DatItemField.Complete))
+ archive.Complete = newItem.Complete;
if (datItemFields.Contains(DatItemField.DevStatus))
archive.DevStatus = newItem.DevStatus;
+ if (datItemFields.Contains(DatItemField.Languages))
+ archive.Languages = newItem.Languages;
+
+ if (datItemFields.Contains(DatItemField.Number))
+ archive.Number = newItem.Number;
+
if (datItemFields.Contains(DatItemField.Physical))
archive.Physical = newItem.Physical;
- if (datItemFields.Contains(DatItemField.Complete))
- archive.Complete = newItem.Complete;
+ if (datItemFields.Contains(DatItemField.Region))
+ archive.Region = newItem.Region;
- if (datItemFields.Contains(DatItemField.Categories))
- archive.Categories = newItem.Categories;
+ if (datItemFields.Contains(DatItemField.RegParent))
+ archive.RegParent = newItem.RegParent;
}
///
@@ -299,11 +299,11 @@ namespace SabreTools.Filtering
/// List of fields representing what should be updated
private static void ReplaceFields(BiosSet biosSet, BiosSet newItem, List datItemFields)
{
- if (datItemFields.Contains(DatItemField.Description))
- biosSet.Description = newItem.Description;
-
if (datItemFields.Contains(DatItemField.Default))
biosSet.Default = newItem.Default;
+
+ if (datItemFields.Contains(DatItemField.Description))
+ biosSet.Description = newItem.Description;
}
///
@@ -314,14 +314,14 @@ namespace SabreTools.Filtering
/// List of fields representing what should be updated
private static void ReplaceFields(Chip chip, Chip newItem, List datItemFields)
{
- if (datItemFields.Contains(DatItemField.Tag))
- chip.Tag = newItem.Tag;
-
if (datItemFields.Contains(DatItemField.ChipType))
chip.ChipType = newItem.ChipType;
if (datItemFields.Contains(DatItemField.Clock))
chip.Clock = newItem.Clock;
+
+ if (datItemFields.Contains(DatItemField.Tag))
+ chip.Tag = newItem.Tag;
}
///
@@ -332,11 +332,6 @@ namespace SabreTools.Filtering
/// List of fields representing what should be updated
private static void ReplaceFields(Condition condition, Condition newItem, List datItemFields)
{
- if (datItemFields.Contains(DatItemField.Tag))
- condition.Tag = newItem.Tag;
- else if (datItemFields.Contains(DatItemField.Condition_Tag))
- condition.Tag = newItem.Tag;
-
if (datItemFields.Contains(DatItemField.Mask))
condition.Mask = newItem.Mask;
else if (datItemFields.Contains(DatItemField.Condition_Mask))
@@ -347,6 +342,11 @@ namespace SabreTools.Filtering
else if (datItemFields.Contains(DatItemField.Condition_Relation))
condition.Relation = newItem.Relation;
+ if (datItemFields.Contains(DatItemField.Tag))
+ condition.Tag = newItem.Tag;
+ else if (datItemFields.Contains(DatItemField.Condition_Tag))
+ condition.Tag = newItem.Tag;
+
if (datItemFields.Contains(DatItemField.Value))
condition.Value = newItem.Value;
else if (datItemFields.Contains(DatItemField.Condition_Value))
@@ -361,12 +361,12 @@ namespace SabreTools.Filtering
/// List of fields representing what should be updated
private static void ReplaceFields(Configuration configuration, Configuration newItem, List datItemFields)
{
- if (datItemFields.Contains(DatItemField.Tag))
- configuration.Tag = newItem.Tag;
-
if (datItemFields.Contains(DatItemField.Mask))
configuration.Mask = newItem.Mask;
+ if (datItemFields.Contains(DatItemField.Tag))
+ configuration.Tag = newItem.Tag;
+
// Condition_* doesn't make sense here
// since not every condition under the other item
// can replace every condition under this item
@@ -388,33 +388,33 @@ namespace SabreTools.Filtering
/// List of fields representing what should be updated
private static void ReplaceFields(Control control, Control newItem, List datItemFields)
{
- if (datItemFields.Contains(DatItemField.Control_Type))
- control.ControlType = newItem.ControlType;
-
- if (datItemFields.Contains(DatItemField.Control_Player))
- control.Player = newItem.Player;
-
if (datItemFields.Contains(DatItemField.Control_Buttons))
control.Buttons = newItem.Buttons;
- if (datItemFields.Contains(DatItemField.Control_RequiredButtons))
- control.RequiredButtons = newItem.RequiredButtons;
-
- if (datItemFields.Contains(DatItemField.Control_Minimum))
- control.Minimum = newItem.Minimum;
-
- if (datItemFields.Contains(DatItemField.Control_Maximum))
- control.Maximum = newItem.Maximum;
-
- if (datItemFields.Contains(DatItemField.Control_Sensitivity))
- control.Sensitivity = newItem.Sensitivity;
+ if (datItemFields.Contains(DatItemField.Control_Type))
+ control.ControlType = newItem.ControlType;
if (datItemFields.Contains(DatItemField.Control_KeyDelta))
control.KeyDelta = newItem.KeyDelta;
+ if (datItemFields.Contains(DatItemField.Control_Maximum))
+ control.Maximum = newItem.Maximum;
+
+ if (datItemFields.Contains(DatItemField.Control_Minimum))
+ control.Minimum = newItem.Minimum;
+
+ if (datItemFields.Contains(DatItemField.Control_Player))
+ control.Player = newItem.Player;
+
+ if (datItemFields.Contains(DatItemField.Control_RequiredButtons))
+ control.RequiredButtons = newItem.RequiredButtons;
+
if (datItemFields.Contains(DatItemField.Control_Reverse))
control.Reverse = newItem.Reverse;
+ if (datItemFields.Contains(DatItemField.Control_Sensitivity))
+ control.Sensitivity = newItem.Sensitivity;
+
if (datItemFields.Contains(DatItemField.Control_Ways))
control.Ways = newItem.Ways;
@@ -433,6 +433,9 @@ namespace SabreTools.Filtering
/// List of fields representing what should be updated
private static void ReplaceFields(DataArea dataArea, DataArea newItem, List datItemFields)
{
+ if (datItemFields.Contains(DatItemField.AreaEndianness))
+ dataArea.Endianness = newItem.Endianness;
+
if (datItemFields.Contains(DatItemField.AreaName))
dataArea.Name = newItem.Name;
@@ -441,9 +444,6 @@ namespace SabreTools.Filtering
if (datItemFields.Contains(DatItemField.AreaWidth))
dataArea.Width = newItem.Width;
-
- if (datItemFields.Contains(DatItemField.AreaEndianness))
- dataArea.Endianness = newItem.Endianness;
}
///
@@ -457,17 +457,17 @@ namespace SabreTools.Filtering
if (datItemFields.Contains(DatItemField.DeviceType))
device.DeviceType = newItem.DeviceType;
- if (datItemFields.Contains(DatItemField.Tag))
- device.Tag = newItem.Tag;
-
if (datItemFields.Contains(DatItemField.FixedImage))
device.FixedImage = newItem.FixedImage;
+ if (datItemFields.Contains(DatItemField.Interface))
+ device.Interface = newItem.Interface;
+
if (datItemFields.Contains(DatItemField.Mandatory))
device.Mandatory = newItem.Mandatory;
- if (datItemFields.Contains(DatItemField.Interface))
- device.Interface = newItem.Interface;
+ if (datItemFields.Contains(DatItemField.Tag))
+ device.Tag = newItem.Tag;
// Instance_* doesn't make sense here
// since not every instance under the other item
@@ -486,14 +486,12 @@ namespace SabreTools.Filtering
/// List of fields representing what should be updated
private static void ReplaceFields(DipSwitch dipSwitch, DipSwitch newItem, List datItemFields)
{
- #region Common
+ if (datItemFields.Contains(DatItemField.Mask))
+ dipSwitch.Mask = newItem.Mask;
if (datItemFields.Contains(DatItemField.Tag))
dipSwitch.Tag = newItem.Tag;
- if (datItemFields.Contains(DatItemField.Mask))
- dipSwitch.Mask = newItem.Mask;
-
// Condition_* doesn't make sense here
// since not every condition under the other item
// can replace every condition under this item
@@ -506,14 +504,8 @@ namespace SabreTools.Filtering
// since not every value under the other item
// can replace every value under this item
- #endregion
-
- #region SoftwareList
-
if (dipSwitch.PartSpecified && newItem.PartSpecified)
ReplaceFields(dipSwitch.Part, newItem.Part, datItemFields);
-
- #endregion
}
///
@@ -524,7 +516,11 @@ namespace SabreTools.Filtering
/// List of fields representing what should be updated
private static void ReplaceFields(Disk disk, Disk newItem, List datItemFields)
{
- #region Common
+ if (datItemFields.Contains(DatItemField.Index))
+ disk.Index = newItem.Index;
+
+ if (datItemFields.Contains(DatItemField.Status))
+ disk.ItemStatus = newItem.ItemStatus;
if (datItemFields.Contains(DatItemField.MD5))
{
@@ -532,41 +528,29 @@ namespace SabreTools.Filtering
disk.MD5 = newItem.MD5;
}
+ if (datItemFields.Contains(DatItemField.Merge))
+ disk.MergeTag = newItem.MergeTag;
+
+ if (datItemFields.Contains(DatItemField.Optional))
+ disk.Optional = newItem.Optional;
+
if (datItemFields.Contains(DatItemField.SHA1))
{
if (string.IsNullOrEmpty(disk.SHA1) && !string.IsNullOrEmpty(newItem.SHA1))
disk.SHA1 = newItem.SHA1;
}
- if (datItemFields.Contains(DatItemField.Merge))
- disk.MergeTag = newItem.MergeTag;
-
if (datItemFields.Contains(DatItemField.Region))
disk.Region = newItem.Region;
- if (datItemFields.Contains(DatItemField.Index))
- disk.Index = newItem.Index;
-
if (datItemFields.Contains(DatItemField.Writable))
disk.Writable = newItem.Writable;
- if (datItemFields.Contains(DatItemField.Status))
- disk.ItemStatus = newItem.ItemStatus;
-
- if (datItemFields.Contains(DatItemField.Optional))
- disk.Optional = newItem.Optional;
-
- #endregion
-
- #region SoftwareList
-
if (disk.DiskAreaSpecified && newItem.DiskAreaSpecified)
ReplaceFields(disk.DiskArea, newItem.DiskArea, datItemFields);
if (disk.PartSpecified && newItem.PartSpecified)
ReplaceFields(disk.Part, newItem.Part, datItemFields);
-
- #endregion
}
///
@@ -589,47 +573,47 @@ namespace SabreTools.Filtering
/// List of fields representing what should be updated
private static void ReplaceFields(Display display, Display newItem, List datItemFields)
{
- if (datItemFields.Contains(DatItemField.Tag))
- display.Tag = newItem.Tag;
-
if (datItemFields.Contains(DatItemField.DisplayType))
display.DisplayType = newItem.DisplayType;
- if (datItemFields.Contains(DatItemField.Rotate))
- display.Rotate = newItem.Rotate;
-
if (datItemFields.Contains(DatItemField.FlipX))
display.FlipX = newItem.FlipX;
- if (datItemFields.Contains(DatItemField.Width))
- display.Width = newItem.Width;
-
- if (datItemFields.Contains(DatItemField.Height))
- display.Height = newItem.Height;
-
- if (datItemFields.Contains(DatItemField.Refresh))
- display.Refresh = newItem.Refresh;
-
- if (datItemFields.Contains(DatItemField.PixClock))
- display.PixClock = newItem.PixClock;
-
- if (datItemFields.Contains(DatItemField.HTotal))
- display.HTotal = newItem.HTotal;
-
if (datItemFields.Contains(DatItemField.HBEnd))
display.HBEnd = newItem.HBEnd;
if (datItemFields.Contains(DatItemField.HBStart))
display.HBStart = newItem.HBStart;
- if (datItemFields.Contains(DatItemField.VTotal))
- display.VTotal = newItem.VTotal;
+ if (datItemFields.Contains(DatItemField.Height))
+ display.Height = newItem.Height;
+
+ if (datItemFields.Contains(DatItemField.HTotal))
+ display.HTotal = newItem.HTotal;
+
+ if (datItemFields.Contains(DatItemField.PixClock))
+ display.PixClock = newItem.PixClock;
+
+ if (datItemFields.Contains(DatItemField.Refresh))
+ display.Refresh = newItem.Refresh;
+
+ if (datItemFields.Contains(DatItemField.Rotate))
+ display.Rotate = newItem.Rotate;
+
+ if (datItemFields.Contains(DatItemField.Tag))
+ display.Tag = newItem.Tag;
if (datItemFields.Contains(DatItemField.VBEnd))
display.VBEnd = newItem.VBEnd;
if (datItemFields.Contains(DatItemField.VBStart))
display.VBStart = newItem.VBStart;
+
+ if (datItemFields.Contains(DatItemField.VTotal))
+ display.VTotal = newItem.VTotal;
+
+ if (datItemFields.Contains(DatItemField.Width))
+ display.Width = newItem.Width;
}
///
@@ -640,29 +624,29 @@ namespace SabreTools.Filtering
/// List of fields representing what should be updated
private static void ReplaceFields(Driver driver, Driver newItem, List datItemFields)
{
- if (datItemFields.Contains(DatItemField.SupportStatus))
- driver.Status = newItem.Status;
+ if (datItemFields.Contains(DatItemField.CocktailStatus))
+ driver.Cocktail = newItem.Cocktail;
if (datItemFields.Contains(DatItemField.EmulationStatus))
driver.Emulation = newItem.Emulation;
- if (datItemFields.Contains(DatItemField.CocktailStatus))
- driver.Cocktail = newItem.Cocktail;
-
- if (datItemFields.Contains(DatItemField.SaveStateStatus))
- driver.SaveState = newItem.SaveState;
-
- if (datItemFields.Contains(DatItemField.RequiresArtwork))
- driver.RequiresArtwork = newItem.RequiresArtwork;
-
- if (datItemFields.Contains(DatItemField.Unofficial))
- driver.Unofficial = newItem.Unofficial;
+ if (datItemFields.Contains(DatItemField.Incomplete))
+ driver.Incomplete = newItem.Incomplete;
if (datItemFields.Contains(DatItemField.NoSoundHardware))
driver.NoSoundHardware = newItem.NoSoundHardware;
- if (datItemFields.Contains(DatItemField.Incomplete))
- driver.Incomplete = newItem.Incomplete;
+ if (datItemFields.Contains(DatItemField.RequiresArtwork))
+ driver.RequiresArtwork = newItem.RequiresArtwork;
+
+ if (datItemFields.Contains(DatItemField.SaveStateStatus))
+ driver.SaveState = newItem.SaveState;
+
+ if (datItemFields.Contains(DatItemField.SupportStatus))
+ driver.Status = newItem.Status;
+
+ if (datItemFields.Contains(DatItemField.Unofficial))
+ driver.Unofficial = newItem.Unofficial;
}
///
@@ -685,14 +669,14 @@ namespace SabreTools.Filtering
/// List of fields representing what should be updated
private static void ReplaceFields(Feature feature, Feature newItem, List datItemFields)
{
- if (datItemFields.Contains(DatItemField.FeatureType))
- feature.Type = newItem.Type;
+ if (datItemFields.Contains(DatItemField.FeatureOverall))
+ feature.Overall = newItem.Overall;
if (datItemFields.Contains(DatItemField.FeatureStatus))
feature.Status = newItem.Status;
- if (datItemFields.Contains(DatItemField.FeatureOverall))
- feature.Overall = newItem.Overall;
+ if (datItemFields.Contains(DatItemField.FeatureType))
+ feature.Type = newItem.Type;
}
///
@@ -715,18 +699,18 @@ namespace SabreTools.Filtering
/// List of fields representing what should be updated
private static void ReplaceFields(Input input, Input newItem, List datItemFields)
{
+ if (datItemFields.Contains(DatItemField.Coins))
+ input.Coins = newItem.Coins;
+
+ if (datItemFields.Contains(DatItemField.Players))
+ input.Players = newItem.Players;
+
if (datItemFields.Contains(DatItemField.Service))
input.Service = newItem.Service;
if (datItemFields.Contains(DatItemField.Tilt))
input.Tilt = newItem.Tilt;
- if (datItemFields.Contains(DatItemField.Players))
- input.Players = newItem.Players;
-
- if (datItemFields.Contains(DatItemField.Coins))
- input.Coins = newItem.Coins;
-
// Control_* doesn't make sense here
// since not every control under the other item
// can replace every control under this item
@@ -740,11 +724,11 @@ namespace SabreTools.Filtering
/// List of fields representing what should be updated
private static void ReplaceFields(Instance instance, Instance newItem, List datItemFields)
{
- if (datItemFields.Contains(DatItemField.Instance_Name))
- instance.Name = newItem.Name;
-
if (datItemFields.Contains(DatItemField.Instance_BriefName))
instance.BriefName = newItem.BriefName;
+
+ if (datItemFields.Contains(DatItemField.Instance_Name))
+ instance.Name = newItem.Name;
}
///
@@ -755,14 +739,14 @@ namespace SabreTools.Filtering
/// List of fields representing what should be updated
private static void ReplaceFields(Location location, Location newItem, List datItemFields)
{
+ if (datItemFields.Contains(DatItemField.Location_Inverted))
+ location.Inverted = newItem.Inverted;
+
if (datItemFields.Contains(DatItemField.Location_Name))
location.Name = newItem.Name;
if (datItemFields.Contains(DatItemField.Location_Number))
location.Number = newItem.Number;
-
- if (datItemFields.Contains(DatItemField.Location_Inverted))
- location.Inverted = newItem.Inverted;
}
///
@@ -806,12 +790,12 @@ namespace SabreTools.Filtering
/// List of fields representing what should be updated
private static void ReplaceFields(Part part, Part newItem, List datItemFields)
{
- if (datItemFields.Contains(DatItemField.Part_Name))
- part.Name = newItem.Name;
-
if (datItemFields.Contains(DatItemField.Part_Interface))
part.Interface = newItem.Interface;
+ if (datItemFields.Contains(DatItemField.Part_Name))
+ part.Name = newItem.Name;
+
// Part_Feature_* doesn't make sense here
// since not every part feature under the other item
// can replace every part feature under this item
@@ -856,11 +840,11 @@ namespace SabreTools.Filtering
/// List of fields representing what should be updated
private static void ReplaceFields(RamOption ramOption, RamOption newItem, List datItemFields)
{
- if (datItemFields.Contains(DatItemField.Default))
- ramOption.Default = newItem.Default;
-
if (datItemFields.Contains(DatItemField.Content))
ramOption.Content = newItem.Content;
+
+ if (datItemFields.Contains(DatItemField.Default))
+ ramOption.Default = newItem.Default;
}
///
@@ -871,17 +855,17 @@ namespace SabreTools.Filtering
/// List of fields representing what should be updated
private static void ReplaceFields(Release release, Release newItem, List datItemFields)
{
- if (datItemFields.Contains(DatItemField.Region))
- release.Region = newItem.Region;
-
- if (datItemFields.Contains(DatItemField.Language))
- release.Language = newItem.Language;
-
if (datItemFields.Contains(DatItemField.Date))
release.Date = newItem.Date;
if (datItemFields.Contains(DatItemField.Default))
release.Default = newItem.Default;
+
+ if (datItemFields.Contains(DatItemField.Language))
+ release.Language = newItem.Language;
+
+ if (datItemFields.Contains(DatItemField.Region))
+ release.Region = newItem.Region;
}
///
@@ -892,13 +876,23 @@ namespace SabreTools.Filtering
/// List of fields representing what should be updated
private static void ReplaceFields(Rom rom, Rom newItem, List datItemFields)
{
- #region Common
+ if (datItemFields.Contains(DatItemField.ArchiveDotOrgFormat))
+ rom.ArchiveDotOrgFormat = newItem.ArchiveDotOrgFormat;
+
+ if (datItemFields.Contains(DatItemField.ArchiveDotOrgSource))
+ rom.ArchiveDotOrgSource = newItem.ArchiveDotOrgSource;
+
+ if (datItemFields.Contains(DatItemField.AltName))
+ rom.AltName = newItem.AltName;
+
+ if (datItemFields.Contains(DatItemField.AltTitle))
+ rom.AltTitle = newItem.AltTitle;
if (datItemFields.Contains(DatItemField.Bios))
rom.Bios = newItem.Bios;
- if (datItemFields.Contains(DatItemField.Size))
- rom.Size = newItem.Size;
+ if (datItemFields.Contains(DatItemField.Boot))
+ rom.Boot = newItem.Boot;
if (datItemFields.Contains(DatItemField.CRC))
{
@@ -906,12 +900,54 @@ namespace SabreTools.Filtering
rom.CRC = newItem.CRC;
}
+ if (datItemFields.Contains(DatItemField.Date))
+ rom.Date = newItem.Date;
+
+ if (datItemFields.Contains(DatItemField.Inverted))
+ rom.Inverted = newItem.Inverted;
+
+ if (datItemFields.Contains(DatItemField.LoadFlag))
+ rom.LoadFlag = newItem.LoadFlag;
+
if (datItemFields.Contains(DatItemField.MD5))
{
if (string.IsNullOrEmpty(rom.MD5) && !string.IsNullOrEmpty(newItem.MD5))
rom.MD5 = newItem.MD5;
}
+ if (datItemFields.Contains(DatItemField.Merge))
+ rom.MergeTag = newItem.MergeTag;
+
+ if (datItemFields.Contains(DatItemField.MIA))
+ rom.MIA = newItem.MIA;
+
+ if (datItemFields.Contains(DatItemField.Offset))
+ rom.Offset = newItem.Offset;
+
+ if (datItemFields.Contains(DatItemField.OpenMSXSubType))
+ rom.OpenMSXSubType = newItem.OpenMSXSubType;
+
+ if (datItemFields.Contains(DatItemField.OpenMSXType))
+ rom.OpenMSXType = newItem.OpenMSXType;
+
+ if (datItemFields.Contains(DatItemField.Optional))
+ rom.Optional = newItem.Optional;
+
+ if (datItemFields.Contains(DatItemField.Original))
+ rom.Original = newItem.Original;
+
+ if (datItemFields.Contains(DatItemField.OriginalFilename))
+ rom.OriginalFilename = newItem.OriginalFilename;
+
+ if (datItemFields.Contains(DatItemField.Region))
+ rom.Region = newItem.Region;
+
+ if (datItemFields.Contains(DatItemField.Remark))
+ rom.Remark = newItem.Remark;
+
+ if (datItemFields.Contains(DatItemField.Rotation))
+ rom.Rotation = newItem.Rotation;
+
if (datItemFields.Contains(DatItemField.SHA1))
{
if (string.IsNullOrEmpty(rom.SHA1) && !string.IsNullOrEmpty(newItem.SHA1))
@@ -936,95 +972,21 @@ namespace SabreTools.Filtering
rom.SHA512 = newItem.SHA512;
}
+ if (datItemFields.Contains(DatItemField.Size))
+ rom.Size = newItem.Size;
+
if (datItemFields.Contains(DatItemField.SpamSum))
{
if (string.IsNullOrEmpty(rom.SpamSum) && !string.IsNullOrEmpty(newItem.SpamSum))
rom.SpamSum = newItem.SpamSum;
}
- if (datItemFields.Contains(DatItemField.Merge))
- rom.MergeTag = newItem.MergeTag;
-
- if (datItemFields.Contains(DatItemField.Region))
- rom.Region = newItem.Region;
-
- if (datItemFields.Contains(DatItemField.Offset))
- rom.Offset = newItem.Offset;
-
- if (datItemFields.Contains(DatItemField.Date))
- rom.Date = newItem.Date;
-
if (datItemFields.Contains(DatItemField.Status))
rom.ItemStatus = newItem.ItemStatus;
- if (datItemFields.Contains(DatItemField.Optional))
- rom.Optional = newItem.Optional;
-
- if (datItemFields.Contains(DatItemField.Inverted))
- rom.Inverted = newItem.Inverted;
-
- #endregion
-
- #region Archive.org
-
- if (datItemFields.Contains(DatItemField.ArchiveDotOrgSource))
- rom.ArchiveDotOrgSource = newItem.ArchiveDotOrgSource;
-
- if (datItemFields.Contains(DatItemField.ArchiveDotOrgFormat))
- rom.ArchiveDotOrgFormat = newItem.ArchiveDotOrgFormat;
-
- if (datItemFields.Contains(DatItemField.OriginalFilename))
- rom.OriginalFilename = newItem.OriginalFilename;
-
- if (datItemFields.Contains(DatItemField.Rotation))
- rom.Rotation = newItem.Rotation;
-
if (datItemFields.Contains(DatItemField.Summation))
rom.Summation = newItem.Summation;
- #endregion
-
- #region AttractMode
-
- if (datItemFields.Contains(DatItemField.AltName))
- rom.AltName = newItem.AltName;
-
- if (datItemFields.Contains(DatItemField.AltTitle))
- rom.AltTitle = newItem.AltTitle;
-
- #endregion
-
- #region Logiqx
-
- if (datItemFields.Contains(DatItemField.MIA))
- rom.MIA = newItem.MIA;
-
- #endregion
-
- #region OpenMSX
-
- if (datItemFields.Contains(DatItemField.Original))
- rom.Original = newItem.Original;
-
- if (datItemFields.Contains(DatItemField.OpenMSXSubType))
- rom.OpenMSXSubType = newItem.OpenMSXSubType;
-
- if (datItemFields.Contains(DatItemField.OpenMSXType))
- rom.OpenMSXType = newItem.OpenMSXType;
-
- if (datItemFields.Contains(DatItemField.Remark))
- rom.Remark = newItem.Remark;
-
- if (datItemFields.Contains(DatItemField.Boot))
- rom.Boot = newItem.Boot;
-
- #endregion
-
- #region SoftwareList
-
- if (datItemFields.Contains(DatItemField.LoadFlag))
- rom.LoadFlag = newItem.LoadFlag;
-
if (datItemFields.Contains(DatItemField.Value))
rom.Value = newItem.Value;
@@ -1033,8 +995,6 @@ namespace SabreTools.Filtering
if (rom.PartSpecified && newItem.PartSpecified)
ReplaceFields(rom.Part, newItem.Part, datItemFields);
-
- #endregion
}
///
@@ -1045,15 +1005,15 @@ namespace SabreTools.Filtering
/// List of fields representing what should be updated
private static void ReplaceFields(Setting setting, Setting newItem, List datItemFields)
{
+ if (datItemFields.Contains(DatItemField.Setting_Default))
+ setting.Default = newItem.Default;
+
if (datItemFields.Contains(DatItemField.Setting_Name))
setting.Name = newItem.Name;
if (datItemFields.Contains(DatItemField.Setting_Value))
setting.Value = newItem.Value;
- if (datItemFields.Contains(DatItemField.Setting_Default))
- setting.Default = newItem.Default;
-
// Condition_* doesn't make sense here
// since not every condition under the other item
// can replace every condition under this item
@@ -1092,14 +1052,14 @@ namespace SabreTools.Filtering
/// List of fields representing what should be updated
private static void ReplaceFields(SlotOption slotOption, SlotOption newItem, List datItemFields)
{
- if (datItemFields.Contains(DatItemField.SlotOption_Name))
- slotOption.Name = newItem.Name;
+ if (datItemFields.Contains(DatItemField.SlotOption_Default))
+ slotOption.Default = newItem.Default;
if (datItemFields.Contains(DatItemField.SlotOption_DeviceName))
slotOption.DeviceName = newItem.DeviceName;
- if (datItemFields.Contains(DatItemField.SlotOption_Default))
- slotOption.Default = newItem.Default;
+ if (datItemFields.Contains(DatItemField.SlotOption_Name))
+ slotOption.Name = newItem.Name;
}
///
@@ -1110,14 +1070,14 @@ namespace SabreTools.Filtering
/// List of fields representing what should be updated
private static void ReplaceFields(SoftwareList softwareList, SoftwareList newItem, List datItemFields)
{
- if (datItemFields.Contains(DatItemField.Tag))
- softwareList.Tag = newItem.Tag;
+ if (datItemFields.Contains(DatItemField.Filter))
+ softwareList.Filter = newItem.Filter;
if (datItemFields.Contains(DatItemField.SoftwareListStatus))
softwareList.Status = newItem.Status;
- if (datItemFields.Contains(DatItemField.Filter))
- softwareList.Filter = newItem.Filter;
+ if (datItemFields.Contains(DatItemField.Tag))
+ softwareList.Tag = newItem.Tag;
}
///