[IDEA] Use RetroArch's built-in per-ROM config functionality, rather than runcommand and -appendconfig
-
i've been experimenting with retroarch's built-in per-ROM override ability (eg https://retropie.org.uk/forum/topic/4046/crt-pi-shader-users-automatic-usage-of-crt-pi-vertical-in-vertical-games-in-lr-mame2003). it's quite nice in that it lets you go into the RGUI menu, make option changes, and then select 'Save Game Overrides', and it will generate a gamename.cfg file in a subdirectory (named after the core) of your config directory, which will be loaded every time you launch that game.
i thought maybe we could utilise this in retropie, rather than the current per-rom cfg method which can be complex - https://github.com/retropie/retropie-setup/wiki/retroarch-configuration#hardcoded-configurations & https://github.com/retropie/retropie-setup/wiki/runcommand (option 9)
i'm happy doing the code changes, but wanted to get some feedback before starting :) here's the pros/cons i can think of:
PROS:
- allows users to adjust configs via the retroarch RGUI, rather than manually create them via runcommand text edit.
- reduces scope/complexity of runcommand and leaves (this) retroarch stuff to retroarch
- uses the supported RA method for this
- if you have 'save config on exit' turned on, your overrides will not migrate into your main .cfg
- alerts the user that an override has been loaded (current method is silent)
CONS:
- would make users' old per-rom .cfgs redundant (could keep old retrieval code in runcommand?)
- the old method essentially works fine :)
i haven't tried this with per-core configs, although RA also supports those overrides in the same way. this part would need thorough testing, though, as it's such a crucial part of retropie. save that for another day :)
-
- if you have 'save config on exit' turned on, your overrides will not migrate into your main .cfg
This pro is enough to go ahead!! :D
-
I agree that editing the settings from within the RetroArch interface makes a bit more sense, UI-wise.
Questions :
- where does RA store those per-game settings?
- can we access these from anywhere else, for instance from the command line or via SCP?
- can we provide a conversion from the current per-game cfgs to the other?
-
@Zigurana said in [IDEA] Use RetroArch's built-in per-ROM config functionality, rather than runcommand and -appendconfig:
I agree that editing the settings from within the RetroArch interface makes a bit more sense, UI-wise.
Questions :
- where does RA store those per-game settings?
"it will generate a gamename.cfg file in a subdirectory (named after the core) of your config directory"
eg
/opt/retropie/configs/mame-libretro/MAME 2003/pacman.cfg
- can we access these from anywhere else, for instance from the command line or via SCP?
they're just text files so sure :)
- can we provide a conversion from the current per-game cfgs to the other?
sure - just moving and renaming would do it, which you could do via linux commands.
-
@dankcushions well then, there is not much of a difference is there?
We can write a conversion script to move any existing cfg from the rom folder to the new /opt/... location, so ppl will not have start from scratch if they have shaders/overlays installed.
There's probably a couple of Retropie specifics that need to be updated, but some of the @administrators will be able to comment on that.What about the use case of someone wanting to switch from one libretto-core to another? He/she will start with a blank config in that case, right?
Now I think about it, that's probably a good thing, as a different core will also need different configurations.I say, its a minor change, with minor impact, and brings some improvements towards the hassle of setting up a game. Good plan!
-
Thanks - looks good.
There is another thing to consider with the current method. I have my roms on a network mount, and so any rom overrides affect all systems that use it. With the new method, that would be lost but I don't see why we can't allow for both.
I will look into it. I would prefer to do the code though (Although not much will be needed I think - mostly just switching it on). I will want to do some testing to make sure it all works etc.
-
I would also enjoy per-rom overlays savable in RetroArch GUI. But maybe that already exists and I can't figure it out. I don't want to do anything complicated. Just let me select an overlay per rom in the GUI. No command line stuff and no .cfg editing.
-
@GreenHawk84 said in [IDEA] Use RetroArch's built-in per-ROM config functionality, rather than runcommand and -appendconfig:
I would also enjoy per-rom overlays savable in RetroArch GUI. But maybe that already exists and I can't figure it out. I don't want to do anything complicated. Just let me select an overlay per rom in the GUI. No command line stuff and no .cfg editing.
it exists and i describe how in my first post :) if you can't find the option it might only be in later versions of retroarch. i'm not sure how long it's been there.
-
@dankcushions , whatever you can do you simplify Retropie, is great news to me.
-
@dankcushions I think the stock RetroArch in RetroPie 4.02 is from July, whereas this change was about 26 Aug.
https://github.com/libretro/RetroArch/pull/3429I'll update mine and try it out, although I guess until its within the RetroPie image download most users probably wont come across it as I doubt they would update RetroArch.
-
@Floob yeah - it was after the 1.3.6 release - when the next retroarch release is out I will do some testing etc. (well may test before, but it won't be enabled in retropie until after the point release).
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.