rpie-art: easy way to install art on your RetroPie
-
UPDATE: Added support for arcade clone ROMs overlay installation.
@pjft @jdrassa
We were talking about installing overlays for clones in other topic... Well, at that time we didn't use theinfo.txt
file and I was resistant to implement clone config files management in the script. But with theinfo.txt
it became very simple and now the script is able to deal with arcade clone ROMs (if theinfo.txt
file has therom_clones
entry correctly filled).How it works?
The script check the clone list in info.txt
rom_clones
and if the user has any of those clones in the same dir as the parent ROM, install the overlay for it.Feedback needed
Do you think the user sould be prompted about the ROM clone overlay installation?
-
-
@meleu Thanks for reaching out.
I suppose, without knowing the exact user flow, that my answer would be "it depends". :)
What do we currently do, and what would your suggestion be?
- Do we currently check what roms the user has, or is it fully selected by the user? (I imagine it's the latter)
- Do we list the clones in the selectable list, or just the parent game? (I assume it's the latter as well)
- I imagine we would have a single, centralized, parent overlay, and just create different .zip.cfg files for the clones, which would link to that same overlay, is that the case?
If these three are correct assumptions, I would imagine that it would be nice to at least inform the user that you'd be installing the overlays for a specific game and known clones (if you plan on doing clones). Otherwise people might be confused as to why suddenly their ROM folder is filled with unknown .zip.cfg files for games they don't want. This could be done in the context text as well - when you say "Check the options you want and press "Continue" ", you can say that "This will install overlays for the selected games and known clones and children roms", and get it over with.
If you'd like it to be a prompt - i.e. after checking all the overlays you want from the list, presenting them with a screen to select "would you want to also install overlays for the known clones and variants of the selected games? This will create separate .zip.cfg files in your ROM folder for those specific games. [Yes / No]" - I'd also be supportive, but keeping it simple (i.e. not having the user select the roms and clones 1 by 1 again). Odds are, you either want clones or you don't, and not a mix and match, as the files themselves don't take up too much space.
At least that'd be my take. Keeping it simple - this is already tremendous work!
If you feel that it would be awkward or potentially problematic, you could add two extra options (completely optional, but just to consider):
- Remove unused overlay configuration files (would remove .zip.cfg files without matching rom names)
- Remove all overlay configuration files (trickier, as you'd need to keep a history somehow. Is that what the "Uninstall art" option is, though?)
But don't worry too much. As long as the expectations are set in the beginning, in my opinion, everything else is fine.
Thanks for asking, though - appreciated! Would love to hear your thoughts as well and what you're considering.
-
@pjft said in rpie-art: easy way to install art on your RetroPie:
- Do we currently check what roms the user has, or is it fully selected by the user? (I imagine it's the latter)
selected by the user, the overlay is installed even if the user doesn't have the ROM. I can change this behavior if the users think it would be nice, but for my intensive tests I needed to leave it this way.
But notice that it happens only for the parent ROMs. The clone configs are installed only if the user has the respective ROM file.
- Do we list the clones in the selectable list, or just the parent game? (I assume it's the latter as well)
Just the parent game.
- I imagine we would have a single, centralized, parent overlay, and just create different .zip.cfg files for the clones, which would link to that same overlay, is that the case?
yes, it is.
About other comments, you're right. The user deserves at least an option to say if he/she wants to install the overlay for clones.
- Remove unused overlay configuration files (would remove .zip.cfg files without matching rom names)
Hmmm... Cool idea. I'll put it in my TODO list. ;-)
- Remove all overlay configuration files (trickier, as you'd need to keep a history somehow. Is that what the "Uninstall art" option is, though?)
It can be trickier, but we are the trickiest! :-)
I already found a solution for it and there's no need to keep a history. If you are curious, here is the trick: https://github.com/meleu/rpie-art/blob/master/rpie-art.sh#L368 (translating to plain English: "do NOT delete overlay config files if they are being used by another rom config".)Summing up: I'll let the user choose if the script will install overlays for clones.
Cheers!
-
@meleu
I'm not sure if this would mess up your current flow but I think it would be cool to have checkboxes again for the parents and clones so if the end user only wants overlays for the clone(s) and not the parent, this would be possible.Maybe at this screen you can have the games show multiple times if there is any clones:
Example for Burning Force:
[ ] 1 arcade/Burning Force (burnforc.zip) [ ] 2 arcade/Burning Force (burnforco.zip) [ ] 3 arcade/Frenzy....
I'm sure some users won't understand what that means or wouldn't know which one they use so they could just check them both for install. I think this would also help with none-merged sets that are running a clone (with parent data in it) without the actual parent present.
-
Also if you wanted you could put a * on the parent's name or better...just note in the manual that the parent will always be listed first.
-
OK guys, here is my approach to deal with overlay installation for clones:
Note: that dialog shows only the clones the user has (if none, the dialog is not displayed).
Update your script using the update option in the main menu.
-
@meleu said in rpie-art: easy way to install art on your RetroPie:
Note: that dialog shows only the clones the user has (if none, the dialog is not displayed).
Perfect.
-
@meleu : with The End we have a new case to consider for the script.
As FBA has its own rom folder, people may want to install the art in the fba folder instead of arcade or lr-mame.
How do we manage this with the script/info.txt ?
Currently I have created a fba subfolder in the The End folder in the repo.Should we consider to add a
core = "fba"
setting ?
Or simply use subfolder with name of core, as I did, and your script would pick it up and knows where to place the files accordingly ? -
@UDb23 Note: for the same rom, cfgs for mame and for FBA may be different (just like Option x subfolders currently).
-
@UDb23 if
system = "arcade"
the user will see this screen when installing the overlay:if
system = fba
, the script will install infba
folder. -
@UDb23 Does that overlay need a different config for fbalpha?
UPDATE: I saw the file in your repo and now I know, the answer is "yes, different configs". Please wait, I'm making some adjustments on the script to work with the optional art.
-
@UDb23 I've made small improvements on the script and submitted a PR to your repo.
There's no need to duplicate files, you can use relative paths in
info.txt
, like this:game_name = "The End" system = "fba" rom_config = "theend.zip.cfg" overlay_config = "../theend.cfg" overlay_image = "../theend_udb-ovl.png"
-
@meleu nice. So we'll place in the subfolder just the strictly necessary files.
According to your PR (merged), subfolder name seems not relevant, as you get a specific info.txt in that subfolder. Is that correct?
In case then I need to update also Gyruss (has option 1). -
@UDb23 said in rpie-art: easy way to install art on your RetroPie:
So we'll place in the subfolder just the strictly necessary files.
Yep.
According to your PR (merged), subfolder name seems not relevant, as you get a specific info.txt in that subfolder. Is that correct?
Yep yep! All folders with an info.txt file in it is parsed. No matter how the folder is named. But naming the folder with a descriptive name should be nice, since it's what the user will see in menus:
In the
/contrib/meleu
subfolders I put several info.txt files for launching art, look how the menu looks like: -
UPDATE
Now you can install the script on RetroPie Menu and then navigate through menus using a joystick. Just run the script with
--install
argument:./rpie-art.sh --install
If emulationstation is running, you'll need to restart it.
While in the menus like the one below, press B button to check the items you want to install, and press A to "Continue".
-
@meleu What are the ducktales and contra ones? I never saw them
-
@lilbud A nice lad named @lilbud made them. Those files are at
contrib/meleu
just as a proof-of-concept that my script works with an URL. My files are just pointing to those images at retropie-splashscreens-extra repositories. Look at my files:https://github.com/UDb23/rpie-ovl/blob/master/contrib/meleu/Contra/info.txt
https://github.com/UDb23/rpie-ovl/blob/master/contrib/meleu/DuckTales/info.txtedit:
if you don't mind in leaving this as is, I can add thecreator
field giving the credit to that nice lad. -
@meleu Oh, I forgot I made these. I thought you made Contra and Ducktales Overlays.
-
@lilbud said in rpie-art: easy way to install art on your RetroPie:
I thought you made Contra and Ducktales Overlays.
This tool is useful to install launching images too. I mean, launching images for a specific game.
By the way, I'll add an
info.txt
file for that splashscreen you've made for Shadow Dancer :)
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.