Reduce DatItem boilerplate

This commit is contained in:
Matt Nadareski
2020-09-08 10:56:37 -07:00
parent f0afe33dd7
commit d8835920a7
35 changed files with 202 additions and 426 deletions

View File

@@ -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

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;
}

View File

@@ -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

View File

@@ -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;

View File

@@ -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;
}
/// <summary>
/// Determines if a value passes a bool? filter
/// </summary>
/// <param name="filterItem">Filter item to check</param>
/// <param name="value">Value to check</param>
/// <returns>True if the value passes, false otherwise</returns>
protected bool PassBoolFilter(FilterItem<bool?> filterItem, bool? value)
{
if (filterItem.MatchesNeutral(null, value) == false)
return false;
return true;
}
/// <summary>
/// Determines if a value passes a double? filter
/// </summary>
/// <param name="filterItem">Filter item to check</param>
/// <param name="value">Value to check</param>
/// <returns>True if the value passes, false otherwise</returns>
protected bool PassDoubleFilter(FilterItem<double?> 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;
}
/// <summary>
/// Determines if a value passes a long? filter
/// </summary>
/// <param name="filterItem">Filter item to check</param>
/// <param name="value">Value to check</param>
/// <returns>True if the value passes, false otherwise</returns>
protected bool PassLongFilter(FilterItem<long?> 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;
}
/// <summary>
/// Determines if a value passes a string filter
/// </summary>
/// <param name="filterItem">Filter item to check</param>
/// <param name="value">Value to check</param>
/// <returns>True if the value passes, false otherwise</returns>
protected bool PassStringFilter(FilterItem<string> filterItem, string value)
{
if (filterItem.MatchesPositiveSet(value) == false)
return false;
if (filterItem.MatchesNegativeSet(value) == true)
return false;
return true;
}

View File

@@ -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

View File

@@ -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

View File

@@ -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;

View File

@@ -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

View File

@@ -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

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;

View File

@@ -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

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;

View File

@@ -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

View File

@@ -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;

View File

@@ -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

View File

@@ -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;

View File

@@ -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;

View File

@@ -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

View File

@@ -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;

View File

@@ -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

View File

@@ -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;

View File

@@ -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

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;