[Feature Request] Ignore brackets and their content in filenames (for scanning purposes)
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 14.1k
- Forks
- 2.2k
- Avg merge
- 7h 35m
- Merged PRs (30d)
- 51
Description
Typically, a game file is named as such Game Name (Region) (Revision). RetroArch has no trouble reading it and properly lodging it in a corresponding database, playlist and even providing thumbnails for the game.
If a file is externally modified (normally for translation and general rom hacking), users tend to rename it, for better organization and clarification. As to not mess with the original naming scheme, any additional information is usually added between brackets, which denote those external modifications; on the other hand, information about the original, untampered, file is kept between parenthesis.
As an example, let's consider a hypothetical japanese game:
My Game (Japan).extension
Translated to english, it could be named:
My Game (Japan) [English Translation].extension
Naturally, RetroArch cannot recognize the translated name. After all, it's not the original file, and it's not humanly possible to add every single little modification for all games into a internal database.
However, although My Game (Japan) [English Translation].extension isn't inside the database, My Game (Japan).extension is. That means, any modified game can be readily recognized, if RetroArch choose to ignore the brackets and their information in any filename. That's what I suggest with this feature request.
Not everyone wants this behavior though. Some people like to have multiple modifications of a same game, so it would disturb their usecase. Thus, the feature could be an option (off by default) inside of Settings > Playlists > Ignore brackets when scanning filenames.
I consider it a middle-ground, a compromise, that could help with the following suggestion:
https://github.com/libretro/RetroArch/issues/15162
And this one, by focusing on manual scan with filename matching, instead of checksum comparison:
https://github.com/libretro/RetroArch/issues/10952
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing manual filename scanning and the Settings > Playlists options described in the request. Done means an off-by-default setting can ignore bracketed filename content for database matching while preserving the existing behavior when disabled.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- tooling
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100