mirror of
https://github.com/claunia/SabreTools.git
synced 2025-12-16 19:14:27 +00:00
DatItems don't know about filtering
This commit is contained in:
@@ -8,7 +8,6 @@ using System.Xml.Serialization;
|
||||
using SabreTools.Core;
|
||||
using SabreTools.Core.Tools;
|
||||
using SabreTools.FileTypes;
|
||||
using SabreTools.Filtering;
|
||||
using Newtonsoft.Json;
|
||||
using Newtonsoft.Json.Converters;
|
||||
|
||||
@@ -798,162 +797,6 @@ namespace SabreTools.DatItems
|
||||
|
||||
#region Filtering
|
||||
|
||||
/// <inheritdoc/>
|
||||
public override bool PassesFilter(Cleaner cleaner, bool sub = false)
|
||||
{
|
||||
// Check common fields first
|
||||
if (!base.PassesFilter(cleaner, sub))
|
||||
return false;
|
||||
|
||||
#region Common
|
||||
|
||||
// Filter on item name
|
||||
if (!Filter.PassStringFilter(cleaner.DatItemFilter.Name, Name))
|
||||
return false;
|
||||
|
||||
// Filter on bios
|
||||
if (!Filter.PassStringFilter(cleaner.DatItemFilter.Bios, Bios))
|
||||
return false;
|
||||
|
||||
// Filter on rom size
|
||||
if (!Filter.PassLongFilter(cleaner.DatItemFilter.Size, Size))
|
||||
return false;
|
||||
|
||||
// Filter on CRC
|
||||
if (!Filter.PassStringFilter(cleaner.DatItemFilter.CRC, CRC))
|
||||
return false;
|
||||
|
||||
// Filter on MD5
|
||||
if (!Filter.PassStringFilter(cleaner.DatItemFilter.MD5, MD5))
|
||||
return false;
|
||||
|
||||
#if NET_FRAMEWORK
|
||||
// Filter on RIPEMD160
|
||||
if (!Filter.PassStringFilter(cleaner.DatItemFilter.RIPEMD160, RIPEMD160))
|
||||
return false;
|
||||
#endif
|
||||
|
||||
// Filter on SHA-1
|
||||
if (!Filter.PassStringFilter(cleaner.DatItemFilter.SHA1, SHA1))
|
||||
return false;
|
||||
|
||||
// Filter on SHA-256
|
||||
if (!Filter.PassStringFilter(cleaner.DatItemFilter.SHA256, SHA256))
|
||||
return false;
|
||||
|
||||
// Filter on SHA-384
|
||||
if (!Filter.PassStringFilter(cleaner.DatItemFilter.SHA384, SHA384))
|
||||
return false;
|
||||
|
||||
// Filter on SHA-512
|
||||
if (!Filter.PassStringFilter(cleaner.DatItemFilter.SHA512, SHA512))
|
||||
return false;
|
||||
|
||||
// Filter on SpamSum
|
||||
if (!Filter.PassStringFilter(cleaner.DatItemFilter.SpamSum, SpamSum))
|
||||
return false;
|
||||
|
||||
// Filter on merge tag
|
||||
if (!Filter.PassStringFilter(cleaner.DatItemFilter.Merge, MergeTag))
|
||||
return false;
|
||||
|
||||
// Filter on region
|
||||
if (!Filter.PassStringFilter(cleaner.DatItemFilter.Region, Region))
|
||||
return false;
|
||||
|
||||
// Filter on offset
|
||||
if (!Filter.PassStringFilter(cleaner.DatItemFilter.Offset, Offset))
|
||||
return false;
|
||||
|
||||
// Filter on date
|
||||
if (!Filter.PassStringFilter(cleaner.DatItemFilter.Date, Date))
|
||||
return false;
|
||||
|
||||
// Filter on status
|
||||
if (cleaner.DatItemFilter.Status.MatchesPositive(ItemStatus.NULL, ItemStatus) == false)
|
||||
return false;
|
||||
if (cleaner.DatItemFilter.Status.MatchesNegative(ItemStatus.NULL, ItemStatus) == true)
|
||||
return false;
|
||||
|
||||
// Filter on optional
|
||||
if (!Filter.PassBoolFilter(cleaner.DatItemFilter.Optional, Optional))
|
||||
return false;
|
||||
|
||||
// Filter on inverted
|
||||
if (!Filter.PassBoolFilter(cleaner.DatItemFilter.Inverted, Inverted))
|
||||
return false;
|
||||
|
||||
#endregion
|
||||
|
||||
#region AttractMode
|
||||
|
||||
// Filter on alt name
|
||||
if (!Filter.PassStringFilter(cleaner.DatItemFilter.AltName, AltName))
|
||||
return false;
|
||||
|
||||
// Filter on alt title
|
||||
if (!Filter.PassStringFilter(cleaner.DatItemFilter.AltTitle, AltTitle))
|
||||
return false;
|
||||
|
||||
#endregion
|
||||
|
||||
#region OpenMSX
|
||||
|
||||
// Filter on original
|
||||
if (!Filter.PassStringFilter(cleaner.DatItemFilter.Original, Original?.Content))
|
||||
return false;
|
||||
|
||||
// Filter on OpenMSX subtype
|
||||
if (cleaner.DatItemFilter.OpenMSXSubType.MatchesPositive(OpenMSXSubType.NULL, OpenMSXSubType) == false)
|
||||
return false;
|
||||
if (cleaner.DatItemFilter.OpenMSXSubType.MatchesNegative(OpenMSXSubType.NULL, OpenMSXSubType) == true)
|
||||
return false;
|
||||
|
||||
// Filter on OpenMSX type
|
||||
if (!Filter.PassStringFilter(cleaner.DatItemFilter.OpenMSXType, OpenMSXType))
|
||||
return false;
|
||||
|
||||
// Filter on remark
|
||||
if (!Filter.PassStringFilter(cleaner.DatItemFilter.Remark, Remark))
|
||||
return false;
|
||||
|
||||
// Filter on boot
|
||||
if (!Filter.PassStringFilter(cleaner.DatItemFilter.Boot, Boot))
|
||||
return false;
|
||||
|
||||
#endregion
|
||||
|
||||
#region SoftwareList
|
||||
|
||||
// Filter on load flag
|
||||
if (cleaner.DatItemFilter.LoadFlag.MatchesPositive(LoadFlag.NULL, LoadFlag) == false)
|
||||
return false;
|
||||
if (cleaner.DatItemFilter.LoadFlag.MatchesNegative(LoadFlag.NULL, LoadFlag) == true)
|
||||
return false;
|
||||
|
||||
// Filter on value
|
||||
if (!Filter.PassStringFilter(cleaner.DatItemFilter.Value, Value))
|
||||
return false;
|
||||
|
||||
// Filter on DataArea
|
||||
if (DataAreaSpecified)
|
||||
{
|
||||
if (!DataArea.PassesFilter(cleaner, true))
|
||||
return false;
|
||||
}
|
||||
|
||||
// Filter on Part
|
||||
if (PartSpecified)
|
||||
{
|
||||
if (!Part.PassesFilter(cleaner, true))
|
||||
return false;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
public override void RemoveFields(
|
||||
List<DatItemField> datItemFields,
|
||||
|
||||
Reference in New Issue
Block a user