unexpectedpanda / retool

Retool: a better filter tool for Redump and No-Intro DAT files.
BSD 3-Clause "New" or "Revised" License
349 stars 23 forks source link

Feature Request - Support game subset lists. #248

Closed yo1dog closed 1 year ago

yo1dog commented 1 year ago

I often find myself wanting to create and manage small subsets of a large romset. Just like 1G1R, I am not looking for an exact ROM version for each game, I just want the most "appropriate" version based on preferences for region, language etc.

For example, I want to be able to specify:

Super Mario Bros.
Super Mario Bros. 2
Excitebike

And get a DAT containing exactly 3 ROMs for those 3 games (USA, English, and NTSC preferred):

Super Mario Bros. (World).nes
Super Mario Bros. 2 (USA) (Rev 1).nes
Excitebike (Japan, USA) (En).nes

Currently, I do this by first using retool to generate a 1G1R DAT with the desired preferences and then manually modifying the DAT to only include the games I want. It would be great if retool could do that filtering for me. Perhaps a feature very similar to user filters, but is applied after the 1G1R filtering and matches against the base title name (without tags). Bonus points for fuzzy matching such that Super Mario 2 would match Super Mario Bros. 2.

If this functionality does not fall under the retool umbrella, could someone recommend a tool for creating, managing, and exporting subsets? I can not for the life of me find a good one.

unexpectedpanda commented 1 year ago

You're the second person to raise this use case (the other uses regex filters on the 1G1R output DAT to essentially action them after the fact). I can't promise anything, but if it's to happen, it'll be after v2 exits beta.

Keiyuu commented 1 year ago

I second this! I would definitely have a use case for a feature like this.

unexpectedpanda commented 1 year ago

This change is coming soon. User filters are being renamed to overrides (since really, that's what they are), and this feature is called post-filtering.

I've played with fuzzy matching, but there are too many false positives for this use case and it requires more user intervention than I'm comfortable with to get good results.

You'll still be able to post-filter with full matches, partial matches, and regex.

yo1dog commented 1 year ago

Sweet! Can't wait!

unexpectedpanda commented 1 year ago

Added in v2.01.0.