theypsilon / _arcade-organizer

A script for organizing _Arcade for MiSTer
GNU General Public License v3.0
36 stars 6 forks source link

Request: Filtering by multiple criteria #51

Open matijaerceg opened 2 years ago

matijaerceg commented 2 years ago

The thought is "I wish I could just see all the games that work on my CRT (consumer, NTSC only), not rotated, using button controller only"

Basically, I'm wishing I could tell the script to create a couple of additional subfolders that are based on multiple (existing) criteria. Some examples:

  1. 15khz AND not-rotated AND 8-way input AND ntsc
  2. 15khz AND rotated left AND 4-way input AND ntsc + pal
  3. 2-players AND 8-way input

etc.

Is there any chance something like this might be possible in the future?

theypsilon commented 2 years ago

This is already possible, there is a UI for this in Update All Settings Screen under the Arcade Organizer submenu.

Go there and select 15khz video resolution, and only the rotation you are interested in. Same for buttons.

matijaerceg commented 2 years ago

I realize that my title is misleading. What I'm hoping to do is keep all the titles in the usual folders, but also add some new custom folders, each one containing only the titles that match the filters in the example above. So I'd have:

As I understand it, currently, whatever filters I choose for the script, that's all I'm going to get. If I want to filter by a new set of filters, I'd have to run the script again.

My use case is that sometimes I plug my MiSTer into my consumer CRT, sometimes I plug it into my TATE PVM, and sometimes I plug it into my HDMI TV for 2 player games. For each of those scenarios, I'd like to easily see what games work only in that scenario.

theypsilon commented 2 years ago

I feel that that could be too inefficient, since symlinks are a limiting factor for Arcade Organizer and the MiSTer menus. But thank you for your suggestion. If you think is worth exploring, you might try to work on a PR. Let me know if you need any help with that.

matijaerceg commented 2 years ago

I don't know what you mean about symlinks being a limiting factor. What I imagine would still just use symlinks. It's possible (and probable) that I'm explaining myself poorly 😅

theypsilon commented 2 years ago

The high volume of symlinks is affecting performance (AO runs slower). But maybe is not a big deal for the default configurations, since nothing should change for them. Will you work on this task?

matijaerceg commented 2 years ago

I really wish I was able to.

Thank you for your feedback on my suggestion Jose. I'm sorry to only offer an 'ask' and no dev contribution. Feel free to close my issue of course.

Ultimately, I think that there's a great use case for being able to see a list of all arcade cores that fit the current situation. Not even necessarily for multiple setups, but even just one setup would be great. For example, if I go and look at all the 15khz games, that list doesn't tell me which games are rotated. If I look at the rotated list, that one doesn't tell me which games need 4-way stick. So even with the organizer, I would have to mentally keep a note to cross reference the lists. Am I being spoiled? Yes 😅

I'm going to do some digging to see if there's a linux script that lets me create a folder of 'overlapping' files that are found in multiple folders, as that would pretty much solve this use case for me.

theypsilon commented 2 years ago

No, thank you for opening this issue. It's a valid use case. I'll let this open in case somebody would like to help with the implementation.