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 75.3k 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.
    • cyperghostC
      cyperghost
      last edited by

      Ah... You're right!
      Well, I never scrape :)
      I would suggest it as small workaround for a favorite folder

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

        @cyperghost if you were about to write a program to create those files, your program could also get the game's metadata info from the respective gamelist.xml and dump it in favorites/gamelist.xml. ;-)

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

          Sorry, this has been a bit hard to follow, I probably should know the answer here and it was likely answered before, but couldn't we just create a gamelist file that points to relative paths in other folders and achieve the same thing without the symbolic links?

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

            @pjft perfectly doable, but the problems would be:

            1. the users would need to edit konami/gamelist.xml manually, (less practical than ln -s target symlink).

            2. the script to launch the game would be a little more complex (get the actual system from the xml file).

            3. the use of gamelist.xml would be mandatory, not an option.

            I'll add this question to the FAQ.

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

              @meleu Got it, thank you.

              Just wanted to check if I was missing something from the overall picture, but it was mostly curiosity and feasibility for non-Linux file tables (i.e. those who run their ROMs from a FAT32 USB drive like me).

              Well done!

              Hope your boy has fully recovered by now :)

              meleuM 1 Reply Last reply Reply Quote 1
              • cyperghostC
                cyperghost @meleu
                last edited by cyperghost

                @meleu There is a difference in creating config files like a database or to create some filepieces to call some files. But here it is ... A pity I can't call other bash files.
                I think it caused while a user (pi) calls user with privleges. It can run easy bash files and other binaries but this makes no sense so far :(

                It's compiled on a raspberry 1 .... but due compatibilty it can run on the pi 2/3
                Make it executable via chmod +x

                Usage: create any file you want (maybe testfile.test)
                First line contains parameters
                Second contains binary or bash

                run
                ./lfl testfile.test

                output is:
                first line of testfile
                second line of testfile
                Execute firstline+secondline

                EDIT:
                Can't upload... well this small binary isn't usefull anyway :)

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

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

                  feasibility for non-Linux file tables (i.e. those who run their ROMs from a FAT32 USB drive like me)

                  The symbolic links must be in a Linux partition, but the target file can be in any valid path. As a FAT32 partition is mounted in a valid path, I think the method works fine for those people. :-)

                  The boy is recovering well! :-)

                  • Useful topics
                  • joystick-selection tool
                  • rpie-art tool
                  • achievements I made
                  pjftP 1 Reply Last reply Reply Quote 2
                  • pjftP
                    pjft @meleu
                    last edited by

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

                    The symbolic links must be in a Linux partition, but the target file can be in any valid path. As a FAT32 partition is mounted in a valid path, I think the method works fine for those people. :-)

                    I think I get that, but if the whole ROM folder and subfolders are in a FAT32 partition, there's no way to add symlinks in a Linux partition for this purpose (i.e. all the roms are expected to be in that folder anyway), or am I missing something?

                    Or would you suggest in the es_systems.cfgfile to add a <path> pointing to a folder in the SD card? Is that what you'd be recommending?

                    Thanks!

                    cyperghostC meleuM 2 Replies Last reply Reply Quote 1
                    • cyperghostC
                      cyperghost @pjft
                      last edited by cyperghost

                      @pjft That should work
                      Create a folder to /home/pi/RetroPie/symlinks and point from FAT32-ROM to that folder
                      Change es_systems.cfgfolder path to /home/pi/RetroPie/symlinks

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

                        @pjft yep! @cyperghost answered well.

                        Also, I've just updated the question 3 of the FAQ:

                        3. Is it possible to create symbolic links on a Windows machine and move them to my RetroPie later?

                        No. Symbolic links can't be created on Windows and can't be placed on a Windows partition.

                        But if your ROMs are stored on a Windows partition, you can use the method described here. You just have to place the symbolic links themselves on a Linux partition (target files can be in any valid path). Click here to see the conversation about it.

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

                          Excellent work, thanks for posting, will give this a go over the weekend!

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

                            Changelog:

                            Small update in the runcustom.sh. I've just discovered the readlink command, no need to pipe ls output to sed in order to get the target file name.

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

                              @meleu
                              So work done - I created a litlle unix binary for a fav launcher in a new thread

                              1 Reply Last reply Reply Quote 2
                              • meleuM
                                meleu
                                last edited by meleu

                                Guess what? Yes, you're right, another script...

                                This time it's a script to let you use the already existent metadata. So, there's no need to scrape the games in konami folder.

                                The script can be found here: https://github.com/meleu/share/blob/master/custom-system-autoscraper.sh

                                And you can download it with this command:

                                wget https://raw.githubusercontent.com/meleu/share/master/custom-system-autoscraper.sh
                                

                                Launch it with --help to see the usage:

                                $ ./custom-system-autoscraper.sh -h
                                This script gets all the symbolic links in a custom ES system directory and
                                tries to create a gamelist.xml based on already existent metadata, boxart,
                                marquee, and video.
                                
                                More info here: https://retropie.org.uk/forum/post/84125
                                
                                Usage:
                                ./custom-system-autoscraper.sh /path/to/custom/system/directory
                                

                                Updated the OP with this info.

                                • Useful topics
                                • joystick-selection tool
                                • rpie-art tool
                                • achievements I made
                                1 Reply Last reply Reply Quote 2
                                • UDb23U
                                  UDb23 @meleu
                                  last edited by

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

                                  Maybe this one from title screen:

                                  Logo done. Complete manual design.

                                  0_1497034362790_megaman.png
                                  Works best on dark background.

                                  Available here.

                                  1 Reply Last reply Reply Quote 3
                                  • meleuM
                                    meleu
                                    last edited by

                                    OMG! I'm loving this theme tweaking stuff!!!

                                    0_1497060729318_megaman-ES-pixel.png

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

                                      I'm still trying to fully understand the differences between the various config directories, but following along with the OP for setting up a Konani directory, I ended up getting it to work by editing my ~/.emulationstation/es_systems.cfg file instead of the one listed in /etc/emulationstation/ directory.

                                      Are the files in the ~/.emulationstation intended to be only for overrides, so essentially empty except for and local changes? I started with an existing image setup a few months ago, so while it's helpful for getting started, does add some confusion later on when trying to weed-out unnecessary files.

                                      melue, thanks for putting together this tutorial, very helpful, and thanks to UDB23 for the Mega Man vector, nice work!

                                      meleuM 2 Replies Last reply Reply Quote 2
                                      • meleuM
                                        meleu @Howitzer99
                                        last edited by meleu

                                        removed duplicated post (due to poor internet connection)

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

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

                                          Are the files in the ~/.emulationstation intended to be only for overrides, so essentially empty except for and local changes?

                                          Well, I thought it was the first place ES looks for es_systems.cfg ans, if not found, look in /etc/emulationstation. But if it's working as you're saying, one file complementing the other, it's great. I'll update the OP when I have a chance.

                                          By the way, Did you use the script to create the custom system's gamelist.xml? I'm curious to see if it's being useful to someone else. :-)

                                          Edit: post a screenshot of your custom ES system. ;-)

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

                                            meleu, I did run your "custom-system-autoscraper.sh", but when the Konami directory didn't showup in ES, I ended up running sscraper on the listed konami directory from the retropie-setup script. I'm seeing metadata listed, but probably from the sscraper.

                                            Sure, now that I know that it's working for creating a custom system, I'll start working on some custom ES system designs this week.

                                            meleuM 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.