diff --git a/SabreTools.Library/DatItems/Adjuster.cs b/SabreTools.Library/DatItems/Adjuster.cs
index 73432677..0560ce57 100644
--- a/SabreTools.Library/DatItems/Adjuster.cs
+++ b/SabreTools.Library/DatItems/Adjuster.cs
@@ -190,11 +190,11 @@ namespace SabreTools.Library.DatItems
return false;
// Filter on item name
- if (!PassStringFilter(filter.DatItem_Name, Name))
+ if (!filter.PassStringFilter(filter.DatItem_Name, Name))
return false;
// Filter on default
- if (!PassBoolFilter(filter.DatItem_Default, Default))
+ if (!filter.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 20254218..51378a89 100644
--- a/SabreTools.Library/DatItems/Analog.cs
+++ b/SabreTools.Library/DatItems/Analog.cs
@@ -104,7 +104,7 @@ namespace SabreTools.Library.DatItems
return false;
// Filter on mask
- if (!PassStringFilter(filter.DatItem_Analog_Mask, Mask))
+ if (!filter.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 dea9ea9d..1d07e709 100644
--- a/SabreTools.Library/DatItems/Archive.cs
+++ b/SabreTools.Library/DatItems/Archive.cs
@@ -143,7 +143,7 @@ namespace SabreTools.Library.DatItems
return false;
// Filter on item name
- if (!PassStringFilter(filter.DatItem_Name, Name))
+ if (!filter.PassStringFilter(filter.DatItem_Name, Name))
return false;
return true;
diff --git a/SabreTools.Library/DatItems/BiosSet.cs b/SabreTools.Library/DatItems/BiosSet.cs
index 60c1f815..613eaee3 100644
--- a/SabreTools.Library/DatItems/BiosSet.cs
+++ b/SabreTools.Library/DatItems/BiosSet.cs
@@ -170,15 +170,15 @@ namespace SabreTools.Library.DatItems
return false;
// Filter on item name
- if (!PassStringFilter(filter.DatItem_Name, Name))
+ if (!filter.PassStringFilter(filter.DatItem_Name, Name))
return false;
// Filter on description
- if (!PassStringFilter(filter.DatItem_Description, Description))
+ if (!filter.PassStringFilter(filter.DatItem_Description, Description))
return false;
// Filter on default
- if (!PassBoolFilter(filter.DatItem_Default, Default))
+ if (!filter.PassBoolFilter(filter.DatItem_Default, Default))
return false;
return true;
diff --git a/SabreTools.Library/DatItems/Chip.cs b/SabreTools.Library/DatItems/Chip.cs
index 60da5e3e..8f921355 100644
--- a/SabreTools.Library/DatItems/Chip.cs
+++ b/SabreTools.Library/DatItems/Chip.cs
@@ -188,11 +188,11 @@ namespace SabreTools.Library.DatItems
return false;
// Filter on item name
- if (!PassStringFilter(filter.DatItem_Name, Name))
+ if (!filter.PassStringFilter(filter.DatItem_Name, Name))
return false;
// DatItem_Tag
- if (!PassStringFilter(filter.DatItem_Tag, Tag))
+ if (!filter.PassStringFilter(filter.DatItem_Tag, Tag))
return false;
// DatItem_ChipType
@@ -202,7 +202,7 @@ namespace SabreTools.Library.DatItems
return false;
// DatItem_Clock
- if (!PassLongFilter(filter.DatItem_Clock, Clock))
+ if (!filter.PassLongFilter(filter.DatItem_Clock, Clock))
return false;
return true;
diff --git a/SabreTools.Library/DatItems/Condition.cs b/SabreTools.Library/DatItems/Condition.cs
index a03581f8..1c7eef64 100644
--- a/SabreTools.Library/DatItems/Condition.cs
+++ b/SabreTools.Library/DatItems/Condition.cs
@@ -186,11 +186,11 @@ namespace SabreTools.Library.DatItems
if (sub)
{
// Filter on tag
- if (!PassStringFilter(filter.DatItem_Condition_Tag, Tag))
+ if (!filter.PassStringFilter(filter.DatItem_Condition_Tag, Tag))
return false;
// Filter on mask
- if (!PassStringFilter(filter.DatItem_Condition_Mask, Mask))
+ if (!filter.PassStringFilter(filter.DatItem_Condition_Mask, Mask))
return false;
// Filter on relation
@@ -200,17 +200,17 @@ namespace SabreTools.Library.DatItems
return false;
// Filter on value
- if (!PassStringFilter(filter.DatItem_Condition_Value, Value))
+ if (!filter.PassStringFilter(filter.DatItem_Condition_Value, Value))
return false;
}
else
{
// Filter on tag
- if (!PassStringFilter(filter.DatItem_Tag, Tag))
+ if (!filter.PassStringFilter(filter.DatItem_Tag, Tag))
return false;
// Filter on mask
- if (!PassStringFilter(filter.DatItem_Mask, Mask))
+ if (!filter.PassStringFilter(filter.DatItem_Mask, Mask))
return false;
// Filter on relation
@@ -220,7 +220,7 @@ namespace SabreTools.Library.DatItems
return false;
// Filter on value
- if (!PassStringFilter(filter.DatItem_Value, Value))
+ if (!filter.PassStringFilter(filter.DatItem_Value, Value))
return false;
}
diff --git a/SabreTools.Library/DatItems/Configuration.cs b/SabreTools.Library/DatItems/Configuration.cs
index 9c6830e3..b86bae96 100644
--- a/SabreTools.Library/DatItems/Configuration.cs
+++ b/SabreTools.Library/DatItems/Configuration.cs
@@ -255,15 +255,15 @@ namespace SabreTools.Library.DatItems
return false;
// Filter on item name
- if (!PassStringFilter(filter.DatItem_Name, Name))
+ if (!filter.PassStringFilter(filter.DatItem_Name, Name))
return false;
// Filter on tag
- if (!PassStringFilter(filter.DatItem_Tag, Tag))
+ if (!filter.PassStringFilter(filter.DatItem_Tag, Tag))
return false;
// Filter on mask
- if (!PassStringFilter(filter.DatItem_Mask, Mask))
+ if (!filter.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 883681ff..5a50888c 100644
--- a/SabreTools.Library/DatItems/Control.cs
+++ b/SabreTools.Library/DatItems/Control.cs
@@ -273,47 +273,47 @@ namespace SabreTools.Library.DatItems
return false;
// Filter on player
- if (!PassLongFilter(filter.DatItem_Control_Player, Player))
+ if (!filter.PassLongFilter(filter.DatItem_Control_Player, Player))
return false;
// Filter on buttons
- if (!PassLongFilter(filter.DatItem_Control_Buttons, Buttons))
+ if (!filter.PassLongFilter(filter.DatItem_Control_Buttons, Buttons))
return false;
// Filter on reqbuttons
- if (!PassLongFilter(filter.DatItem_Control_ReqButtons, RequiredButtons))
+ if (!filter.PassLongFilter(filter.DatItem_Control_ReqButtons, RequiredButtons))
return false;
// Filter on minimum
- if (!PassLongFilter(filter.DatItem_Control_Minimum, Minimum))
+ if (!filter.PassLongFilter(filter.DatItem_Control_Minimum, Minimum))
return false;
// Filter on maximum
- if (!PassLongFilter(filter.DatItem_Control_Maximum, Maximum))
+ if (!filter.PassLongFilter(filter.DatItem_Control_Maximum, Maximum))
return false;
// Filter on sensitivity
- if (!PassLongFilter(filter.DatItem_Control_Sensitivity, Sensitivity))
+ if (!filter.PassLongFilter(filter.DatItem_Control_Sensitivity, Sensitivity))
return false;
// Filter on keydelta
- if (!PassLongFilter(filter.DatItem_Control_KeyDelta, KeyDelta))
+ if (!filter.PassLongFilter(filter.DatItem_Control_KeyDelta, KeyDelta))
return false;
// Filter on reverse
- if (!PassBoolFilter(filter.DatItem_Control_Reverse, Reverse))
+ if (!filter.PassBoolFilter(filter.DatItem_Control_Reverse, Reverse))
return false;
// Filter on ways
- if (!PassStringFilter(filter.DatItem_Control_Ways, Ways))
+ if (!filter.PassStringFilter(filter.DatItem_Control_Ways, Ways))
return false;
// Filter on ways2
- if (!PassStringFilter(filter.DatItem_Control_Ways2, Ways2))
+ if (!filter.PassStringFilter(filter.DatItem_Control_Ways2, Ways2))
return false;
// Filter on ways3
- if (!PassStringFilter(filter.DatItem_Control_Ways3, Ways3))
+ if (!filter.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 0bc751be..5f214d7f 100644
--- a/SabreTools.Library/DatItems/DatItem.cs
+++ b/SabreTools.Library/DatItems/DatItem.cs
@@ -729,73 +729,7 @@ namespace SabreTools.Library.DatItems
return false;
// Filter on item type
- if (!PassStringFilter(filter.DatItem_Type, ItemType.ToString()))
- return false;
-
- 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)
+ if (!filter.PassStringFilter(filter.DatItem_Type, ItemType.ToString()))
return false;
return true;
diff --git a/SabreTools.Library/DatItems/DataArea.cs b/SabreTools.Library/DatItems/DataArea.cs
index 992c37dd..c1c72027 100644
--- a/SabreTools.Library/DatItems/DataArea.cs
+++ b/SabreTools.Library/DatItems/DataArea.cs
@@ -190,15 +190,15 @@ namespace SabreTools.Library.DatItems
return false;
// Filter on area name
- if (!PassStringFilter(filter.DatItem_AreaName, Name))
+ if (!filter.PassStringFilter(filter.DatItem_AreaName, Name))
return false;
// Filter on area size
- if (!PassLongFilter(filter.DatItem_AreaSize, Size))
+ if (!filter.PassLongFilter(filter.DatItem_AreaSize, Size))
return false;
// Filter on area width
- if (!PassLongFilter(filter.DatItem_AreaWidth, Width))
+ if (!filter.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 f4773311..4f99c707 100644
--- a/SabreTools.Library/DatItems/Device.cs
+++ b/SabreTools.Library/DatItems/Device.cs
@@ -228,19 +228,19 @@ namespace SabreTools.Library.DatItems
return false;
// Filter on tag
- if (!PassStringFilter(filter.DatItem_Tag, Tag))
+ if (!filter.PassStringFilter(filter.DatItem_Tag, Tag))
return false;
// Filter on fixed image
- if (!PassStringFilter(filter.DatItem_FixedImage, FixedImage))
+ if (!filter.PassStringFilter(filter.DatItem_FixedImage, FixedImage))
return false;
// Filter on mandatory
- if (!PassLongFilter(filter.DatItem_Mandatory, Mandatory))
+ if (!filter.PassLongFilter(filter.DatItem_Mandatory, Mandatory))
return false;
// Filter on interface
- if (!PassStringFilter(filter.DatItem_Interface, Interface))
+ if (!filter.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 2e5e4e5d..0c2e61ed 100644
--- a/SabreTools.Library/DatItems/DeviceReference.cs
+++ b/SabreTools.Library/DatItems/DeviceReference.cs
@@ -143,7 +143,7 @@ namespace SabreTools.Library.DatItems
return false;
// Filter on item name
- if (!PassStringFilter(filter.DatItem_Name, Name))
+ if (!filter.PassStringFilter(filter.DatItem_Name, Name))
return false;
return true;
diff --git a/SabreTools.Library/DatItems/DipSwitch.cs b/SabreTools.Library/DatItems/DipSwitch.cs
index 774263e2..f39a0152 100644
--- a/SabreTools.Library/DatItems/DipSwitch.cs
+++ b/SabreTools.Library/DatItems/DipSwitch.cs
@@ -304,15 +304,15 @@ namespace SabreTools.Library.DatItems
#region Common
// Filter on item name
- if (!PassStringFilter(filter.DatItem_Name, Name))
+ if (!filter.PassStringFilter(filter.DatItem_Name, Name))
return false;
// Filter on tag
- if (!PassStringFilter(filter.DatItem_Tag, Tag))
+ if (!filter.PassStringFilter(filter.DatItem_Tag, Tag))
return false;
// Filter on mask
- if (!PassStringFilter(filter.DatItem_Mask, Mask))
+ if (!filter.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 2993c38a..95f0d1d1 100644
--- a/SabreTools.Library/DatItems/Disk.cs
+++ b/SabreTools.Library/DatItems/Disk.cs
@@ -449,31 +449,31 @@ namespace SabreTools.Library.DatItems
#region Common
// Filter on item name
- if (!PassStringFilter(filter.DatItem_Name, Name))
+ if (!filter.PassStringFilter(filter.DatItem_Name, Name))
return false;
// Filter on MD5
- if (!PassStringFilter(filter.DatItem_MD5, MD5))
+ if (!filter.PassStringFilter(filter.DatItem_MD5, MD5))
return false;
// Filter on SHA-1
- if (!PassStringFilter(filter.DatItem_SHA1, SHA1))
+ if (!filter.PassStringFilter(filter.DatItem_SHA1, SHA1))
return false;
// Filter on merge tag
- if (!PassStringFilter(filter.DatItem_Merge, MergeTag))
+ if (!filter.PassStringFilter(filter.DatItem_Merge, MergeTag))
return false;
// Filter on region
- if (!PassStringFilter(filter.DatItem_Region, Region))
+ if (!filter.PassStringFilter(filter.DatItem_Region, Region))
return false;
// Filter on index
- if (!PassStringFilter(filter.DatItem_Index, Index))
+ if (!filter.PassStringFilter(filter.DatItem_Index, Index))
return false;
// Filter on writable
- if (!PassBoolFilter(filter.DatItem_Writable, Writable))
+ if (!filter.PassBoolFilter(filter.DatItem_Writable, Writable))
return false;
// Filter on status
@@ -483,7 +483,7 @@ namespace SabreTools.Library.DatItems
return false;
// Filter on optional
- if (!PassBoolFilter(filter.DatItem_Optional, Optional))
+ if (!filter.PassBoolFilter(filter.DatItem_Optional, Optional))
return false;
#endregion
diff --git a/SabreTools.Library/DatItems/DiskArea.cs b/SabreTools.Library/DatItems/DiskArea.cs
index 931388e1..7c7817a7 100644
--- a/SabreTools.Library/DatItems/DiskArea.cs
+++ b/SabreTools.Library/DatItems/DiskArea.cs
@@ -145,7 +145,7 @@ namespace SabreTools.Library.DatItems
return false;
// Filter on area name
- if (!PassStringFilter(filter.DatItem_AreaName, Name))
+ if (!filter.PassStringFilter(filter.DatItem_AreaName, Name))
return false;
return true;
diff --git a/SabreTools.Library/DatItems/Display.cs b/SabreTools.Library/DatItems/Display.cs
index 6d7eb4ea..96b09488 100644
--- a/SabreTools.Library/DatItems/Display.cs
+++ b/SabreTools.Library/DatItems/Display.cs
@@ -306,7 +306,7 @@ namespace SabreTools.Library.DatItems
return false;
// Filter on tag
- if (!PassStringFilter(filter.DatItem_Tag, Tag))
+ if (!filter.PassStringFilter(filter.DatItem_Tag, Tag))
return false;
// Filter on display type
@@ -316,51 +316,51 @@ namespace SabreTools.Library.DatItems
return false;
// Filter on rotation
- if (!PassLongFilter(filter.DatItem_Rotate, Rotate))
+ if (!filter.PassLongFilter(filter.DatItem_Rotate, Rotate))
return false;
// Filter on flipx
- if (!PassBoolFilter(filter.DatItem_FlipX, FlipX))
+ if (!filter.PassBoolFilter(filter.DatItem_FlipX, FlipX))
return false;
// Filter on width
- if (!PassLongFilter(filter.DatItem_Width, Width))
+ if (!filter.PassLongFilter(filter.DatItem_Width, Width))
return false;
// Filter on height
- if (!PassLongFilter(filter.DatItem_Height, Height))
+ if (!filter.PassLongFilter(filter.DatItem_Height, Height))
return false;
// Filter on refresh
- if (!PassDoubleFilter(filter.DatItem_Refresh, Refresh))
+ if (!filter.PassDoubleFilter(filter.DatItem_Refresh, Refresh))
return false;
// Filter on pixclock
- if (!PassLongFilter(filter.DatItem_PixClock, PixClock))
+ if (!filter.PassLongFilter(filter.DatItem_PixClock, PixClock))
return false;
// Filter on htotal
- if (!PassLongFilter(filter.DatItem_HTotal, HTotal))
+ if (!filter.PassLongFilter(filter.DatItem_HTotal, HTotal))
return false;
// Filter on hbend
- if (!PassLongFilter(filter.DatItem_HBEnd, HBEnd))
+ if (!filter.PassLongFilter(filter.DatItem_HBEnd, HBEnd))
return false;
// Filter on hbstart
- if (!PassLongFilter(filter.DatItem_HBStart, HBStart))
+ if (!filter.PassLongFilter(filter.DatItem_HBStart, HBStart))
return false;
// Filter on vtotal
- if (!PassLongFilter(filter.DatItem_VTotal, VTotal))
+ if (!filter.PassLongFilter(filter.DatItem_VTotal, VTotal))
return false;
// Filter on vbend
- if (!PassLongFilter(filter.DatItem_VBEnd, VBEnd))
+ if (!filter.PassLongFilter(filter.DatItem_VBEnd, VBEnd))
return false;
// Filter on vbstart
- if (!PassLongFilter(filter.DatItem_VBStart, VBStart))
+ if (!filter.PassLongFilter(filter.DatItem_VBStart, VBStart))
return false;
return true;
diff --git a/SabreTools.Library/DatItems/Extension.cs b/SabreTools.Library/DatItems/Extension.cs
index 186ffdf1..5c9825cc 100644
--- a/SabreTools.Library/DatItems/Extension.cs
+++ b/SabreTools.Library/DatItems/Extension.cs
@@ -143,7 +143,7 @@ namespace SabreTools.Library.DatItems
return false;
// Filter on item name
- if (!PassStringFilter(filter.DatItem_Extension_Name, Name))
+ if (!filter.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 501ee4ce..fbb3ea37 100644
--- a/SabreTools.Library/DatItems/Info.cs
+++ b/SabreTools.Library/DatItems/Info.cs
@@ -154,11 +154,11 @@ namespace SabreTools.Library.DatItems
return false;
// Filter on item name
- if (!PassStringFilter(filter.DatItem_Name, Name))
+ if (!filter.PassStringFilter(filter.DatItem_Name, Name))
return false;
// Filter on info value
- if (!PassStringFilter(filter.DatItem_Value, Value))
+ if (!filter.PassStringFilter(filter.DatItem_Value, Value))
return false;
return true;
diff --git a/SabreTools.Library/DatItems/Input.cs b/SabreTools.Library/DatItems/Input.cs
index 58c55c04..735ac9ec 100644
--- a/SabreTools.Library/DatItems/Input.cs
+++ b/SabreTools.Library/DatItems/Input.cs
@@ -186,19 +186,19 @@ namespace SabreTools.Library.DatItems
return false;
// Filter on service
- if (!PassBoolFilter(filter.DatItem_Service, Service))
+ if (!filter.PassBoolFilter(filter.DatItem_Service, Service))
return false;
// Filter on tilt
- if (!PassBoolFilter(filter.DatItem_Tilt, Tilt))
+ if (!filter.PassBoolFilter(filter.DatItem_Tilt, Tilt))
return false;
// Filter on players
- if (!PassLongFilter(filter.DatItem_Players, Players))
+ if (!filter.PassLongFilter(filter.DatItem_Players, Players))
return false;
// Filter on coins
- if (!PassLongFilter(filter.DatItem_Coins, Coins))
+ if (!filter.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 98613017..09c75cd7 100644
--- a/SabreTools.Library/DatItems/Instance.cs
+++ b/SabreTools.Library/DatItems/Instance.cs
@@ -154,11 +154,11 @@ namespace SabreTools.Library.DatItems
return false;
// Filter on item name
- if (!PassStringFilter(filter.DatItem_Instance_Name, Name))
+ if (!filter.PassStringFilter(filter.DatItem_Instance_Name, Name))
return false;
// Filter on brief name
- if (!PassStringFilter(filter.DatItem_Instance_BriefName, BriefName))
+ if (!filter.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 c0d2ab46..0d393e3e 100644
--- a/SabreTools.Library/DatItems/Location.cs
+++ b/SabreTools.Library/DatItems/Location.cs
@@ -173,15 +173,15 @@ namespace SabreTools.Library.DatItems
return false;
// Filter on item name
- if (!PassStringFilter(filter.DatItem_Location_Name, Name))
+ if (!filter.PassStringFilter(filter.DatItem_Location_Name, Name))
return false;
// Filter on number
- if (!PassLongFilter(filter.DatItem_Location_Number, Number))
+ if (!filter.PassLongFilter(filter.DatItem_Location_Number, Number))
return false;
// Filter on inverted
- if (!PassBoolFilter(filter.DatItem_Location_Inverted, Inverted))
+ if (!filter.PassBoolFilter(filter.DatItem_Location_Inverted, Inverted))
return false;
return true;
diff --git a/SabreTools.Library/DatItems/Machine.cs b/SabreTools.Library/DatItems/Machine.cs
index 949aedf3..0817e2f4 100644
--- a/SabreTools.Library/DatItems/Machine.cs
+++ b/SabreTools.Library/DatItems/Machine.cs
@@ -592,57 +592,39 @@ namespace SabreTools.Library.DatItems
return false;
// Machine_Comment
- if (filter.Machine_Comment.MatchesPositiveSet(Comment) == false)
- return false;
- if (filter.Machine_Comment.MatchesNegativeSet(Comment) == true)
+ if (!filter.PassStringFilter(filter.Machine_Comment, Comment))
return false;
// Machine_Description
- if (filter.Machine_Description.MatchesPositiveSet(Description) == false)
- return false;
- if (filter.Machine_Description.MatchesNegativeSet(Description) == true)
+ if (!filter.PassStringFilter(filter.Machine_Description, Description))
return false;
// Machine_Year
- if (filter.Machine_Year.MatchesPositiveSet(Year) == false)
- return false;
- if (filter.Machine_Year.MatchesNegativeSet(Year) == true)
+ if (!filter.PassStringFilter(filter.Machine_Year, Year))
return false;
// Machine_Manufacturer
- if (filter.Machine_Manufacturer.MatchesPositiveSet(Manufacturer) == false)
- return false;
- if (filter.Machine_Manufacturer.MatchesNegativeSet(Manufacturer) == true)
+ if (!filter.PassStringFilter(filter.Machine_Manufacturer, Manufacturer))
return false;
// Machine_Publisher
- if (filter.Machine_Publisher.MatchesPositiveSet(Publisher) == false)
- return false;
- if (filter.Machine_Publisher.MatchesNegativeSet(Publisher) == true)
+ if (!filter.PassStringFilter(filter.Machine_Publisher, Publisher))
return false;
// Machine_Category
- if (filter.Machine_Category.MatchesPositiveSet(Category) == false)
- return false;
- if (filter.Machine_Category.MatchesNegativeSet(Category) == true)
+ if (!filter.PassStringFilter(filter.Machine_Category, Category))
return false;
// Machine_RomOf
- if (filter.Machine_RomOf.MatchesPositiveSet(RomOf) == false)
- return false;
- if (filter.Machine_RomOf.MatchesNegativeSet(RomOf) == true)
+ if (!filter.PassStringFilter(filter.Machine_RomOf, RomOf))
return false;
// Machine_CloneOf
- if (filter.Machine_CloneOf.MatchesPositiveSet(CloneOf) == false)
- return false;
- if (filter.Machine_CloneOf.MatchesNegativeSet(CloneOf) == true)
+ if (!filter.PassStringFilter(filter.Machine_CloneOf, CloneOf))
return false;
// Machine_SampleOf
- if (filter.Machine_SampleOf.MatchesPositiveSet(SampleOf) == false)
- return false;
- if (filter.Machine_SampleOf.MatchesNegativeSet(SampleOf) == true)
+ if (!filter.PassStringFilter(filter.Machine_SampleOf, SampleOf))
return false;
// Machine_Type
@@ -656,45 +638,31 @@ namespace SabreTools.Library.DatItems
#region AttractMode
// Machine_Players
- if (filter.Machine_Players.MatchesPositiveSet(Players) == false)
- return false;
- if (filter.Machine_Players.MatchesNegativeSet(Players) == true)
+ if (!filter.PassStringFilter(filter.Machine_Players, Players))
return false;
// Machine_Rotation
- if (filter.Machine_Rotation.MatchesPositiveSet(Rotation) == false)
- return false;
- if (filter.Machine_Rotation.MatchesNegativeSet(Rotation) == true)
+ if (!filter.PassStringFilter(filter.Machine_Rotation, Rotation))
return false;
// Machine_Control
- if (filter.Machine_Control.MatchesPositiveSet(Control) == false)
- return false;
- if (filter.Machine_Control.MatchesNegativeSet(Control) == true)
+ if (!filter.PassStringFilter(filter.Machine_Control, Control))
return false;
// Machine_Status
- if (filter.Machine_Status.MatchesPositiveSet(Status) == false)
- return false;
- if (filter.Machine_Status.MatchesNegativeSet(Status) == true)
+ if (!filter.PassStringFilter(filter.Machine_Status, Status))
return false;
// Machine_DisplayCount
- if (filter.Machine_DisplayCount.MatchesPositiveSet(DisplayCount) == false)
- return false;
- if (filter.Machine_DisplayCount.MatchesNegativeSet(DisplayCount) == true)
+ if (!filter.PassStringFilter(filter.Machine_DisplayCount, DisplayCount))
return false;
// Machine_DisplayType
- if (filter.Machine_DisplayType.MatchesPositiveSet(DisplayType) == false)
- return false;
- if (filter.Machine_DisplayType.MatchesNegativeSet(DisplayType) == true)
+ if (!filter.PassStringFilter(filter.Machine_DisplayType, DisplayType))
return false;
// Machine_Buttons
- if (filter.Machine_Buttons.MatchesPositiveSet(Buttons) == false)
- return false;
- if (filter.Machine_Buttons.MatchesNegativeSet(Buttons) == true)
+ if (!filter.PassStringFilter(filter.Machine_Buttons, Buttons))
return false;
#endregion
@@ -702,9 +670,7 @@ namespace SabreTools.Library.DatItems
#region ListXML
// Machine_SourceFile
- if (filter.Machine_SourceFile.MatchesPositiveSet(SourceFile) == false)
- return false;
- if (filter.Machine_SourceFile.MatchesNegativeSet(SourceFile) == true)
+ if (!filter.PassStringFilter(filter.Machine_SourceFile, SourceFile))
return false;
// Machine_Runnable
@@ -713,20 +679,16 @@ namespace SabreTools.Library.DatItems
if (filter.Machine_Runnable.MatchesNegative(Runnable.NULL, Runnable) == true)
return false;
- #endregion // ListXML
+ #endregion
#region Logiqx
// Machine_Board
- if (filter.Machine_Board.MatchesPositiveSet(Board) == false)
- return false;
- if (filter.Machine_Board.MatchesNegativeSet(Board) == true)
+ if (!filter.PassStringFilter(filter.Machine_Board, Board))
return false;
// Machine_RebuildTo
- if (filter.Machine_RebuildTo.MatchesPositiveSet(RebuildTo) == false)
- return false;
- if (filter.Machine_RebuildTo.MatchesNegativeSet(RebuildTo) == true)
+ if (!filter.PassStringFilter(filter.Machine_RebuildTo, RebuildTo))
return false;
#endregion
@@ -734,55 +696,39 @@ namespace SabreTools.Library.DatItems
#region Logiqx EmuArc
// Machine_TitleID
- if (filter.Machine_TitleID.MatchesPositiveSet(TitleID) == false)
- return false;
- if (filter.Machine_TitleID.MatchesNegativeSet(TitleID) == true)
+ if (!filter.PassStringFilter(filter.Machine_TitleID, TitleID))
return false;
// Machine_Developer
- if (filter.Machine_Developer.MatchesPositiveSet(Developer) == false)
- return false;
- if (filter.Machine_Developer.MatchesNegativeSet(Developer) == true)
+ if (!filter.PassStringFilter(filter.Machine_Developer, Developer))
return false;
// Machine_Genre
- if (filter.Machine_Genre.MatchesPositiveSet(Genre) == false)
- return false;
- if (filter.Machine_Genre.MatchesNegativeSet(Genre) == true)
+ if (!filter.PassStringFilter(filter.Machine_Genre, Genre))
return false;
// Machine_Subgenre
- if (filter.Machine_Subgenre.MatchesPositiveSet(Subgenre) == false)
- return false;
- if (filter.Machine_Subgenre.MatchesNegativeSet(Subgenre) == true)
+ if (!filter.PassStringFilter(filter.Machine_Subgenre, Subgenre))
return false;
// Machine_Ratings
- if (filter.Machine_Ratings.MatchesPositiveSet(Ratings) == false)
- return false;
- if (filter.Machine_Ratings.MatchesNegativeSet(Ratings) == true)
+ if (!filter.PassStringFilter(filter.Machine_Ratings, Ratings))
return false;
// Machine_Score
- if (filter.Machine_Score.MatchesPositiveSet(Score) == false)
- return false;
- if (filter.Machine_Score.MatchesNegativeSet(Score) == true)
+ if (!filter.PassStringFilter(filter.Machine_Score, Score))
return false;
// Machine_Enabled
- if (filter.Machine_Enabled.MatchesPositiveSet(Enabled) == false)
- return false;
- if (filter.Machine_Enabled.MatchesNegativeSet(Enabled) == true)
+ if (!filter.PassStringFilter(filter.Machine_Enabled, Enabled))
return false;
// Machine_CRC
- if (filter.Machine_CRC.MatchesNeutral(null, Crc) == false)
+ if (!filter.PassBoolFilter(filter.Machine_CRC, Crc))
return false;
// Machine_RelatedTo
- if (filter.Machine_RelatedTo.MatchesPositiveSet(RelatedTo) == false)
- return false;
- if (filter.Machine_RelatedTo.MatchesNegativeSet(RelatedTo) == true)
+ if (!filter.PassStringFilter(filter.Machine_RelatedTo, RelatedTo))
return false;
#endregion
@@ -790,21 +736,15 @@ namespace SabreTools.Library.DatItems
#region OpenMSX
// Machine_GenMSXID
- if (filter.Machine_GenMSXID.MatchesPositiveSet(GenMSXID) == false)
- return false;
- if (filter.Machine_GenMSXID.MatchesNegativeSet(GenMSXID) == true)
+ if (!filter.PassStringFilter(filter.Machine_GenMSXID, GenMSXID))
return false;
// Machine_System
- if (filter.Machine_System.MatchesPositiveSet(System) == false)
- return false;
- if (filter.Machine_System.MatchesNegativeSet(System) == true)
+ if (!filter.PassStringFilter(filter.Machine_System, System))
return false;
// Machine_Country
- if (filter.Machine_Country.MatchesPositiveSet(Country) == false)
- return false;
- if (filter.Machine_Country.MatchesNegativeSet(Country) == true)
+ if (!filter.PassStringFilter(filter.Machine_Country, Country))
return false;
#endregion
diff --git a/SabreTools.Library/DatItems/Media.cs b/SabreTools.Library/DatItems/Media.cs
index 5b6ba85c..e21dc491 100644
--- a/SabreTools.Library/DatItems/Media.cs
+++ b/SabreTools.Library/DatItems/Media.cs
@@ -344,23 +344,23 @@ namespace SabreTools.Library.DatItems
return false;
// Filter on item name
- if (!PassStringFilter(filter.DatItem_Name, Name))
+ if (!filter.PassStringFilter(filter.DatItem_Name, Name))
return false;
// Filter on MD5
- if (!PassStringFilter(filter.DatItem_MD5, MD5))
+ if (!filter.PassStringFilter(filter.DatItem_MD5, MD5))
return false;
// Filter on SHA-1
- if (!PassStringFilter(filter.DatItem_SHA1, SHA1))
+ if (!filter.PassStringFilter(filter.DatItem_SHA1, SHA1))
return false;
// Filter on SHA-256
- if (!PassStringFilter(filter.DatItem_SHA256, SHA256))
+ if (!filter.PassStringFilter(filter.DatItem_SHA256, SHA256))
return false;
// Filter on SpamSum
- if (!PassStringFilter(filter.DatItem_SpamSum, SpamSum))
+ if (!filter.PassStringFilter(filter.DatItem_SpamSum, SpamSum))
return false;
return true;
diff --git a/SabreTools.Library/DatItems/Part.cs b/SabreTools.Library/DatItems/Part.cs
index 426d79b7..c201db61 100644
--- a/SabreTools.Library/DatItems/Part.cs
+++ b/SabreTools.Library/DatItems/Part.cs
@@ -181,11 +181,11 @@ namespace SabreTools.Library.DatItems
return false;
// Filter on part name
- if (!PassStringFilter(filter.DatItem_Part_Name, Name))
+ if (!filter.PassStringFilter(filter.DatItem_Part_Name, Name))
return false;
// Filter on part interface
- if (!PassStringFilter(filter.DatItem_Part_Interface, Interface))
+ if (!filter.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 43edcaf1..1a36207d 100644
--- a/SabreTools.Library/DatItems/PartFeature.cs
+++ b/SabreTools.Library/DatItems/PartFeature.cs
@@ -154,11 +154,11 @@ namespace SabreTools.Library.DatItems
return false;
// Filter on name
- if (!PassStringFilter(filter.DatItem_Part_Feature_Name, Name))
+ if (!filter.PassStringFilter(filter.DatItem_Part_Feature_Name, Name))
return false;
// Filter on value
- if (!PassStringFilter(filter.DatItem_Part_Feature_Value, Value))
+ if (!filter.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 db3b0e5b..0209881a 100644
--- a/SabreTools.Library/DatItems/Port.cs
+++ b/SabreTools.Library/DatItems/Port.cs
@@ -136,7 +136,7 @@ namespace SabreTools.Library.DatItems
return false;
// Filter on tag
- if (!PassStringFilter(filter.DatItem_Tag, Tag))
+ if (!filter.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 0d3d4b9d..bc57b4f4 100644
--- a/SabreTools.Library/DatItems/RamOption.cs
+++ b/SabreTools.Library/DatItems/RamOption.cs
@@ -168,15 +168,15 @@ namespace SabreTools.Library.DatItems
return false;
// Filter on item name
- if (!PassStringFilter(filter.DatItem_Name, Name))
+ if (!filter.PassStringFilter(filter.DatItem_Name, Name))
return false;
// Filter on default
- if (!PassBoolFilter(filter.DatItem_Default, Default))
+ if (!filter.PassBoolFilter(filter.DatItem_Default, Default))
return false;
// Filter on content
- if (!PassStringFilter(filter.DatItem_Content, Content))
+ if (!filter.PassStringFilter(filter.DatItem_Content, Content))
return false;
return true;
diff --git a/SabreTools.Library/DatItems/Release.cs b/SabreTools.Library/DatItems/Release.cs
index bd170829..88a914c1 100644
--- a/SabreTools.Library/DatItems/Release.cs
+++ b/SabreTools.Library/DatItems/Release.cs
@@ -198,23 +198,23 @@ namespace SabreTools.Library.DatItems
return false;
// Filter on item name
- if (!PassStringFilter(filter.DatItem_Name, Name))
+ if (!filter.PassStringFilter(filter.DatItem_Name, Name))
return false;
// Filter on region
- if (!PassStringFilter(filter.DatItem_Region, Region))
+ if (!filter.PassStringFilter(filter.DatItem_Region, Region))
return false;
// Filter on language
- if (!PassStringFilter(filter.DatItem_Language, Language))
+ if (!filter.PassStringFilter(filter.DatItem_Language, Language))
return false;
// Filter on date
- if (!PassStringFilter(filter.DatItem_Date, Date))
+ if (!filter.PassStringFilter(filter.DatItem_Date, Date))
return false;
// Filter on default
- if (!PassBoolFilter(filter.DatItem_Default, Default))
+ if (!filter.PassBoolFilter(filter.DatItem_Default, Default))
return false;
return true;
diff --git a/SabreTools.Library/DatItems/Rom.cs b/SabreTools.Library/DatItems/Rom.cs
index 98807a82..83d5e2fe 100644
--- a/SabreTools.Library/DatItems/Rom.cs
+++ b/SabreTools.Library/DatItems/Rom.cs
@@ -795,65 +795,65 @@ namespace SabreTools.Library.DatItems
#region Common
// Filter on item name
- if (!PassStringFilter(filter.DatItem_Name, Name))
+ if (!filter.PassStringFilter(filter.DatItem_Name, Name))
return false;
// Filter on bios
- if (!PassStringFilter(filter.DatItem_Bios, Bios))
+ if (!filter.PassStringFilter(filter.DatItem_Bios, Bios))
return false;
// Filter on rom size
- if (!PassLongFilter(filter.DatItem_Size, Size))
+ if (!filter.PassLongFilter(filter.DatItem_Size, Size))
return false;
// Filter on CRC
- if (!PassStringFilter(filter.DatItem_CRC, CRC))
+ if (!filter.PassStringFilter(filter.DatItem_CRC, CRC))
return false;
// Filter on MD5
- if (!PassStringFilter(filter.DatItem_MD5, MD5))
+ if (!filter.PassStringFilter(filter.DatItem_MD5, MD5))
return false;
#if NET_FRAMEWORK
// Filter on RIPEMD160
- if (!PassStringFilter(filter.DatItem_RIPEMD160, RIPEMD160))
+ if (!filter.PassStringFilter(filter.DatItem_RIPEMD160, RIPEMD160))
return false;
#endif
// Filter on SHA-1
- if (!PassStringFilter(filter.DatItem_SHA1, SHA1))
+ if (!filter.PassStringFilter(filter.DatItem_SHA1, SHA1))
return false;
// Filter on SHA-256
- if (!PassStringFilter(filter.DatItem_SHA256, SHA256))
+ if (!filter.PassStringFilter(filter.DatItem_SHA256, SHA256))
return false;
// Filter on SHA-384
- if (!PassStringFilter(filter.DatItem_SHA384, SHA384))
+ if (!filter.PassStringFilter(filter.DatItem_SHA384, SHA384))
return false;
// Filter on SHA-512
- if (!PassStringFilter(filter.DatItem_SHA512, SHA512))
+ if (!filter.PassStringFilter(filter.DatItem_SHA512, SHA512))
return false;
// Filter on SpamSum
- if (!PassStringFilter(filter.DatItem_SpamSum, SpamSum))
+ if (!filter.PassStringFilter(filter.DatItem_SpamSum, SpamSum))
return false;
// Filter on merge tag
- if (!PassStringFilter(filter.DatItem_Merge, MergeTag))
+ if (!filter.PassStringFilter(filter.DatItem_Merge, MergeTag))
return false;
// Filter on region
- if (!PassStringFilter(filter.DatItem_Region, Region))
+ if (!filter.PassStringFilter(filter.DatItem_Region, Region))
return false;
// Filter on offset
- if (!PassStringFilter(filter.DatItem_Offset, Offset))
+ if (!filter.PassStringFilter(filter.DatItem_Offset, Offset))
return false;
// Filter on date
- if (!PassStringFilter(filter.DatItem_Date, Date))
+ if (!filter.PassStringFilter(filter.DatItem_Date, Date))
return false;
// Filter on status
@@ -863,11 +863,11 @@ namespace SabreTools.Library.DatItems
return false;
// Filter on optional
- if (!PassBoolFilter(filter.DatItem_Optional, Optional))
+ if (!filter.PassBoolFilter(filter.DatItem_Optional, Optional))
return false;
// Filter on inverted
- if (!PassBoolFilter(filter.DatItem_Inverted, Inverted))
+ if (!filter.PassBoolFilter(filter.DatItem_Inverted, Inverted))
return false;
#endregion
@@ -875,11 +875,11 @@ namespace SabreTools.Library.DatItems
#region AttractMode
// Filter on alt name
- if (!PassStringFilter(filter.DatItem_AltName, AltName))
+ if (!filter.PassStringFilter(filter.DatItem_AltName, AltName))
return false;
// Filter on alt title
- if (!PassStringFilter(filter.DatItem_AltTitle, AltTitle))
+ if (!filter.PassStringFilter(filter.DatItem_AltTitle, AltTitle))
return false;
#endregion
@@ -887,7 +887,7 @@ namespace SabreTools.Library.DatItems
#region OpenMSX
// Filter on original
- if (!PassStringFilter(filter.DatItem_Original, Original?.Content))
+ if (!filter.PassStringFilter(filter.DatItem_Original, Original?.Content))
return false;
// Filter on OpenMSX subtype
@@ -897,15 +897,15 @@ namespace SabreTools.Library.DatItems
return false;
// Filter on OpenMSX type
- if (!PassStringFilter(filter.DatItem_OpenMSXType, OpenMSXType))
+ if (!filter.PassStringFilter(filter.DatItem_OpenMSXType, OpenMSXType))
return false;
// Filter on remark
- if (!PassStringFilter(filter.DatItem_Remark, Remark))
+ if (!filter.PassStringFilter(filter.DatItem_Remark, Remark))
return false;
// Filter on boot
- if (!PassStringFilter(filter.DatItem_Boot, Boot))
+ if (!filter.PassStringFilter(filter.DatItem_Boot, Boot))
return false;
#endregion
@@ -919,7 +919,7 @@ namespace SabreTools.Library.DatItems
return false;
// Filter on value
- if (!PassStringFilter(filter.DatItem_Value, Value))
+ if (!filter.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 16adbadd..8858145e 100644
--- a/SabreTools.Library/DatItems/Sample.cs
+++ b/SabreTools.Library/DatItems/Sample.cs
@@ -143,7 +143,7 @@ namespace SabreTools.Library.DatItems
return false;
// Filter on item name
- if (!PassStringFilter(filter.DatItem_Name, Name))
+ if (!filter.PassStringFilter(filter.DatItem_Name, Name))
return false;
return true;
diff --git a/SabreTools.Library/DatItems/Setting.cs b/SabreTools.Library/DatItems/Setting.cs
index d7740435..f3b097de 100644
--- a/SabreTools.Library/DatItems/Setting.cs
+++ b/SabreTools.Library/DatItems/Setting.cs
@@ -202,15 +202,15 @@ namespace SabreTools.Library.DatItems
return false;
// Filter on item name
- if (!PassStringFilter(filter.DatItem_Setting_Name, Name))
+ if (!filter.PassStringFilter(filter.DatItem_Setting_Name, Name))
return false;
// Filter on value
- if (!PassStringFilter(filter.DatItem_Setting_Value, Value))
+ if (!filter.PassStringFilter(filter.DatItem_Setting_Value, Value))
return false;
// Filter on default
- if (!PassBoolFilter(filter.DatItem_Setting_Default, Default))
+ if (!filter.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 d4a0894d..e0e79721 100644
--- a/SabreTools.Library/DatItems/SharedFeature.cs
+++ b/SabreTools.Library/DatItems/SharedFeature.cs
@@ -154,11 +154,11 @@ namespace SabreTools.Library.DatItems
return false;
// Filter on item name
- if (!PassStringFilter(filter.DatItem_Name, Name))
+ if (!filter.PassStringFilter(filter.DatItem_Name, Name))
return false;
// Filter on value
- if (!PassStringFilter(filter.DatItem_Value, Value))
+ if (!filter.PassStringFilter(filter.DatItem_Value, Value))
return false;
return true;
diff --git a/SabreTools.Library/DatItems/Slot.cs b/SabreTools.Library/DatItems/Slot.cs
index 76112ec4..0b7130ba 100644
--- a/SabreTools.Library/DatItems/Slot.cs
+++ b/SabreTools.Library/DatItems/Slot.cs
@@ -175,7 +175,7 @@ namespace SabreTools.Library.DatItems
return false;
// Filter on item name
- if (!PassStringFilter(filter.DatItem_Name, Name))
+ if (!filter.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 12b693f1..06192621 100644
--- a/SabreTools.Library/DatItems/SlotOption.cs
+++ b/SabreTools.Library/DatItems/SlotOption.cs
@@ -170,15 +170,15 @@ namespace SabreTools.Library.DatItems
return false;
// Filter on item name
- if (!PassStringFilter(filter.DatItem_SlotOption_Name, Name))
+ if (!filter.PassStringFilter(filter.DatItem_SlotOption_Name, Name))
return false;
// Filter on device name
- if (!PassStringFilter(filter.DatItem_SlotOption_DeviceName, DeviceName))
+ if (!filter.PassStringFilter(filter.DatItem_SlotOption_DeviceName, DeviceName))
return false;
// Filter on default
- if (!PassBoolFilter(filter.DatItem_SlotOption_Default, Default))
+ if (!filter.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 78434806..8acbef0b 100644
--- a/SabreTools.Library/DatItems/SoftwareList.cs
+++ b/SabreTools.Library/DatItems/SoftwareList.cs
@@ -172,7 +172,7 @@ namespace SabreTools.Library.DatItems
return false;
// Filter on item name
- if (!PassStringFilter(filter.DatItem_Name, Name))
+ if (!filter.PassStringFilter(filter.DatItem_Name, Name))
return false;
// Filter on status
@@ -182,7 +182,7 @@ namespace SabreTools.Library.DatItems
return false;
// Filter on filter
- if (!PassStringFilter(filter.DatItem_Filter, Filter))
+ if (!filter.PassStringFilter(filter.DatItem_Filter, Filter))
return false;
return true;
diff --git a/SabreTools.Library/DatItems/Sound.cs b/SabreTools.Library/DatItems/Sound.cs
index 3f0bb6a7..fd79768c 100644
--- a/SabreTools.Library/DatItems/Sound.cs
+++ b/SabreTools.Library/DatItems/Sound.cs
@@ -109,7 +109,7 @@ namespace SabreTools.Library.DatItems
return false;
// Filter on channels
- if (!PassLongFilter(filter.DatItem_Channels, Channels))
+ if (!filter.PassLongFilter(filter.DatItem_Channels, Channels))
return false;
return true;
diff --git a/SabreTools.Library/Filtering/Filter.cs b/SabreTools.Library/Filtering/Filter.cs
index b8ae8df3..99c257b8 100644
--- a/SabreTools.Library/Filtering/Filter.cs
+++ b/SabreTools.Library/Filtering/Filter.cs
@@ -1209,6 +1209,76 @@ namespace SabreTools.Library.Filtering
#endregion
+ #region Filter Running
+
+ ///
+ /// Determines if a value passes a bool? filter
+ ///
+ /// Filter item to check
+ /// Value to check
+ /// True if the value passes, false otherwise
+ public 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
+ public 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
+ public 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
+ public bool PassStringFilter(FilterItem filterItem, string value)
+ {
+ if (filterItem.MatchesPositiveSet(value) == false)
+ return false;
+ if (filterItem.MatchesNegativeSet(value) == true)
+ return false;
+
+ return true;
+ }
+
+ #endregion
+
#endregion // Instance Methods
}
}