Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

rpie-art: easy way to install art on your RetroPie



  • rpie-art

    Easy way to install art on your RetroPie: https://github.com/meleu/rpie-art

    The rpie-art.sh is a script that let you easily install overlays, launching images and scrape images (not yet implemented) in your RetroPie. You can see some screenshots below.

    The art files come from other github repositories maintained by other users. You can see the art repository list in the rpie-art-repositories.txt file.

    How to use the script?

    Clone the repo and execute the script, as simple as that.

    git clone --depth 1 https://github.com/meleu/rpie-art
    cd rpie-art
    ./rpie-art.sh
    

    UPDATE [2017-June-29]: You can also install it on RetroPie Menu and then navigate through menus using a joystick. First be sure that your RetroPie-Setup is 4.2.8+, and then run the script with --install argument:

    ./rpie-art.sh --install
    

    If emulationstation is running, you'll need to restart it.

    After launching rpie-art.sh script follow the instructions in the dialog boxes.

    Although the script is perfectly able to install/uninstall overlays and launching images it's still a work in progress. If you find some bug or want to make a suggestion, post about it in this topic or use the issue tracker.

    How can I make the script able to install my custom art?

    First of all: github account/repository

    The script downloads art from github repositories, then you need to have a github account to create one.

    info.txt file

    You need to know how to use the info.txt file. It's pretty simple and straightforward, details here.

    launching art

    If you're good in making splashscreens, you're good in making launching images too! Just create your art and put the info.txt in the same directory. The info.txt for launching image only is as simple as this example

    overlay art

    You need to know the configurations needed to make the overlay work. There's a detailed doc in the RetroArch wiki but many users are succeeding by looking the @UDb23 files as templates. His repository can be found here: https://github.com/UDb23/rpie-ovl

    adding your repository to the rpie-art tool

    After creating your github repository, adding some art files and filling some info.txt files, you can add your repo to the rpie-art.sh script by adding the repo URL and a description in the repositories.txt file and submitting a Pull Request (if you don't know how to do it just post a reply in this topic or contact me in the issue tracker).

    Tagging some guys who might be interested in make their art installable using this tool: @lilbud , @Rookervik , @edmaul69 , @MorbidComplex (someone else?).

    A brief history of this tool

    • We, RetroPie enthusiasts, started the MAME ROW where we choose a random arcade game to play every week.

    • The @UDb23 came with his Computer Graphics talent and created some awesome overlays for the MAME ROW games. And then was born the most prolific game specific overlay creator in history.

    • @UDb23 became a super star and his fans started a topic in RetroPie forum to request overlays for their favorite arcade games. And, guess what? He listened to fans' requests!

    • One of those fans, @meleu, was impressed by the overlays created by @UDb23 but didn't like downloading the files from websites with strange links, pages full of animations and, mainly, host services that don't let users download files directly from command line. Then @meleu suggested that the files should be hosted on github. And, guess what? the Overlay Master agreed!

    • To show his infinite gratitude @meleu started to work on a bash script to let the users easily install the Overlay Master's art.

    • The file naming conventions needed to make the script work began to be very confusing, then @backstander suggested the creation of an "information file" where the script gets the info it needs to work. And then the info.txt idea was born.

    • The Overlay Guru's charisma, coupled with the reasonable info.txt simplicity, inspired those who have skills with CG software and then it has begun a new era of custom RetroPie art creation.



  • Screenshots

    Main Menu
    0_1492657808406_rpie-art_mainmenu.png

    Repository Menu
    0_1492658035604_rpie-art_repomenu.png

    Overlay list
    0_1492658421495_rpie-art_ovl_list.png

    Launching image list
    0_1492658969960_rpie-art_launching_list.png



  • Also don't forget to mention your "ToDo list #1"
    https://github.com/meleu/rpie-art/issues/1



  • @meleu said in rpie-art: easy way to install art on your RetroPie:

    the most prolific game specific overlay creator in history.

    Greatly exaggerated.
    :-))



  • @UDb23 What's absolutely true is that without @Meleu's fantastic work and enthusiasm all this overlay stuff and art available for Retropie would have been limited for use of"techie" guys.
    Now any Retropie user can benefit.

    Thank you so much!!!!



  • @backstander said in Nice MAME2003 overlays repository:

    I know you're still working on the ROM name discovery code but a couple of mine can't find my ROMs because of the small word "The". For example....
    I have "The Terminator" overlay but my ROM is named "Terminator, The (USA, Europe).zip" so it isn't found because "The Terminator" doesn't equal "Terminator, The". My config overlay file is named "Terminator, The (USA, Europe).zip.cfg" so maybe you could add code to also look for ROMs with the same name as this config file?

    I think your "Terminator, The" issue won't happen anymore. Could you update the script and try it again, please?



  • @meleu

    I think your "Terminator, The" issue won't happen anymore. Could you update the script and try it again, please?

    Thanks @meleu ! I'll test it this evening! I'm also working on two "Legend of Zelda, The" overlays so I'll test those as well.



  • 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 the info.txt file and I was resistant to implement clone config files management in the script. But with the info.txt it became very simple and now the script is able to deal with arcade clone ROMs (if the info.txt file has the rom_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?



  • It's an honor to have my repo as one of the sources and a part of Retropie's history! Thank you @meleu @UDb23 for your awesome work!



  • @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:
    Image

    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:

    0_1492823039485_rpie-art_clones.png

    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 acore = "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:

    0_1493056433843_rpie-art_arcade-dir.png

    if system = fba, the script will install in fba 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"
    


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.