From d8835920a7d7436d88958047969842fcfad699da Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Tue, 8 Sep 2020 10:56:37 -0700 Subject: [PATCH] Reduce DatItem boilerplate --- SabreTools.Library/DatItems/Adjuster.cs | 6 +- SabreTools.Library/DatItems/Analog.cs | 4 +- SabreTools.Library/DatItems/Archive.cs | 4 +- SabreTools.Library/DatItems/BiosSet.cs | 10 +- SabreTools.Library/DatItems/Chip.cs | 14 +-- SabreTools.Library/DatItems/Condition.cs | 24 ++--- SabreTools.Library/DatItems/Configuration.cs | 12 +-- SabreTools.Library/DatItems/Control.cs | 56 +++-------- SabreTools.Library/DatItems/DatItem.cs | 72 ++++++++++++-- SabreTools.Library/DatItems/DataArea.cs | 18 +--- SabreTools.Library/DatItems/Device.cs | 18 +--- .../DatItems/DeviceReference.cs | 4 +- SabreTools.Library/DatItems/DipSwitch.cs | 12 +-- SabreTools.Library/DatItems/Disk.cs | 28 ++---- SabreTools.Library/DatItems/DiskArea.cs | 4 +- SabreTools.Library/DatItems/Display.cs | 72 +++----------- SabreTools.Library/DatItems/Extension.cs | 4 +- SabreTools.Library/DatItems/Info.cs | 8 +- SabreTools.Library/DatItems/Input.cs | 16 +-- SabreTools.Library/DatItems/Instance.cs | 8 +- SabreTools.Library/DatItems/Location.cs | 12 +-- SabreTools.Library/DatItems/Media.cs | 20 +--- SabreTools.Library/DatItems/Part.cs | 8 +- SabreTools.Library/DatItems/PartFeature.cs | 12 +-- SabreTools.Library/DatItems/Port.cs | 4 +- SabreTools.Library/DatItems/RamOption.cs | 10 +- SabreTools.Library/DatItems/Release.cs | 18 +--- SabreTools.Library/DatItems/Rom.cs | 98 +++++-------------- SabreTools.Library/DatItems/Sample.cs | 4 +- SabreTools.Library/DatItems/Setting.cs | 10 +- SabreTools.Library/DatItems/SharedFeature.cs | 10 +- SabreTools.Library/DatItems/Slot.cs | 4 +- SabreTools.Library/DatItems/SlotOption.cs | 10 +- SabreTools.Library/DatItems/SoftwareList.cs | 8 +- SabreTools.Library/DatItems/Sound.cs | 6 +- 35 files changed, 202 insertions(+), 426 deletions(-) diff --git a/SabreTools.Library/DatItems/Adjuster.cs b/SabreTools.Library/DatItems/Adjuster.cs index cece2061..73432677 100644 --- a/SabreTools.Library/DatItems/Adjuster.cs +++ b/SabreTools.Library/DatItems/Adjuster.cs @@ -190,13 +190,11 @@ namespace SabreTools.Library.DatItems return false; // Filter on item name - if (filter.DatItem_Name.MatchesPositiveSet(Name) == false) - return false; - if (filter.DatItem_Name.MatchesNegativeSet(Name) == true) + if (!PassStringFilter(filter.DatItem_Name, Name)) return false; // Filter on default - if (filter.DatItem_Default.MatchesNeutral(null, Default) == false) + if (!PassBoolFilter(filter.DatItem_Default, Default)) return false; // Filter on individual conditions diff --git a/SabreTools.Library/DatItems/Analog.cs b/SabreTools.Library/DatItems/Analog.cs index 0fadbb2c..20254218 100644 --- a/SabreTools.Library/DatItems/Analog.cs +++ b/SabreTools.Library/DatItems/Analog.cs @@ -104,9 +104,7 @@ namespace SabreTools.Library.DatItems return false; // Filter on mask - if (filter.DatItem_Analog_Mask.MatchesPositiveSet(Mask) == false) - return false; - if (filter.DatItem_Analog_Mask.MatchesNegativeSet(Mask) == true) + if (!PassStringFilter(filter.DatItem_Analog_Mask, Mask)) return false; return true; diff --git a/SabreTools.Library/DatItems/Archive.cs b/SabreTools.Library/DatItems/Archive.cs index eddf6a95..dea9ea9d 100644 --- a/SabreTools.Library/DatItems/Archive.cs +++ b/SabreTools.Library/DatItems/Archive.cs @@ -143,9 +143,7 @@ namespace SabreTools.Library.DatItems return false; // Filter on item name - if (filter.DatItem_Name.MatchesPositiveSet(Name) == false) - return false; - if (filter.DatItem_Name.MatchesNegativeSet(Name) == true) + if (!PassStringFilter(filter.DatItem_Name, Name)) return false; return true; diff --git a/SabreTools.Library/DatItems/BiosSet.cs b/SabreTools.Library/DatItems/BiosSet.cs index 5f489b57..60c1f815 100644 --- a/SabreTools.Library/DatItems/BiosSet.cs +++ b/SabreTools.Library/DatItems/BiosSet.cs @@ -170,19 +170,15 @@ namespace SabreTools.Library.DatItems return false; // Filter on item name - if (filter.DatItem_Name.MatchesPositiveSet(Name) == false) - return false; - if (filter.DatItem_Name.MatchesNegativeSet(Name) == true) + if (!PassStringFilter(filter.DatItem_Name, Name)) return false; // Filter on description - if (filter.DatItem_Description.MatchesPositiveSet(Description) == false) - return false; - if (filter.DatItem_Description.MatchesNegativeSet(Description) == true) + if (!PassStringFilter(filter.DatItem_Description, Description)) return false; // Filter on default - if (filter.DatItem_Default.MatchesNeutral(null, Default) == false) + if (!PassBoolFilter(filter.DatItem_Default, Default)) return false; return true; diff --git a/SabreTools.Library/DatItems/Chip.cs b/SabreTools.Library/DatItems/Chip.cs index 23d2566c..60da5e3e 100644 --- a/SabreTools.Library/DatItems/Chip.cs +++ b/SabreTools.Library/DatItems/Chip.cs @@ -188,15 +188,11 @@ namespace SabreTools.Library.DatItems return false; // Filter on item name - if (filter.DatItem_Name.MatchesPositiveSet(Name) == false) - return false; - if (filter.DatItem_Name.MatchesNegativeSet(Name) == true) + if (!PassStringFilter(filter.DatItem_Name, Name)) return false; // DatItem_Tag - if (filter.DatItem_Tag.MatchesPositiveSet(Tag) == false) - return false; - if (filter.DatItem_Tag.MatchesNegativeSet(Tag) == true) + if (!PassStringFilter(filter.DatItem_Tag, Tag)) return false; // DatItem_ChipType @@ -206,11 +202,7 @@ namespace SabreTools.Library.DatItems return false; // DatItem_Clock - if (filter.DatItem_Clock.MatchesNeutral(null, Clock) == false) - return false; - else if (filter.DatItem_Clock.MatchesPositive(null, Clock) == false) - return false; - else if (filter.DatItem_Clock.MatchesNegative(null, Clock) == false) + if (!PassLongFilter(filter.DatItem_Clock, Clock)) return false; return true; diff --git a/SabreTools.Library/DatItems/Condition.cs b/SabreTools.Library/DatItems/Condition.cs index b95e1a60..a03581f8 100644 --- a/SabreTools.Library/DatItems/Condition.cs +++ b/SabreTools.Library/DatItems/Condition.cs @@ -186,15 +186,11 @@ namespace SabreTools.Library.DatItems if (sub) { // Filter on tag - if (filter.DatItem_Condition_Tag.MatchesPositiveSet(Tag) == false) - return false; - if (filter.DatItem_Condition_Tag.MatchesNegativeSet(Tag) == true) + if (!PassStringFilter(filter.DatItem_Condition_Tag, Tag)) return false; // Filter on mask - if (filter.DatItem_Condition_Mask.MatchesPositiveSet(Mask) == false) - return false; - if (filter.DatItem_Condition_Mask.MatchesNegativeSet(Mask) == true) + if (!PassStringFilter(filter.DatItem_Condition_Mask, Mask)) return false; // Filter on relation @@ -204,23 +200,17 @@ namespace SabreTools.Library.DatItems return false; // Filter on value - if (filter.DatItem_Condition_Value.MatchesPositiveSet(Value) == false) - return false; - if (filter.DatItem_Condition_Value.MatchesNegativeSet(Value) == true) + if (!PassStringFilter(filter.DatItem_Condition_Value, Value)) return false; } else { // Filter on tag - if (filter.DatItem_Tag.MatchesPositiveSet(Tag) == false) - return false; - if (filter.DatItem_Tag.MatchesNegativeSet(Tag) == true) + if (!PassStringFilter(filter.DatItem_Tag, Tag)) return false; // Filter on mask - if (filter.DatItem_Mask.MatchesPositiveSet(Mask) == false) - return false; - if (filter.DatItem_Mask.MatchesNegativeSet(Mask) == true) + if (!PassStringFilter(filter.DatItem_Mask, Mask)) return false; // Filter on relation @@ -230,9 +220,7 @@ namespace SabreTools.Library.DatItems return false; // Filter on value - if (filter.DatItem_Value.MatchesPositiveSet(Value) == false) - return false; - if (filter.DatItem_Value.MatchesNegativeSet(Value) == true) + if (!PassStringFilter(filter.DatItem_Value, Value)) return false; } diff --git a/SabreTools.Library/DatItems/Configuration.cs b/SabreTools.Library/DatItems/Configuration.cs index 764bddd0..9c6830e3 100644 --- a/SabreTools.Library/DatItems/Configuration.cs +++ b/SabreTools.Library/DatItems/Configuration.cs @@ -255,21 +255,15 @@ namespace SabreTools.Library.DatItems return false; // Filter on item name - if (filter.DatItem_Name.MatchesPositiveSet(Name) == false) - return false; - if (filter.DatItem_Name.MatchesNegativeSet(Name) == true) + if (!PassStringFilter(filter.DatItem_Name, Name)) return false; // Filter on tag - if (filter.DatItem_Tag.MatchesPositiveSet(Tag) == false) - return false; - if (filter.DatItem_Tag.MatchesNegativeSet(Tag) == true) + if (!PassStringFilter(filter.DatItem_Tag, Tag)) return false; // Filter on mask - if (filter.DatItem_Mask.MatchesPositiveSet(Mask) == false) - return false; - if (filter.DatItem_Mask.MatchesNegativeSet(Mask) == true) + if (!PassStringFilter(filter.DatItem_Mask, Mask)) return false; // Filter on individual conditions diff --git a/SabreTools.Library/DatItems/Control.cs b/SabreTools.Library/DatItems/Control.cs index 5e926292..883681ff 100644 --- a/SabreTools.Library/DatItems/Control.cs +++ b/SabreTools.Library/DatItems/Control.cs @@ -273,81 +273,47 @@ namespace SabreTools.Library.DatItems return false; // Filter on player - if (filter.DatItem_Control_Player.MatchesNeutral(null, Player) == false) - return false; - else if (filter.DatItem_Control_Player.MatchesPositive(null, Player) == false) - return false; - else if (filter.DatItem_Control_Player.MatchesNegative(null, Player) == false) + if (!PassLongFilter(filter.DatItem_Control_Player, Player)) return false; // Filter on buttons - if (filter.DatItem_Control_Buttons.MatchesNeutral(null, Buttons) == false) - return false; - else if (filter.DatItem_Control_Buttons.MatchesPositive(null, Buttons) == false) - return false; - else if (filter.DatItem_Control_Buttons.MatchesNegative(null, Buttons) == false) + if (!PassLongFilter(filter.DatItem_Control_Buttons, Buttons)) return false; // Filter on reqbuttons - if (filter.DatItem_Control_ReqButtons.MatchesNeutral(null, RequiredButtons) == false) - return false; - else if (filter.DatItem_Control_ReqButtons.MatchesPositive(null, RequiredButtons) == false) - return false; - else if (filter.DatItem_Control_ReqButtons.MatchesNegative(null, RequiredButtons) == false) + if (!PassLongFilter(filter.DatItem_Control_ReqButtons, RequiredButtons)) return false; // Filter on minimum - if (filter.DatItem_Control_Minimum.MatchesNeutral(null, Minimum) == false) - return false; - else if (filter.DatItem_Control_Minimum.MatchesPositive(null, Minimum) == false) - return false; - else if (filter.DatItem_Control_Minimum.MatchesNegative(null, Minimum) == false) + if (!PassLongFilter(filter.DatItem_Control_Minimum, Minimum)) return false; // Filter on maximum - if (filter.DatItem_Control_Maximum.MatchesNeutral(null, Maximum) == false) - return false; - else if (filter.DatItem_Control_Maximum.MatchesPositive(null, Maximum) == false) - return false; - else if (filter.DatItem_Control_Maximum.MatchesNegative(null, Maximum) == false) + if (!PassLongFilter(filter.DatItem_Control_Maximum, Maximum)) return false; // Filter on sensitivity - if (filter.DatItem_Control_Sensitivity.MatchesNeutral(null, Sensitivity) == false) - return false; - else if (filter.DatItem_Control_Sensitivity.MatchesPositive(null, Sensitivity) == false) - return false; - else if (filter.DatItem_Control_Sensitivity.MatchesNegative(null, Sensitivity) == false) + if (!PassLongFilter(filter.DatItem_Control_Sensitivity, Sensitivity)) return false; // Filter on keydelta - if (filter.DatItem_Control_KeyDelta.MatchesNeutral(null, KeyDelta) == false) - return false; - else if (filter.DatItem_Control_KeyDelta.MatchesPositive(null, KeyDelta) == false) - return false; - else if (filter.DatItem_Control_KeyDelta.MatchesNegative(null, KeyDelta) == false) + if (!PassLongFilter(filter.DatItem_Control_KeyDelta, KeyDelta)) return false; // Filter on reverse - if (filter.DatItem_Control_Reverse.MatchesNeutral(null, Reverse) == false) + if (!PassBoolFilter(filter.DatItem_Control_Reverse, Reverse)) return false; // Filter on ways - if (filter.DatItem_Control_Ways.MatchesPositiveSet(Ways) == false) - return false; - if (filter.DatItem_Control_Ways.MatchesNegativeSet(Ways) == true) + if (!PassStringFilter(filter.DatItem_Control_Ways, Ways)) return false; // Filter on ways2 - if (filter.DatItem_Control_Ways2.MatchesPositiveSet(Ways2) == false) - return false; - if (filter.DatItem_Control_Ways2.MatchesNegativeSet(Ways2) == true) + if (!PassStringFilter(filter.DatItem_Control_Ways2, Ways2)) return false; // Filter on ways3 - if (filter.DatItem_Control_Ways3.MatchesPositiveSet(Ways3) == false) - return false; - if (filter.DatItem_Control_Ways3.MatchesNegativeSet(Ways3) == true) + if (!PassStringFilter(filter.DatItem_Control_Ways3, Ways3)) return false; return true; diff --git a/SabreTools.Library/DatItems/DatItem.cs b/SabreTools.Library/DatItems/DatItem.cs index 79513815..0bc751be 100644 --- a/SabreTools.Library/DatItems/DatItem.cs +++ b/SabreTools.Library/DatItems/DatItem.cs @@ -728,15 +728,75 @@ namespace SabreTools.Library.DatItems if (!Machine.PassesFilter(filter)) return false; - #region Common - // Filter on item type - if (filter.DatItem_Type.MatchesPositiveSet(ItemType.ToString()) == false) - return false; - if (filter.DatItem_Type.MatchesNegativeSet(ItemType.ToString()) == true) + if (!PassStringFilter(filter.DatItem_Type, ItemType.ToString())) return false; - #endregion + return true; + } + + /// + /// Determines if a value passes a bool? filter + /// + /// Filter item to check + /// Value to check + /// True if the value passes, false otherwise + protected bool PassBoolFilter(FilterItem filterItem, bool? value) + { + if (filterItem.MatchesNeutral(null, value) == false) + return false; + + return true; + } + + /// + /// Determines if a value passes a double? filter + /// + /// Filter item to check + /// Value to check + /// True if the value passes, false otherwise + protected bool PassDoubleFilter(FilterItem filterItem, double? value) + { + if (filterItem.MatchesNeutral(null, value) == false) + return false; + else if (filterItem.MatchesPositive(null, value) == false) + return false; + else if (filterItem.MatchesNegative(null, value) == false) + return false; + + return true; + } + + /// + /// Determines if a value passes a long? filter + /// + /// Filter item to check + /// Value to check + /// True if the value passes, false otherwise + protected bool PassLongFilter(FilterItem filterItem, long? value) + { + if (filterItem.MatchesNeutral(null, value) == false) + return false; + else if (filterItem.MatchesPositive(null, value) == false) + return false; + else if (filterItem.MatchesNegative(null, value) == false) + return false; + + return true; + } + + /// + /// Determines if a value passes a string filter + /// + /// Filter item to check + /// Value to check + /// True if the value passes, false otherwise + protected bool PassStringFilter(FilterItem filterItem, string value) + { + if (filterItem.MatchesPositiveSet(value) == false) + return false; + if (filterItem.MatchesNegativeSet(value) == true) + return false; return true; } diff --git a/SabreTools.Library/DatItems/DataArea.cs b/SabreTools.Library/DatItems/DataArea.cs index 5d41bcf7..992c37dd 100644 --- a/SabreTools.Library/DatItems/DataArea.cs +++ b/SabreTools.Library/DatItems/DataArea.cs @@ -190,25 +190,15 @@ namespace SabreTools.Library.DatItems return false; // Filter on area name - if (filter.DatItem_AreaName.MatchesPositiveSet(Name) == false) - return false; - if (filter.DatItem_AreaName.MatchesNegativeSet(Name) == true) + if (!PassStringFilter(filter.DatItem_AreaName, Name)) return false; // Filter on area size - if (filter.DatItem_AreaSize.MatchesNeutral(null, Size) == false) - return false; - else if (filter.DatItem_AreaSize.MatchesPositive(null, Size) == false) - return false; - else if (filter.DatItem_AreaSize.MatchesNegative(null, Size) == false) + if (!PassLongFilter(filter.DatItem_AreaSize, Size)) return false; - // Filter on area byte width - if (filter.DatItem_AreaWidth.MatchesNeutral(null, Width) == false) - return false; - else if (filter.DatItem_AreaWidth.MatchesPositive(null, Width) == false) - return false; - else if (filter.DatItem_AreaWidth.MatchesNegative(null, Width) == false) + // Filter on area width + if (!PassLongFilter(filter.DatItem_AreaWidth, Width)) return false; // Filter on area endianness diff --git a/SabreTools.Library/DatItems/Device.cs b/SabreTools.Library/DatItems/Device.cs index 97ab7f9e..f4773311 100644 --- a/SabreTools.Library/DatItems/Device.cs +++ b/SabreTools.Library/DatItems/Device.cs @@ -228,29 +228,19 @@ namespace SabreTools.Library.DatItems return false; // Filter on tag - if (filter.DatItem_Tag.MatchesPositiveSet(Tag) == false) - return false; - if (filter.DatItem_Tag.MatchesNegativeSet(Tag) == true) + if (!PassStringFilter(filter.DatItem_Tag, Tag)) return false; // Filter on fixed image - if (filter.DatItem_FixedImage.MatchesPositiveSet(FixedImage) == false) - return false; - if (filter.DatItem_FixedImage.MatchesNegativeSet(FixedImage) == true) + if (!PassStringFilter(filter.DatItem_FixedImage, FixedImage)) return false; // Filter on mandatory - if (filter.DatItem_Mandatory.MatchesNeutral(null, Mandatory) == false) - return false; - else if (filter.DatItem_Mandatory.MatchesPositive(null, Mandatory) == false) - return false; - else if (filter.DatItem_Mandatory.MatchesNegative(null, Mandatory) == false) + if (!PassLongFilter(filter.DatItem_Mandatory, Mandatory)) return false; // Filter on interface - if (filter.DatItem_Interface.MatchesPositiveSet(Interface) == false) - return false; - if (filter.DatItem_Interface.MatchesNegativeSet(Interface) == true) + if (!PassStringFilter(filter.DatItem_Interface, Interface)) return false; // Filter on individual instances diff --git a/SabreTools.Library/DatItems/DeviceReference.cs b/SabreTools.Library/DatItems/DeviceReference.cs index 6c779886..2e5e4e5d 100644 --- a/SabreTools.Library/DatItems/DeviceReference.cs +++ b/SabreTools.Library/DatItems/DeviceReference.cs @@ -143,9 +143,7 @@ namespace SabreTools.Library.DatItems return false; // Filter on item name - if (filter.DatItem_Name.MatchesPositiveSet(Name) == false) - return false; - if (filter.DatItem_Name.MatchesNegativeSet(Name) == true) + if (!PassStringFilter(filter.DatItem_Name, Name)) return false; return true; diff --git a/SabreTools.Library/DatItems/DipSwitch.cs b/SabreTools.Library/DatItems/DipSwitch.cs index d8f3e13e..774263e2 100644 --- a/SabreTools.Library/DatItems/DipSwitch.cs +++ b/SabreTools.Library/DatItems/DipSwitch.cs @@ -304,21 +304,15 @@ namespace SabreTools.Library.DatItems #region Common // Filter on item name - if (filter.DatItem_Name.MatchesPositiveSet(Name) == false) - return false; - if (filter.DatItem_Name.MatchesNegativeSet(Name) == true) + if (!PassStringFilter(filter.DatItem_Name, Name)) return false; // Filter on tag - if (filter.DatItem_Tag.MatchesPositiveSet(Tag) == false) - return false; - if (filter.DatItem_Tag.MatchesNegativeSet(Tag) == true) + if (!PassStringFilter(filter.DatItem_Tag, Tag)) return false; // Filter on mask - if (filter.DatItem_Mask.MatchesPositiveSet(Mask) == false) - return false; - if (filter.DatItem_Mask.MatchesNegativeSet(Mask) == true) + if (!PassStringFilter(filter.DatItem_Mask, Mask)) return false; // Filter on individual conditions diff --git a/SabreTools.Library/DatItems/Disk.cs b/SabreTools.Library/DatItems/Disk.cs index 185a5286..2993c38a 100644 --- a/SabreTools.Library/DatItems/Disk.cs +++ b/SabreTools.Library/DatItems/Disk.cs @@ -449,43 +449,31 @@ namespace SabreTools.Library.DatItems #region Common // Filter on item name - if (filter.DatItem_Name.MatchesPositiveSet(Name) == false) - return false; - if (filter.DatItem_Name.MatchesNegativeSet(Name) == true) + if (!PassStringFilter(filter.DatItem_Name, Name)) return false; // Filter on MD5 - if (filter.DatItem_MD5.MatchesPositiveSet(MD5) == false) - return false; - if (filter.DatItem_MD5.MatchesNegativeSet(MD5) == true) + if (!PassStringFilter(filter.DatItem_MD5, MD5)) return false; // Filter on SHA-1 - if (filter.DatItem_SHA1.MatchesPositiveSet(SHA1) == false) - return false; - if (filter.DatItem_SHA1.MatchesNegativeSet(SHA1) == true) + if (!PassStringFilter(filter.DatItem_SHA1, SHA1)) return false; // Filter on merge tag - if (filter.DatItem_Merge.MatchesPositiveSet(MergeTag) == false) - return false; - if (filter.DatItem_Merge.MatchesNegativeSet(MergeTag) == true) + if (!PassStringFilter(filter.DatItem_Merge, MergeTag)) return false; // Filter on region - if (filter.DatItem_Region.MatchesPositiveSet(Region) == false) - return false; - if (filter.DatItem_Region.MatchesNegativeSet(Region) == true) + if (!PassStringFilter(filter.DatItem_Region, Region)) return false; // Filter on index - if (filter.DatItem_Index.MatchesPositiveSet(Index) == false) - return false; - if (filter.DatItem_Index.MatchesNegativeSet(Index) == true) + if (!PassStringFilter(filter.DatItem_Index, Index)) return false; // Filter on writable - if (filter.DatItem_Writable.MatchesNeutral(null, Writable) == false) + if (!PassBoolFilter(filter.DatItem_Writable, Writable)) return false; // Filter on status @@ -495,7 +483,7 @@ namespace SabreTools.Library.DatItems return false; // Filter on optional - if (filter.DatItem_Optional.MatchesNeutral(null, Optional) == false) + if (!PassBoolFilter(filter.DatItem_Optional, Optional)) return false; #endregion diff --git a/SabreTools.Library/DatItems/DiskArea.cs b/SabreTools.Library/DatItems/DiskArea.cs index ab47ca7c..931388e1 100644 --- a/SabreTools.Library/DatItems/DiskArea.cs +++ b/SabreTools.Library/DatItems/DiskArea.cs @@ -145,9 +145,7 @@ namespace SabreTools.Library.DatItems return false; // Filter on area name - if (filter.DatItem_AreaName.MatchesPositiveSet(Name) == false) - return false; - if (filter.DatItem_AreaName.MatchesNegativeSet(Name) == true) + if (!PassStringFilter(filter.DatItem_AreaName, Name)) return false; return true; diff --git a/SabreTools.Library/DatItems/Display.cs b/SabreTools.Library/DatItems/Display.cs index d0a6ed1b..6d7eb4ea 100644 --- a/SabreTools.Library/DatItems/Display.cs +++ b/SabreTools.Library/DatItems/Display.cs @@ -306,9 +306,7 @@ namespace SabreTools.Library.DatItems return false; // Filter on tag - if (filter.DatItem_Tag.MatchesPositiveSet(Tag) == false) - return false; - if (filter.DatItem_Tag.MatchesNegativeSet(Tag) == true) + if (!PassStringFilter(filter.DatItem_Tag, Tag)) return false; // Filter on display type @@ -318,95 +316,51 @@ namespace SabreTools.Library.DatItems return false; // Filter on rotation - if (filter.DatItem_Rotate.MatchesNeutral(null, Rotate) == false) - return false; - else if (filter.DatItem_Rotate.MatchesPositive(null, Rotate) == false) - return false; - else if (filter.DatItem_Rotate.MatchesNegative(null, Rotate) == false) + if (!PassLongFilter(filter.DatItem_Rotate, Rotate)) return false; // Filter on flipx - if (filter.DatItem_FlipX.MatchesNeutral(null, FlipX) == false) + if (!PassBoolFilter(filter.DatItem_FlipX, FlipX)) return false; // Filter on width - if (filter.DatItem_Width.MatchesNeutral(null, Width) == false) - return false; - else if (filter.DatItem_Width.MatchesPositive(null, Width) == false) - return false; - else if (filter.DatItem_Width.MatchesNegative(null, Width) == false) + if (!PassLongFilter(filter.DatItem_Width, Width)) return false; // Filter on height - if (filter.DatItem_Height.MatchesNeutral(null, Height) == false) - return false; - else if (filter.DatItem_Height.MatchesPositive(null, Height) == false) - return false; - else if (filter.DatItem_Height.MatchesNegative(null, Height) == false) + if (!PassLongFilter(filter.DatItem_Height, Height)) return false; // Filter on refresh - if (filter.DatItem_Refresh.MatchesNeutral(null, Refresh) == false) - return false; - else if (filter.DatItem_Refresh.MatchesPositive(null, Refresh) == false) - return false; - else if (filter.DatItem_Refresh.MatchesNegative(null, Refresh) == false) + if (!PassDoubleFilter(filter.DatItem_Refresh, Refresh)) return false; // Filter on pixclock - if (filter.DatItem_PixClock.MatchesNeutral(null, PixClock) == false) - return false; - else if (filter.DatItem_PixClock.MatchesPositive(null, PixClock) == false) - return false; - else if (filter.DatItem_PixClock.MatchesNegative(null, PixClock) == false) + if (!PassLongFilter(filter.DatItem_PixClock, PixClock)) return false; // Filter on htotal - if (filter.DatItem_HTotal.MatchesNeutral(null, HTotal) == false) - return false; - else if (filter.DatItem_HTotal.MatchesPositive(null, HTotal) == false) - return false; - else if (filter.DatItem_HTotal.MatchesNegative(null, HTotal) == false) + if (!PassLongFilter(filter.DatItem_HTotal, HTotal)) return false; // Filter on hbend - if (filter.DatItem_HBEnd.MatchesNeutral(null, HBEnd) == false) - return false; - else if (filter.DatItem_HBEnd.MatchesPositive(null, HBEnd) == false) - return false; - else if (filter.DatItem_HBEnd.MatchesNegative(null, HBEnd) == false) + if (!PassLongFilter(filter.DatItem_HBEnd, HBEnd)) return false; // Filter on hbstart - if (filter.DatItem_HBStart.MatchesNeutral(null, HBStart) == false) - return false; - else if (filter.DatItem_HBStart.MatchesPositive(null, HBStart) == false) - return false; - else if (filter.DatItem_HBStart.MatchesNegative(null, HBStart) == false) + if (!PassLongFilter(filter.DatItem_HBStart, HBStart)) return false; // Filter on vtotal - if (filter.DatItem_VTotal.MatchesNeutral(null, VTotal) == false) - return false; - else if (filter.DatItem_VTotal.MatchesPositive(null, VTotal) == false) - return false; - else if (filter.DatItem_VTotal.MatchesNegative(null, VTotal) == false) + if (!PassLongFilter(filter.DatItem_VTotal, VTotal)) return false; // Filter on vbend - if (filter.DatItem_VBEnd.MatchesNeutral(null, VBEnd) == false) - return false; - else if (filter.DatItem_VBEnd.MatchesPositive(null, VBEnd) == false) - return false; - else if (filter.DatItem_VBEnd.MatchesNegative(null, VBEnd) == false) + if (!PassLongFilter(filter.DatItem_VBEnd, VBEnd)) return false; // Filter on vbstart - if (filter.DatItem_VBStart.MatchesNeutral(null, VBStart) == false) - return false; - else if (filter.DatItem_VBStart.MatchesPositive(null, VBStart) == false) - return false; - else if (filter.DatItem_VBStart.MatchesNegative(null, VBStart) == false) + if (!PassLongFilter(filter.DatItem_VBStart, VBStart)) return false; return true; diff --git a/SabreTools.Library/DatItems/Extension.cs b/SabreTools.Library/DatItems/Extension.cs index b63c6cb3..186ffdf1 100644 --- a/SabreTools.Library/DatItems/Extension.cs +++ b/SabreTools.Library/DatItems/Extension.cs @@ -143,9 +143,7 @@ namespace SabreTools.Library.DatItems return false; // Filter on item name - if (filter.DatItem_Extension_Name.MatchesPositiveSet(Name) == false) - return false; - if (filter.DatItem_Extension_Name.MatchesNegativeSet(Name) == true) + if (!PassStringFilter(filter.DatItem_Extension_Name, Name)) return false; return true; diff --git a/SabreTools.Library/DatItems/Info.cs b/SabreTools.Library/DatItems/Info.cs index 09dd9400..501ee4ce 100644 --- a/SabreTools.Library/DatItems/Info.cs +++ b/SabreTools.Library/DatItems/Info.cs @@ -154,15 +154,11 @@ namespace SabreTools.Library.DatItems return false; // Filter on item name - if (filter.DatItem_Name.MatchesPositiveSet(Name) == false) - return false; - if (filter.DatItem_Name.MatchesNegativeSet(Name) == true) + if (!PassStringFilter(filter.DatItem_Name, Name)) return false; // Filter on info value - if (filter.DatItem_Value.MatchesPositiveSet(Value) == false) - return false; - if (filter.DatItem_Value.MatchesNegativeSet(Value) == true) + if (!PassStringFilter(filter.DatItem_Value, Value)) return false; return true; diff --git a/SabreTools.Library/DatItems/Input.cs b/SabreTools.Library/DatItems/Input.cs index 17462f68..58c55c04 100644 --- a/SabreTools.Library/DatItems/Input.cs +++ b/SabreTools.Library/DatItems/Input.cs @@ -186,27 +186,19 @@ namespace SabreTools.Library.DatItems return false; // Filter on service - if (filter.DatItem_Service.MatchesNeutral(null, Service) == false) + if (!PassBoolFilter(filter.DatItem_Service, Service)) return false; // Filter on tilt - if (filter.DatItem_Tilt.MatchesNeutral(null, Tilt) == false) + if (!PassBoolFilter(filter.DatItem_Tilt, Tilt)) return false; // Filter on players - if (filter.DatItem_Players.MatchesNeutral(null, Players) == false) - return false; - else if (filter.DatItem_Players.MatchesPositive(null, Players) == false) - return false; - else if (filter.DatItem_Players.MatchesNegative(null, Players) == false) + if (!PassLongFilter(filter.DatItem_Players, Players)) return false; // Filter on coins - if (filter.DatItem_Coins.MatchesNeutral(null, Coins) == false) - return false; - else if (filter.DatItem_Coins.MatchesPositive(null, Coins) == false) - return false; - else if (filter.DatItem_Coins.MatchesNegative(null, Coins) == false) + if (!PassLongFilter(filter.DatItem_Coins, Coins)) return false; // Filter on individual controls diff --git a/SabreTools.Library/DatItems/Instance.cs b/SabreTools.Library/DatItems/Instance.cs index a1165d25..98613017 100644 --- a/SabreTools.Library/DatItems/Instance.cs +++ b/SabreTools.Library/DatItems/Instance.cs @@ -154,15 +154,11 @@ namespace SabreTools.Library.DatItems return false; // Filter on item name - if (filter.DatItem_Instance_Name.MatchesPositiveSet(Name) == false) - return false; - if (filter.DatItem_Instance_Name.MatchesNegativeSet(Name) == true) + if (!PassStringFilter(filter.DatItem_Instance_Name, Name)) return false; // Filter on brief name - if (filter.DatItem_Instance_BriefName.MatchesPositiveSet(Name) == false) - return false; - if (filter.DatItem_Instance_BriefName.MatchesNegativeSet(Name) == true) + if (!PassStringFilter(filter.DatItem_Instance_BriefName, BriefName)) return false; return true; diff --git a/SabreTools.Library/DatItems/Location.cs b/SabreTools.Library/DatItems/Location.cs index 2040a717..c0d2ab46 100644 --- a/SabreTools.Library/DatItems/Location.cs +++ b/SabreTools.Library/DatItems/Location.cs @@ -173,21 +173,15 @@ namespace SabreTools.Library.DatItems return false; // Filter on item name - if (filter.DatItem_Location_Name.MatchesPositiveSet(Name) == false) - return false; - if (filter.DatItem_Location_Name.MatchesNegativeSet(Name) == true) + if (!PassStringFilter(filter.DatItem_Location_Name, Name)) return false; // Filter on number - if (filter.DatItem_Location_Number.MatchesNeutral(null, Number) == false) - return false; - else if (filter.DatItem_Location_Number.MatchesPositive(null, Number) == false) - return false; - else if (filter.DatItem_Location_Number.MatchesNegative(null, Number) == false) + if (!PassLongFilter(filter.DatItem_Location_Number, Number)) return false; // Filter on inverted - if (filter.DatItem_Location_Inverted.MatchesNeutral(null, Inverted) == false) + if (!PassBoolFilter(filter.DatItem_Location_Inverted, Inverted)) return false; return true; diff --git a/SabreTools.Library/DatItems/Media.cs b/SabreTools.Library/DatItems/Media.cs index ec99d22f..5b6ba85c 100644 --- a/SabreTools.Library/DatItems/Media.cs +++ b/SabreTools.Library/DatItems/Media.cs @@ -344,33 +344,23 @@ namespace SabreTools.Library.DatItems return false; // Filter on item name - if (filter.DatItem_Name.MatchesPositiveSet(Name) == false) - return false; - if (filter.DatItem_Name.MatchesNegativeSet(Name) == true) + if (!PassStringFilter(filter.DatItem_Name, Name)) return false; // Filter on MD5 - if (filter.DatItem_MD5.MatchesPositiveSet(MD5) == false) - return false; - if (filter.DatItem_MD5.MatchesNegativeSet(MD5) == true) + if (!PassStringFilter(filter.DatItem_MD5, MD5)) return false; // Filter on SHA-1 - if (filter.DatItem_SHA1.MatchesPositiveSet(SHA1) == false) - return false; - if (filter.DatItem_SHA1.MatchesNegativeSet(SHA1) == true) + if (!PassStringFilter(filter.DatItem_SHA1, SHA1)) return false; // Filter on SHA-256 - if (filter.DatItem_SHA256.MatchesPositiveSet(SHA256) == false) - return false; - if (filter.DatItem_SHA256.MatchesNegativeSet(SHA256) == true) + if (!PassStringFilter(filter.DatItem_SHA256, SHA256)) return false; // Filter on SpamSum - if (filter.DatItem_SpamSum.MatchesPositiveSet(SpamSum) == false) - return false; - if (filter.DatItem_SpamSum.MatchesNegativeSet(SpamSum) == true) + if (!PassStringFilter(filter.DatItem_SpamSum, SpamSum)) return false; return true; diff --git a/SabreTools.Library/DatItems/Part.cs b/SabreTools.Library/DatItems/Part.cs index 4c84d269..426d79b7 100644 --- a/SabreTools.Library/DatItems/Part.cs +++ b/SabreTools.Library/DatItems/Part.cs @@ -181,15 +181,11 @@ namespace SabreTools.Library.DatItems return false; // Filter on part name - if (filter.DatItem_Part_Name.MatchesPositiveSet(Name) == false) - return false; - if (filter.DatItem_Part_Name.MatchesNegativeSet(Name) == true) + if (!PassStringFilter(filter.DatItem_Part_Name, Name)) return false; // Filter on part interface - if (filter.DatItem_Part_Interface.MatchesPositiveSet(Interface) == false) - return false; - if (filter.DatItem_Part_Interface.MatchesNegativeSet(Interface) == true) + if (!PassStringFilter(filter.DatItem_Part_Interface, Interface)) return false; // Filter on features diff --git a/SabreTools.Library/DatItems/PartFeature.cs b/SabreTools.Library/DatItems/PartFeature.cs index 1674fab1..43edcaf1 100644 --- a/SabreTools.Library/DatItems/PartFeature.cs +++ b/SabreTools.Library/DatItems/PartFeature.cs @@ -153,16 +153,12 @@ namespace SabreTools.Library.DatItems if (!base.PassesFilter(filter)) return false; - // Filter on item name - if (filter.DatItem_Part_Feature_Name.MatchesPositiveSet(Name) == false) - return false; - if (filter.DatItem_Part_Feature_Name.MatchesNegativeSet(Name) == true) + // Filter on name + if (!PassStringFilter(filter.DatItem_Part_Feature_Name, Name)) return false; - // Filter on info value - if (filter.DatItem_Part_Feature_Value.MatchesPositiveSet(Value) == false) - return false; - if (filter.DatItem_Part_Feature_Value.MatchesNegativeSet(Value) == true) + // Filter on value + if (!PassStringFilter(filter.DatItem_Part_Feature_Value, Value)) return false; return true; diff --git a/SabreTools.Library/DatItems/Port.cs b/SabreTools.Library/DatItems/Port.cs index 90689094..db3b0e5b 100644 --- a/SabreTools.Library/DatItems/Port.cs +++ b/SabreTools.Library/DatItems/Port.cs @@ -136,9 +136,7 @@ namespace SabreTools.Library.DatItems return false; // Filter on tag - if (filter.DatItem_Tag.MatchesPositiveSet(Tag) == false) - return false; - if (filter.DatItem_Tag.MatchesNegativeSet(Tag) == true) + if (!PassStringFilter(filter.DatItem_Tag, Tag)) return false; // Filter on individual analogs diff --git a/SabreTools.Library/DatItems/RamOption.cs b/SabreTools.Library/DatItems/RamOption.cs index 2313ba92..0d3d4b9d 100644 --- a/SabreTools.Library/DatItems/RamOption.cs +++ b/SabreTools.Library/DatItems/RamOption.cs @@ -168,19 +168,15 @@ namespace SabreTools.Library.DatItems return false; // Filter on item name - if (filter.DatItem_Name.MatchesPositiveSet(Name) == false) - return false; - if (filter.DatItem_Name.MatchesNegativeSet(Name) == true) + if (!PassStringFilter(filter.DatItem_Name, Name)) return false; // Filter on default - if (filter.DatItem_Default.MatchesNeutral(null, Default) == false) + if (!PassBoolFilter(filter.DatItem_Default, Default)) return false; // Filter on content - if (filter.DatItem_Content.MatchesPositiveSet(Content) == false) - return false; - if (filter.DatItem_Content.MatchesNegativeSet(Content) == true) + if (!PassStringFilter(filter.DatItem_Content, Content)) return false; return true; diff --git a/SabreTools.Library/DatItems/Release.cs b/SabreTools.Library/DatItems/Release.cs index 110bab55..bd170829 100644 --- a/SabreTools.Library/DatItems/Release.cs +++ b/SabreTools.Library/DatItems/Release.cs @@ -198,31 +198,23 @@ namespace SabreTools.Library.DatItems return false; // Filter on item name - if (filter.DatItem_Name.MatchesPositiveSet(Name) == false) - return false; - if (filter.DatItem_Name.MatchesNegativeSet(Name) == true) + if (!PassStringFilter(filter.DatItem_Name, Name)) return false; // Filter on region - if (filter.DatItem_Region.MatchesPositiveSet(Region) == false) - return false; - if (filter.DatItem_Region.MatchesNegativeSet(Region) == true) + if (!PassStringFilter(filter.DatItem_Region, Region)) return false; // Filter on language - if (filter.DatItem_Language.MatchesPositiveSet(Language) == false) - return false; - if (filter.DatItem_Language.MatchesNegativeSet(Language) == true) + if (!PassStringFilter(filter.DatItem_Language, Language)) return false; // Filter on date - if (filter.DatItem_Date.MatchesPositiveSet(Date) == false) - return false; - if (filter.DatItem_Date.MatchesNegativeSet(Date) == true) + if (!PassStringFilter(filter.DatItem_Date, Date)) return false; // Filter on default - if (filter.DatItem_Default.MatchesNeutral(null, Default) == false) + if (!PassBoolFilter(filter.DatItem_Default, Default)) return false; return true; diff --git a/SabreTools.Library/DatItems/Rom.cs b/SabreTools.Library/DatItems/Rom.cs index 4e733447..98807a82 100644 --- a/SabreTools.Library/DatItems/Rom.cs +++ b/SabreTools.Library/DatItems/Rom.cs @@ -795,97 +795,65 @@ namespace SabreTools.Library.DatItems #region Common // Filter on item name - if (filter.DatItem_Name.MatchesPositiveSet(Name) == false) - return false; - if (filter.DatItem_Name.MatchesNegativeSet(Name) == true) + if (!PassStringFilter(filter.DatItem_Name, Name)) return false; // Filter on bios - if (filter.DatItem_Bios.MatchesPositiveSet(Bios) == false) - return false; - if (filter.DatItem_Bios.MatchesNegativeSet(Bios) == true) + if (!PassStringFilter(filter.DatItem_Bios, Bios)) return false; // Filter on rom size - if (filter.DatItem_Size.MatchesNeutral(null, Size) == false) - return false; - else if (filter.DatItem_Size.MatchesPositive(null, Size) == false) - return false; - else if (filter.DatItem_Size.MatchesNegative(null, Size) == false) + if (!PassLongFilter(filter.DatItem_Size, Size)) return false; // Filter on CRC - if (filter.DatItem_CRC.MatchesPositiveSet(CRC) == false) - return false; - if (filter.DatItem_CRC.MatchesNegativeSet(CRC) == true) + if (!PassStringFilter(filter.DatItem_CRC, CRC)) return false; // Filter on MD5 - if (filter.DatItem_MD5.MatchesPositiveSet(MD5) == false) - return false; - if (filter.DatItem_MD5.MatchesNegativeSet(MD5) == true) + if (!PassStringFilter(filter.DatItem_MD5, MD5)) return false; #if NET_FRAMEWORK // Filter on RIPEMD160 - if (filter.DatItem_RIPEMD160.MatchesPositiveSet(RIPEMD160) == false) - return false; - if (filter.DatItem_RIPEMD160.MatchesNegativeSet(RIPEMD160) == true) + if (!PassStringFilter(filter.DatItem_RIPEMD160, RIPEMD160)) return false; #endif // Filter on SHA-1 - if (filter.DatItem_SHA1.MatchesPositiveSet(SHA1) == false) - return false; - if (filter.DatItem_SHA1.MatchesNegativeSet(SHA1) == true) + if (!PassStringFilter(filter.DatItem_SHA1, SHA1)) return false; // Filter on SHA-256 - if (filter.DatItem_SHA256.MatchesPositiveSet(SHA256) == false) - return false; - if (filter.DatItem_SHA256.MatchesNegativeSet(SHA256) == true) + if (!PassStringFilter(filter.DatItem_SHA256, SHA256)) return false; // Filter on SHA-384 - if (filter.DatItem_SHA384.MatchesPositiveSet(SHA384) == false) - return false; - if (filter.DatItem_SHA384.MatchesNegativeSet(SHA384) == true) + if (!PassStringFilter(filter.DatItem_SHA384, SHA384)) return false; // Filter on SHA-512 - if (filter.DatItem_SHA512.MatchesPositiveSet(SHA512) == false) - return false; - if (filter.DatItem_SHA512.MatchesNegativeSet(SHA512) == true) + if (!PassStringFilter(filter.DatItem_SHA512, SHA512)) return false; // Filter on SpamSum - if (filter.DatItem_SpamSum.MatchesPositiveSet(SpamSum) == false) - return false; - if (filter.DatItem_SpamSum.MatchesNegativeSet(SpamSum) == true) + if (!PassStringFilter(filter.DatItem_SpamSum, SpamSum)) return false; // Filter on merge tag - if (filter.DatItem_Merge.MatchesPositiveSet(MergeTag) == false) - return false; - if (filter.DatItem_Merge.MatchesNegativeSet(MergeTag) == true) + if (!PassStringFilter(filter.DatItem_Merge, MergeTag)) return false; // Filter on region - if (filter.DatItem_Region.MatchesPositiveSet(Region) == false) - return false; - if (filter.DatItem_Region.MatchesNegativeSet(Region) == true) + if (!PassStringFilter(filter.DatItem_Region, Region)) return false; // Filter on offset - if (filter.DatItem_Offset.MatchesPositiveSet(Offset) == false) - return false; - if (filter.DatItem_Offset.MatchesNegativeSet(Offset) == true) + if (!PassStringFilter(filter.DatItem_Offset, Offset)) return false; // Filter on date - if (filter.DatItem_Date.MatchesPositiveSet(Date) == false) - return false; - if (filter.DatItem_Date.MatchesNegativeSet(Date) == true) + if (!PassStringFilter(filter.DatItem_Date, Date)) return false; // Filter on status @@ -895,11 +863,11 @@ namespace SabreTools.Library.DatItems return false; // Filter on optional - if (filter.DatItem_Optional.MatchesNeutral(null, Optional) == false) + if (!PassBoolFilter(filter.DatItem_Optional, Optional)) return false; // Filter on inverted - if (filter.DatItem_Inverted.MatchesNeutral(null, Inverted) == false) + if (!PassBoolFilter(filter.DatItem_Inverted, Inverted)) return false; #endregion @@ -907,15 +875,11 @@ namespace SabreTools.Library.DatItems #region AttractMode // Filter on alt name - if (filter.DatItem_AltName.MatchesPositiveSet(AltName) == false) - return false; - if (filter.DatItem_AltName.MatchesNegativeSet(AltName) == true) + if (!PassStringFilter(filter.DatItem_AltName, AltName)) return false; // Filter on alt title - if (filter.DatItem_AltTitle.MatchesPositiveSet(AltTitle) == false) - return false; - if (filter.DatItem_AltTitle.MatchesNegativeSet(AltTitle) == true) + if (!PassStringFilter(filter.DatItem_AltTitle, AltTitle)) return false; #endregion @@ -923,33 +887,25 @@ namespace SabreTools.Library.DatItems #region OpenMSX // Filter on original - if (filter.DatItem_Original.MatchesPositiveSet(Original?.Content) == false) - return false; - if (filter.DatItem_Original.MatchesNegativeSet(Original?.Content) == true) + if (!PassStringFilter(filter.DatItem_Original, Original?.Content)) return false; // Filter on OpenMSX subtype - if (filter.DatItem_OpenMSXSubType.MatchesPositiveSet(OpenMSXSubType) == false) + if (filter.DatItem_OpenMSXSubType.MatchesPositive(OpenMSXSubType.NULL, OpenMSXSubType) == false) return false; - if (filter.DatItem_OpenMSXSubType.MatchesNegativeSet(OpenMSXSubType) == true) + if (filter.DatItem_OpenMSXSubType.MatchesNegative(OpenMSXSubType.NULL, OpenMSXSubType) == true) return false; // Filter on OpenMSX type - if (filter.DatItem_OpenMSXType.MatchesPositiveSet(OpenMSXType) == false) - return false; - if (filter.DatItem_OpenMSXType.MatchesNegativeSet(OpenMSXType) == true) + if (!PassStringFilter(filter.DatItem_OpenMSXType, OpenMSXType)) return false; // Filter on remark - if (filter.DatItem_Remark.MatchesPositiveSet(Remark) == false) - return false; - if (filter.DatItem_Remark.MatchesNegativeSet(Remark) == true) + if (!PassStringFilter(filter.DatItem_Remark, Remark)) return false; // Filter on boot - if (filter.DatItem_Boot.MatchesPositiveSet(Boot) == false) - return false; - if (filter.DatItem_Boot.MatchesNegativeSet(Boot) == true) + if (!PassStringFilter(filter.DatItem_Boot, Boot)) return false; #endregion @@ -963,9 +919,7 @@ namespace SabreTools.Library.DatItems return false; // Filter on value - if (filter.DatItem_Value.MatchesPositiveSet(Value) == false) - return false; - if (filter.DatItem_Value.MatchesNegativeSet(Value) == true) + if (!PassStringFilter(filter.DatItem_Value, Value)) return false; // Filter on DataArea diff --git a/SabreTools.Library/DatItems/Sample.cs b/SabreTools.Library/DatItems/Sample.cs index 3ff4f308..16adbadd 100644 --- a/SabreTools.Library/DatItems/Sample.cs +++ b/SabreTools.Library/DatItems/Sample.cs @@ -143,9 +143,7 @@ namespace SabreTools.Library.DatItems return false; // Filter on item name - if (filter.DatItem_Name.MatchesPositiveSet(Name) == false) - return false; - if (filter.DatItem_Name.MatchesNegativeSet(Name) == true) + if (!PassStringFilter(filter.DatItem_Name, Name)) return false; return true; diff --git a/SabreTools.Library/DatItems/Setting.cs b/SabreTools.Library/DatItems/Setting.cs index fa6eb7b9..d7740435 100644 --- a/SabreTools.Library/DatItems/Setting.cs +++ b/SabreTools.Library/DatItems/Setting.cs @@ -202,19 +202,15 @@ namespace SabreTools.Library.DatItems return false; // Filter on item name - if (filter.DatItem_Setting_Name.MatchesPositiveSet(Name) == false) - return false; - if (filter.DatItem_Setting_Name.MatchesNegativeSet(Name) == true) + if (!PassStringFilter(filter.DatItem_Setting_Name, Name)) return false; // Filter on value - if (filter.DatItem_Setting_Value.MatchesPositiveSet(Value) == false) - return false; - if (filter.DatItem_Setting_Value.MatchesNegativeSet(Value) == true) + if (!PassStringFilter(filter.DatItem_Setting_Value, Value)) return false; // Filter on default - if (filter.DatItem_Setting_Default.MatchesNeutral(null, Default) == false) + if (!PassBoolFilter(filter.DatItem_Setting_Default, Default)) return false; // Filter on individual conditions diff --git a/SabreTools.Library/DatItems/SharedFeature.cs b/SabreTools.Library/DatItems/SharedFeature.cs index ba9dbc1e..d4a0894d 100644 --- a/SabreTools.Library/DatItems/SharedFeature.cs +++ b/SabreTools.Library/DatItems/SharedFeature.cs @@ -154,15 +154,11 @@ namespace SabreTools.Library.DatItems return false; // Filter on item name - if (filter.DatItem_Name.MatchesPositiveSet(Name) == false) - return false; - if (filter.DatItem_Name.MatchesNegativeSet(Name) == true) + if (!PassStringFilter(filter.DatItem_Name, Name)) return false; - // Filter on info value - if (filter.DatItem_Value.MatchesPositiveSet(Value) == false) - return false; - if (filter.DatItem_Value.MatchesNegativeSet(Value) == true) + // Filter on value + if (!PassStringFilter(filter.DatItem_Value, Value)) return false; return true; diff --git a/SabreTools.Library/DatItems/Slot.cs b/SabreTools.Library/DatItems/Slot.cs index 42d69528..76112ec4 100644 --- a/SabreTools.Library/DatItems/Slot.cs +++ b/SabreTools.Library/DatItems/Slot.cs @@ -175,9 +175,7 @@ namespace SabreTools.Library.DatItems return false; // Filter on item name - if (filter.DatItem_Name.MatchesPositiveSet(Name) == false) - return false; - if (filter.DatItem_Name.MatchesNegativeSet(Name) == true) + if (!PassStringFilter(filter.DatItem_Name, Name)) return false; // Filter on individual slot options diff --git a/SabreTools.Library/DatItems/SlotOption.cs b/SabreTools.Library/DatItems/SlotOption.cs index 8dd615d2..12b693f1 100644 --- a/SabreTools.Library/DatItems/SlotOption.cs +++ b/SabreTools.Library/DatItems/SlotOption.cs @@ -170,19 +170,15 @@ namespace SabreTools.Library.DatItems return false; // Filter on item name - if (filter.DatItem_SlotOption_Name.MatchesPositiveSet(Name) == false) - return false; - if (filter.DatItem_SlotOption_Name.MatchesNegativeSet(Name) == true) + if (!PassStringFilter(filter.DatItem_SlotOption_Name, Name)) return false; // Filter on device name - if (filter.DatItem_SlotOption_DeviceName.MatchesPositiveSet(DeviceName) == false) - return false; - if (filter.DatItem_SlotOption_DeviceName.MatchesNegativeSet(DeviceName) == true) + if (!PassStringFilter(filter.DatItem_SlotOption_DeviceName, DeviceName)) return false; // Filter on default - if (filter.DatItem_SlotOption_Default.MatchesNeutral(null, Default) == false) + if (!PassBoolFilter(filter.DatItem_SlotOption_Default, Default)) return false; return true; diff --git a/SabreTools.Library/DatItems/SoftwareList.cs b/SabreTools.Library/DatItems/SoftwareList.cs index 242a24f3..78434806 100644 --- a/SabreTools.Library/DatItems/SoftwareList.cs +++ b/SabreTools.Library/DatItems/SoftwareList.cs @@ -172,9 +172,7 @@ namespace SabreTools.Library.DatItems return false; // Filter on item name - if (filter.DatItem_Name.MatchesPositiveSet(Name) == false) - return false; - if (filter.DatItem_Name.MatchesNegativeSet(Name) == true) + if (!PassStringFilter(filter.DatItem_Name, Name)) return false; // Filter on status @@ -184,9 +182,7 @@ namespace SabreTools.Library.DatItems return false; // Filter on filter - if (filter.DatItem_Filter.MatchesPositiveSet(Filter) == false) - return false; - if (filter.DatItem_Filter.MatchesNegativeSet(Filter) == true) + if (!PassStringFilter(filter.DatItem_Filter, Filter)) return false; return true; diff --git a/SabreTools.Library/DatItems/Sound.cs b/SabreTools.Library/DatItems/Sound.cs index a5334aeb..3f0bb6a7 100644 --- a/SabreTools.Library/DatItems/Sound.cs +++ b/SabreTools.Library/DatItems/Sound.cs @@ -109,11 +109,7 @@ namespace SabreTools.Library.DatItems return false; // Filter on channels - if (filter.DatItem_Channels.MatchesNeutral(null, Channels) == false) - return false; - else if (filter.DatItem_Channels.MatchesPositive(null, Channels) == false) - return false; - else if (filter.DatItem_Channels.MatchesNegative(null, Channels) == false) + if (!PassLongFilter(filter.DatItem_Channels, Channels)) return false; return true;