diff --git a/SabreTools.Helper/README.1ST b/SabreTools.Helper/README.1ST index 229a8fda..1bb410f3 100644 --- a/SabreTools.Helper/README.1ST +++ b/SabreTools.Helper/README.1ST @@ -962,6 +962,11 @@ Options: *00* means contains '00' 00 means exactly equals '00' Multiples of each of the above inputs are allowed. + + -ofg, --of-as-game Allow cloneof and romof tags to match game name filters + If filter or exclude by game name is used, this flag will allow those filters to + be checked against the romof and cloneof tags as well. This can allow for more + advanced set-building, especially in arcade-based sets. -rt=, --rom-type= Filter by rom type This allows users to only include roms or disks to their liking. Multiples of this diff --git a/SabreTools/Partials/SabreTools.Help.cs b/SabreTools/Partials/SabreTools.Help.cs index dc96d6bb..c4485c0a 100644 --- a/SabreTools/Partials/SabreTools.Help.cs +++ b/SabreTools/Partials/SabreTools.Help.cs @@ -1078,6 +1078,11 @@ namespace SabreTools "Filter by not game name", FeatureType.List, null)); + update.AddFeature("of-as-game", new Feature( + new List() { "-ofg", "--of-as-game" }, + "Allow cloneof and romof tags to match game name filters", + FeatureType.Flag, + null)); update.AddFeature("rom-name", new Feature( new List() { "-rn", "--rom-name" }, "Filter by rom name", diff --git a/SabreTools/SabreTools.cs b/SabreTools/SabreTools.cs index c1a2e253..b0882131 100644 --- a/SabreTools/SabreTools.cs +++ b/SabreTools/SabreTools.cs @@ -414,6 +414,10 @@ namespace SabreTools case "--output-dc": datFormat |= DatFormat.DOSCenter; break; + case "-ofg": + case "--of-as-game": + filter.IncludeOfInGame = true; + break; case "-om": case "--output-miss": datFormat |= DatFormat.MissFile;