mirror of
https://github.com/claunia/SabreTools.git
synced 2025-12-16 19:14:27 +00:00
[Filter] Add logic hooked up to _includeOfInGame
Basically the logic that has been added will allow an external flag to enable the game name and not game name lists to match the cloneof and romof tags as well. This will allow more advanced set-building.
This commit is contained in:
@@ -736,28 +736,44 @@ namespace SabreTools.Helper.Dats
|
||||
{
|
||||
if (name.StartsWith("*") && name.EndsWith("*"))
|
||||
{
|
||||
if (!item.Machine.Name.ToLowerInvariant().Contains(name.ToLowerInvariant().Replace("*", "")))
|
||||
if (_includeOfInGame
|
||||
? (!item.Machine.Name.ToLowerInvariant().Contains(name.ToLowerInvariant().Trim('*')))
|
||||
&& (!item.Machine.CloneOf.ToLowerInvariant().Contains(name.ToLowerInvariant().Trim('*')))
|
||||
&& (!item.Machine.RomOf.ToLowerInvariant().Contains(name.ToLowerInvariant().Trim('*')))
|
||||
: (!item.Machine.Name.ToLowerInvariant().Contains(name.ToLowerInvariant().Trim('*'))))
|
||||
{
|
||||
found = false;
|
||||
}
|
||||
}
|
||||
else if (name.StartsWith("*"))
|
||||
{
|
||||
if (!item.Machine.Name.EndsWith(name.Replace("*", ""), StringComparison.InvariantCultureIgnoreCase))
|
||||
if (_includeOfInGame
|
||||
? (!item.Machine.Name.EndsWith(name.Trim('*'), StringComparison.InvariantCultureIgnoreCase))
|
||||
&& (!item.Machine.CloneOf.EndsWith(name.Trim('*'), StringComparison.InvariantCultureIgnoreCase))
|
||||
&& (!item.Machine.RomOf.EndsWith(name.Trim('*'), StringComparison.InvariantCultureIgnoreCase))
|
||||
: (!item.Machine.Name.EndsWith(name.Trim('*'), StringComparison.InvariantCultureIgnoreCase)))
|
||||
{
|
||||
found = false;
|
||||
}
|
||||
}
|
||||
else if (name.EndsWith("*"))
|
||||
{
|
||||
if (!item.Machine.Name.StartsWith(name.Replace("*", ""), StringComparison.InvariantCultureIgnoreCase))
|
||||
if (_includeOfInGame
|
||||
? (!item.Machine.Name.StartsWith(name.Trim('*'), StringComparison.InvariantCultureIgnoreCase))
|
||||
&& (!item.Machine.CloneOf.StartsWith(name.Trim('*'), StringComparison.InvariantCultureIgnoreCase))
|
||||
&& (!item.Machine.RomOf.StartsWith(name.Trim('*'), StringComparison.InvariantCultureIgnoreCase))
|
||||
: (!item.Machine.Name.StartsWith(name.Trim('*'), StringComparison.InvariantCultureIgnoreCase)))
|
||||
{
|
||||
found = false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!String.Equals(item.Machine.Name, name, StringComparison.InvariantCultureIgnoreCase))
|
||||
if (_includeOfInGame
|
||||
? (!String.Equals(item.Machine.Name, name, StringComparison.InvariantCultureIgnoreCase))
|
||||
&& (!String.Equals(item.Machine.CloneOf, name, StringComparison.InvariantCultureIgnoreCase))
|
||||
&& (!String.Equals(item.Machine.RomOf, name, StringComparison.InvariantCultureIgnoreCase))
|
||||
: (!String.Equals(item.Machine.Name, name, StringComparison.InvariantCultureIgnoreCase)))
|
||||
{
|
||||
found = false;
|
||||
}
|
||||
@@ -777,28 +793,44 @@ namespace SabreTools.Helper.Dats
|
||||
{
|
||||
if (name.StartsWith("*") && name.EndsWith("*"))
|
||||
{
|
||||
if (item.Machine.Name.ToLowerInvariant().Contains(name.ToLowerInvariant().Replace("*", "")))
|
||||
if (_includeOfInGame
|
||||
? (item.Machine.Name.ToLowerInvariant().Contains(name.ToLowerInvariant().Trim('*')))
|
||||
|| (item.Machine.CloneOf.ToLowerInvariant().Contains(name.ToLowerInvariant().Trim('*')))
|
||||
|| (item.Machine.RomOf.ToLowerInvariant().Contains(name.ToLowerInvariant().Trim('*')))
|
||||
: (item.Machine.Name.ToLowerInvariant().Contains(name.ToLowerInvariant().Trim('*'))))
|
||||
{
|
||||
found = false;
|
||||
}
|
||||
}
|
||||
else if (name.StartsWith("*"))
|
||||
{
|
||||
if (item.Machine.Name.EndsWith(name.Replace("*", ""), StringComparison.InvariantCultureIgnoreCase))
|
||||
if (_includeOfInGame
|
||||
? (item.Machine.Name.EndsWith(name.Trim('*'), StringComparison.InvariantCultureIgnoreCase))
|
||||
|| (item.Machine.CloneOf.EndsWith(name.Trim('*'), StringComparison.InvariantCultureIgnoreCase))
|
||||
|| (item.Machine.RomOf.EndsWith(name.Trim('*'), StringComparison.InvariantCultureIgnoreCase))
|
||||
: (item.Machine.Name.EndsWith(name.Trim('*'), StringComparison.InvariantCultureIgnoreCase)))
|
||||
{
|
||||
found = false;
|
||||
}
|
||||
}
|
||||
else if (name.EndsWith("*"))
|
||||
{
|
||||
if (item.Machine.Name.StartsWith(name.Replace("*", ""), StringComparison.InvariantCultureIgnoreCase))
|
||||
if (_includeOfInGame
|
||||
? (item.Machine.Name.StartsWith(name.Trim('*'), StringComparison.InvariantCultureIgnoreCase))
|
||||
|| (item.Machine.CloneOf.StartsWith(name.Trim('*'), StringComparison.InvariantCultureIgnoreCase))
|
||||
|| (item.Machine.RomOf.StartsWith(name.Trim('*'), StringComparison.InvariantCultureIgnoreCase))
|
||||
: (item.Machine.Name.StartsWith(name.Trim('*'), StringComparison.InvariantCultureIgnoreCase)))
|
||||
{
|
||||
found = false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (String.Equals(item.Machine.Name, name, StringComparison.InvariantCultureIgnoreCase))
|
||||
if (_includeOfInGame
|
||||
? (String.Equals(item.Machine.Name, name, StringComparison.InvariantCultureIgnoreCase))
|
||||
|| (String.Equals(item.Machine.CloneOf, name, StringComparison.InvariantCultureIgnoreCase))
|
||||
|| (String.Equals(item.Machine.RomOf, name, StringComparison.InvariantCultureIgnoreCase))
|
||||
: (String.Equals(item.Machine.Name, name, StringComparison.InvariantCultureIgnoreCase)))
|
||||
{
|
||||
found = false;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user