RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login

    Create a custom ES system able to launch games for many systems

    Scheduled Pinned Locked Moved Ideas and Development
    emulationstatiocustomisationscustom theme
    157 Posts 15 Posters 66.8k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • E
      EctoOne @TMNTturtlguy
      last edited by

      @TMNTturtlguy It was mentioned somewhere in this thread that symbolic links only works when on linux partitions. I have my Roms on a Fat32 Stick and made a SymLink Folder on my SD which contains all new systems with the links and gamelists.
      And I always had to use bash to get any script to work.

      TMNTturtlguyT 1 Reply Last reply Reply Quote 0
      • TMNTturtlguyT
        TMNTturtlguy @EctoOne
        last edited by

        @EctoOne thanks! Yes I did remember now that @meleu said it only works on Linux partitions. Did you have to create a new partition on your sd card or just a new folder?

        meleuM 1 Reply Last reply Reply Quote 0
        • meleuM
          meleu @TMNTturtlguy
          last edited by

          @TMNTturtlguy said in Create a custom ES system able to launch games for many systems:

          Did you have to create a new partition on your sd card or just a new folder?

          A new folder on a Linux partition and change the es_systems.cfg accordingly.

          Check the FAQ in the OP, the answer for question 3 has a link to the conversation about that.

          • Useful topics
          • joystick-selection tool
          • rpie-art tool
          • achievements I made
          1 Reply Last reply Reply Quote 0
          • meleuM
            meleu @TMNTturtlguy
            last edited by

            @TMNTturtlguy about the issue #1, those fancy scripts are clearly lacking the permission to execute. A simple chmod +x scriptname should solve it.

            • Useful topics
            • joystick-selection tool
            • rpie-art tool
            • achievements I made
            1 Reply Last reply Reply Quote 1
            • D
              dmmarti
              last edited by

              @meleu Here is a 7zip download containing all of the scripts and configuration files for adding 50 new collections into Emulation Station. I've also included a readme file where I tried to document how it all works. Users keep their roms and matching media in the normal folders, everything is based upon symbolic links (for both the roms/media themselves and the specialized gamelist.xml files).

              This method adds new emulator folders in /opt, new systems into es_systems.cfg, new /roms folders, new scripts, and new specialized gamelist.xml files for them all.

              The only prerequisite is that the scripts expect the rom filenames to be named according to the Hyperspin/EmuMovies naming convention.

              But...hopefully you can gleam some usefulness out of it and be able to update/adapt it to make it more generic and global for use. Hope my included readme text file explains it well enough as well as you looking over the shell scripts themselves to make sense. Also, of course, if you add these, you'll need to update whatever theme you use as well so they'll show properly in ES.

              I copied them over and zipped them on Windows ... so you might have to chmod 755 on the scripts to get them back to executable on your Pi (not sure if they kept those permissions or not).

              https://mega.nz/#!5Zt2ga6b!mgcwbDPW1o18hS1DT_QwL7nHiqEDk7Eg7ZA3RVeOnwk

              pjftP 1 Reply Last reply Reply Quote 3
              • pjftP
                pjft @dmmarti
                last edited by

                @dmmarti thanks for sharing this - great to see the momentum and engagement here.

                I plan on making all of these obsolete, but we're likely looking at an August timeframe given that we're at the end of June and I'm still working on the all, last played and favorites auto systems.

                Still, great to see the use cases in the interim :)

                meleuM 1 Reply Last reply Reply Quote 4
                • meleuM
                  meleu @pjft
                  last edited by

                  @pjft said in Create a custom ES system able to launch games for many systems:

                  I plan on making all of these obsolete

                  Do you really mean ALL. Including the "custom systems" like konami, cps2, megaman, shoot'em ups, etc?

                  • Useful topics
                  • joystick-selection tool
                  • rpie-art tool
                  • achievements I made
                  TMNTturtlguyT pjftP 2 Replies Last reply Reply Quote 0
                  • TMNTturtlguyT
                    TMNTturtlguy @meleu
                    last edited by

                    @meleu said in Create a custom ES system able to launch games for many systems:

                    Do you really mean ALL. Including the "custom systems" like konami, cps2, megaman, shoot'em ups, etc?

                    You forgot the reason this all started....TMNT! Cowabunga!

                    0_1497980318872_cMKM4HA.jpg

                    1 Reply Last reply Reply Quote 2
                    • pjftP
                      pjft @meleu
                      last edited by

                      @meleu I don't mean making the systems obsolete, but the way we create them. I envision this all being done within EmulationStation, but it's still a ways off.

                      1 Reply Last reply Reply Quote 2
                      • UDb23U
                        UDb23
                        last edited by

                        Shoot'em Up SVG logo ready !

                        alt text

                        Available here.

                        1 Reply Last reply Reply Quote 3
                        • TMNTturtlguyT
                          TMNTturtlguy
                          last edited by

                          @meleu Is there anyway that we can point the custom folders with the symlinks to use a custom launching image? right now the symlinks in the script point the linked roms to use the launching image associated with the /opt/retropie/configs/folder for the system the rom originated from. So if mega man was from the nes folder, it would use the nes launching screen found in /opt/retropie/configs/nes

                          Is there a way to set it so that all of the sym links in the megaman folder use a launching image specific for just megaman? can the custom runcomand script in the es_systems.cfg for the custom systems have a line to point to the symlink folder for the launching image? Thanks

                          meleuM 1 Reply Last reply Reply Quote 0
                          • meleuM
                            meleu @TMNTturtlguy
                            last edited by

                            @tmntturtlguy said in Create a custom ES system able to launch games for many systems:

                            @meleu Is there anyway that we can point the custom folders with the symlinks to use a custom launching image?

                            We can think in a workaround for it, but currently not.

                            Maybe it's better to use the game specific launching image feature.

                            More info in the docs: https://retropie.org.uk/docs/Runcommand/#adding-custom-launching-images

                            • Useful topics
                            • joystick-selection tool
                            • rpie-art tool
                            • achievements I made
                            TMNTturtlguyT 2 Replies Last reply Reply Quote 0
                            • TMNTturtlguyT
                              TMNTturtlguy @meleu
                              last edited by

                              @meleu Thanks Man,

                              I thought about the game specific but then it would show the mega man launch image if I launch it from the NES system....I guess it isn't the end of the world, but I would like to get it so that mega man.zip shows the mega man lunch when launched from the mega man system and mega man.zip has the nes launch when launched from the nes system.

                              This is not a bid deal at all, so no worries. Thanks

                              1 Reply Last reply Reply Quote 1
                              • namyzarkN
                                namyzark
                                last edited by

                                @TMNTturtlguy & @meleu

                                I love this. I've tried following along with this due to the design of what my wife wants, but it isn't working.

                                Let me describe the end goal: the wife says there are too many game systems. CPS1, CPS2, CPS3, Capcom, FBA, Galaxian, GameGear, GBC, GBA, NES, SNES, Genesis, etc etc etc

                                She wants a 'couple' main system directories. Like Nintendo, Arcade, & Sega. In each of these 'main system' groups there will be sub-systems. Nintendo would have GBC, GBA, NES, & SNES.

                                Thus far I've managed to create a new main system. The sub folders are just that, sub folders. They don't launch correctly (incorrect emulator is my best guess). Anything either of you can do to help and get me on the correct path to fix the issue I am having?

                                Thank you in advance.

                                meleuM 1 Reply Last reply Reply Quote 0
                                • meleuM
                                  meleu @namyzark
                                  last edited by

                                  @namyzark I suggest you to use the @TMNTturtlguy 's trick here: https://retropie.org.uk/forum/topic/11499/change-es_systems-cfg-script

                                  • Useful topics
                                  • joystick-selection tool
                                  • rpie-art tool
                                  • achievements I made
                                  namyzarkN 2 Replies Last reply Reply Quote 2
                                  • meleuM
                                    meleu
                                    last edited by

                                    @hansolo77 and all RetroAchievements users, if you to create a custom system for RetroAchievements, the hascheevos tool can help you in this task. Here are the steps:

                                    1. Create an achievements custom system as described in the OP.

                                    2. Go to the hascheevos repo and follow the instructions to install it.

                                    3. Use the trick to create a list of all ROMs that have cheevos in a directory. Here is an example for Mega Drive games:

                                    ./hascheevos.sh -u USER -p PASSWORD ~/RetroPie/roms/megadrive/* > ~/megadrive-roms-with-cheevos.txt
                                    
                                    1. Get the add-game-to-custom-system.sh script (I talked about it in a post above):
                                    wget https://raw.githubusercontent.com/meleu/share/master/add-game-to-custom-system.sh
                                    chmod a+x add-game-to-custom-system.sh
                                    
                                    1. Give the created list's content as arguments for the add-game-to-custom-system.sh:
                                    cat ~/megadrive-cheevos.txt | xargs -d '\n' ./add-game-to-custom-system.sh -d ~/RetroPie/roms/achievements
                                    
                                    1. [optional] Repeat the steps 3 and 4 for other supported systems.

                                    2. Done!

                                    Meanwhile we keep trying to make it less laborious (thanks to the big contributions from @pjft ).

                                    • Useful topics
                                    • joystick-selection tool
                                    • rpie-art tool
                                    • achievements I made
                                    1 Reply Last reply Reply Quote 0
                                    • hansolo77H
                                      hansolo77
                                      last edited by

                                      EEEEEE!!!!!! Something to test! I'm now officially on vacation (from work, but staying home), so I have all week to play around with this.

                                      Who's Scruffy Looking?

                                      mattrixkM 1 Reply Last reply Reply Quote 1
                                      • hansolo77H
                                        hansolo77
                                        last edited by hansolo77

                                        Ugh migraines. Trying to figure out the PowerBlock problem I'm having and then to tackle this is just too much. I'm on vacation for crying out loud. Why'd I have to go and have a migraine? So if I understand correctly, I have to first create the "folder" achievements, then run the scrape tool to get a text list of my games. then use ANOTHER tool to convert those lists into symbolic links, and then go back and run yet another tool to add in the missing metadata? Seems like a lot of manual labor. Can't wait for some automation. :) Might have to try this tomorrow hen my head feels better.

                                        Who's Scruffy Looking?

                                        1 Reply Last reply Reply Quote 0
                                        • namyzarkN
                                          namyzark @meleu
                                          last edited by

                                          @meleu said in Create a custom ES system able to launch games for many systems:

                                          https://retropie.org.uk/forum/topic/11499/change-es_systems-cfg-script

                                          This was a great starting point @meleu. Thank you so much. Now to create custom folders for each user with only their games!!!

                                          1 Reply Last reply Reply Quote 0
                                          • mattrixkM
                                            mattrixk @hansolo77
                                            last edited by

                                            @hansolo77 said in Create a custom ES system able to launch games for many systems:

                                            I'm now officially on vacation (from work, but staying home)

                                            The best kind of vacation.

                                            My ES themes: MetaPixel | Spare | Io | Indent

                                            1 Reply Last reply Reply Quote 1
                                            • First post
                                              Last post

                                            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.