DatItems don't know about filtering

This commit is contained in:
Matt Nadareski
2020-12-13 21:47:42 -08:00
parent 67bfe0dae9
commit 3fcec263e0
40 changed files with 1325 additions and 1458 deletions

View File

@@ -5,7 +5,6 @@ using System.Xml.Serialization;
using SabreTools.Core;
using SabreTools.Core.Tools;
using SabreTools.Filtering;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
@@ -567,196 +566,6 @@ namespace SabreTools.DatItems
#region Filtering
/// <summary>
/// Check to see if a Machine passes the filter
/// </summary>
/// <param name="cleaner">Cleaner containing filters to check against</param>
/// <returns>True if the item passed the filter, false otherwise</returns>
public bool PassesFilter(Cleaner cleaner)
{
#region Common
// Machine_Name
bool passes = Filter.PassStringFilter(cleaner.MachineFilter.Name, Name);
if (cleaner.MachineFilter.IncludeOfInGame)
{
passes |= Filter.PassStringFilter(cleaner.MachineFilter.Name, CloneOf);
passes |= Filter.PassStringFilter(cleaner.MachineFilter.Name, RomOf);
}
if (!passes)
return false;
// Machine_Comment
if (!Filter.PassStringFilter(cleaner.MachineFilter.Comment, Comment))
return false;
// Machine_Description
if (!Filter.PassStringFilter(cleaner.MachineFilter.Description, Description))
return false;
// Machine_Year
if (!Filter.PassStringFilter(cleaner.MachineFilter.Year, Year))
return false;
// Machine_Manufacturer
if (!Filter.PassStringFilter(cleaner.MachineFilter.Manufacturer, Manufacturer))
return false;
// Machine_Publisher
if (!Filter.PassStringFilter(cleaner.MachineFilter.Publisher, Publisher))
return false;
// Machine_Category
if (!Filter.PassStringFilter(cleaner.MachineFilter.Category, Category))
return false;
// Machine_RomOf
if (!Filter.PassStringFilter(cleaner.MachineFilter.RomOf, RomOf))
return false;
// Machine_CloneOf
if (!Filter.PassStringFilter(cleaner.MachineFilter.CloneOf, CloneOf))
return false;
// Machine_SampleOf
if (!Filter.PassStringFilter(cleaner.MachineFilter.SampleOf, SampleOf))
return false;
// Machine_Type
if (cleaner.MachineFilter.Type.MatchesPositive(0x0, MachineType) == false)
return false;
if (cleaner.MachineFilter.Type.MatchesNegative(0x0, MachineType) == true)
return false;
#endregion
#region AttractMode
// Machine_Players
if (!Filter.PassStringFilter(cleaner.MachineFilter.Players, Players))
return false;
// Machine_Rotation
if (!Filter.PassStringFilter(cleaner.MachineFilter.Rotation, Rotation))
return false;
// Machine_Control
if (!Filter.PassStringFilter(cleaner.MachineFilter.Control, Control))
return false;
// Machine_Status
if (!Filter.PassStringFilter(cleaner.MachineFilter.Status, Status))
return false;
// Machine_DisplayCount
if (!Filter.PassStringFilter(cleaner.MachineFilter.DisplayCount, DisplayCount))
return false;
// Machine_DisplayType
if (!Filter.PassStringFilter(cleaner.MachineFilter.DisplayType, DisplayType))
return false;
// Machine_Buttons
if (!Filter.PassStringFilter(cleaner.MachineFilter.Buttons, Buttons))
return false;
#endregion
#region ListXML
// Machine_SourceFile
if (!Filter.PassStringFilter(cleaner.MachineFilter.SourceFile, SourceFile))
return false;
// Machine_Runnable
if (cleaner.MachineFilter.Runnable.MatchesPositive(Runnable.NULL, Runnable) == false)
return false;
if (cleaner.MachineFilter.Runnable.MatchesNegative(Runnable.NULL, Runnable) == true)
return false;
#endregion
#region Logiqx
// Machine_Board
if (!Filter.PassStringFilter(cleaner.MachineFilter.Board, Board))
return false;
// Machine_RebuildTo
if (!Filter.PassStringFilter(cleaner.MachineFilter.RebuildTo, RebuildTo))
return false;
#endregion
#region Logiqx EmuArc
// Machine_TitleID
if (!Filter.PassStringFilter(cleaner.MachineFilter.TitleID, TitleID))
return false;
// Machine_Developer
if (!Filter.PassStringFilter(cleaner.MachineFilter.Developer, Developer))
return false;
// Machine_Genre
if (!Filter.PassStringFilter(cleaner.MachineFilter.Genre, Genre))
return false;
// Machine_Subgenre
if (!Filter.PassStringFilter(cleaner.MachineFilter.Subgenre, Subgenre))
return false;
// Machine_Ratings
if (!Filter.PassStringFilter(cleaner.MachineFilter.Ratings, Ratings))
return false;
// Machine_Score
if (!Filter.PassStringFilter(cleaner.MachineFilter.Score, Score))
return false;
// Machine_Enabled
if (!Filter.PassStringFilter(cleaner.MachineFilter.Enabled, Enabled))
return false;
// Machine_CRC
if (!Filter.PassBoolFilter(cleaner.MachineFilter.CRC, Crc))
return false;
// Machine_RelatedTo
if (!Filter.PassStringFilter(cleaner.MachineFilter.RelatedTo, RelatedTo))
return false;
#endregion
#region OpenMSX
// Machine_GenMSXID
if (!Filter.PassStringFilter(cleaner.MachineFilter.GenMSXID, GenMSXID))
return false;
// Machine_System
if (!Filter.PassStringFilter(cleaner.MachineFilter.System, System))
return false;
// Machine_Country
if (!Filter.PassStringFilter(cleaner.MachineFilter.Country, Country))
return false;
#endregion
#region SoftwareList
// Machine_Supported
if (cleaner.MachineFilter.Supported.MatchesPositive(Supported.NULL, Supported) == false)
return false;
if (cleaner.MachineFilter.Supported.MatchesNegative(Supported.NULL, Supported) == true)
return false;
#endregion // SoftwareList
return true;
}
/// <summary>
/// Remove fields from the Machine
/// </summary>