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 (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;
|
found = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (name.StartsWith("*"))
|
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;
|
found = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (name.EndsWith("*"))
|
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;
|
found = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
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;
|
found = false;
|
||||||
}
|
}
|
||||||
@@ -777,28 +793,44 @@ namespace SabreTools.Helper.Dats
|
|||||||
{
|
{
|
||||||
if (name.StartsWith("*") && name.EndsWith("*"))
|
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;
|
found = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (name.StartsWith("*"))
|
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;
|
found = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (name.EndsWith("*"))
|
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;
|
found = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
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;
|
found = false;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user