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

    Modifying original source

    Scheduled Pinned Locked Moved Ideas and Development
    emulationstatiodevelopmentsource code
    22 Posts 7 Posters 4.2k 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.
    • M
      masteryoer
      last edited by

      Hey guys,

      Before I jumped head long into doing it, I wanted to see what the retropie community though, even though it's more-so related to emulationstation.

      I am building a custom console called xcade. I am building it for personal use, but wanted to do as much custom work as I could to it. I was looking at the source code for emulationstation today, and noticed that the emulation station theme itself (the menus, windows, etc) is all hard-coded into the source.

      Would the community, and contributor, have a problem with me modifying the source to use my own graphical elements, and recompiling for use personally? Of course, I would clone the repository and share my work with everybody, but wanted to know if it were possible, or against the terms of use or anything.

      Basically just want to change the white/greyish backgrounds to match my theme I am building, and also to change the UI elements to match better, too for a more seamless look.

      herb_fargusH 1 Reply Last reply Reply Quote 0
      • herb_fargusH
        herb_fargus administrators @masteryoer
        last edited by

        @masteryoer here is the licence for emulationstation:

        https://github.com/RetroPie/EmulationStation/blob/master/LICENSE.md

        I don't see any issue with what you describe, looking forward to seeing your build!

        If you read the documentation it will answer 99% of your questions: https://retropie.org.uk/docs/

        Also if you want a solution to your problems read this first: https://retropie.org.uk/forum/topic/3/read-this-first

        M 1 Reply Last reply Reply Quote 0
        • M
          masteryoer @herb_fargus
          last edited by

          @herb_fargus

          Nice! Now I just need to find out how to tell retropie-setup.sh to use my git repository, instead of the actual emulationstation one. Then, I can change all my stuff locally, rebuild and test. I should do it on my windows machine first though to get the process down as it takes a long time to build ES on my pi1b.

          J 1 Reply Last reply Reply Quote 0
          • J
            jdrassa @masteryoer
            last edited by

            @masteryoer you should be able to use this file as a guide. It will add an additional option in the experimental menu.

            https://github.com/RetroPie/RetroPie-Setup/blob/master/scriptmodules/supplementary/emulationstation-kids.sh

            Get latest build of EmulationStation for Windows here

            M 1 Reply Last reply Reply Quote 1
            • M
              masteryoer @jdrassa
              last edited by

              @jdrassa I am not sure what the 'expiremental' menu is. Is that the menu that installs the emulationstation ?

              J 1 Reply Last reply Reply Quote 0
              • J
                jdrassa @masteryoer
                last edited by

                @masteryoer when you run retropie-setup.sh, the normal process to install/update emulationstation would be to select 'Manage packages' -> 'Manage core packages' -> 'emulationstation'.

                The file I linked to is currently included in retropie-setup.sh and can be used to install a different fork of emulationstation. You should be able to copy the file, rename it, and updated it to point toward your fork on github. To access the option, in retropie-setup.sh, you would select 'Manage packages' -> 'Manage experimental packages' -> 'emulationstation-kids' ( this last option would change to whatever you choose to name it)

                Get latest build of EmulationStation for Windows here

                1 Reply Last reply Reply Quote 0
                • M
                  masteryoer
                  last edited by

                  @jdrassa

                  Would I be able to add another one to that list, instead of overwriting emulationstation-kids ? I looked at emulationstation-kiosk and kids, and both of them do some things I had planned to do with the UI. (Removing scraping, changing the UI, etc), so I wouldn't think it would be very hard to duplicate it. I could probably start with just forking the kid version and changing that.

                  So when you change the UI mode in the config, does it actually recompile the right version and then load it up, or does it install each one in a different location, and change the config to point to whatever location?

                  J 1 Reply Last reply Reply Quote 0
                  • J
                    jdrassa @masteryoer
                    last edited by

                    @masteryoer that script will install a fork of emulation station that has been modified to specifically add the different UI modes (kids / kiosk). I believe, once installed, you can switch between modes using the menus. I haven't actually used it.

                    Get latest build of EmulationStation for Windows here

                    M 1 Reply Last reply Reply Quote 0
                    • M
                      masteryoer @jdrassa
                      last edited by

                      @jdrassa

                      Right I'm just trying to figure out if it's actually just modified source it loads up with the elements missing or if it's special code that's ran inside the original source.

                      J dankcushionsD 2 Replies Last reply Reply Quote 0
                      • J
                        jdrassa @masteryoer
                        last edited by

                        @masteryoer my understanding is that the source was modified to selectively disable certain things when a UI mode is activated.

                        Get latest build of EmulationStation for Windows here

                        1 Reply Last reply Reply Quote 0
                        • dankcushionsD
                          dankcushions Global Moderator @masteryoer
                          last edited by

                          @masteryoer look at this line:
                          https://github.com/RetroPie/RetroPie-Setup/blob/master/scriptmodules/supplementary/emulationstation-kids.sh#L22

                          as you can see, it points to a different repo (a fork of emulationstation).

                          M 1 Reply Last reply Reply Quote 0
                          • Z
                            Zigurana
                            last edited by

                            Hey, I made the Kid-modes fork, AMA!

                            If tetris has thought me anything, it's that errors pile up and that accomplishments dissappear.

                            lilbudL 1 Reply Last reply Reply Quote 0
                            • lilbudL
                              lilbud @Zigurana
                              last edited by

                              @Zigurana When will it be updated/included in the offical ES build?

                              Creator of the Radiocade: https://retropie.org.uk/forum/topic/6077/radiocade

                              Backlog: http://backloggery.com/lilbud

                              1 Reply Last reply Reply Quote 0
                              • M
                                masteryoer @dankcushions
                                last edited by

                                @dankcushions Right, I saw that. My question was related to how the emulationstation-kids fork actually works. Is it just another full emulationstation source with the selective things removed out of it, or is it an addition/module for the emulationstation source?

                                dankcushionsD 1 Reply Last reply Reply Quote 0
                                • dankcushionsD
                                  dankcushions Global Moderator @masteryoer
                                  last edited by

                                  @masteryoer said in Modifying original source:

                                  @dankcushions Right, I saw that. My question was related to how the emulationstation-kids fork actually works. Is it just another full emulationstation source with the selective things removed out of it, or is it an addition/module for the emulationstation source?

                                  it's a full source. i mean it has to be if it's a fork and is the only source when building.

                                  M 1 Reply Last reply Reply Quote 0
                                  • M
                                    masteryoer @dankcushions
                                    last edited by

                                    @dankcushions

                                    That was what I was after :) Since the 'kid' version is the most lightweight, and more what I am looking for, it's what I will base mine off of. I'll just reverse the changes to only show 'kid friendly' games in the game lists, so that all games show up instead, as well as doing some more custom work, like changing the UI elements to match my theme (black and lime green ftw).

                                    In looking at the source code, I noticed there's an option for a horizontal or 'vertical' carousel on the main systems view. I don't recall ever seeing a config option anywhere for changing this. Is this a WIP option?

                                    herb_fargusH Z 2 Replies Last reply Reply Quote 0
                                    • herb_fargusH
                                      herb_fargus administrators @masteryoer
                                      last edited by

                                      @masteryoer that's a pending PR for a vertical carousel. It's still being tested

                                      If you read the documentation it will answer 99% of your questions: https://retropie.org.uk/docs/

                                      Also if you want a solution to your problems read this first: https://retropie.org.uk/forum/topic/3/read-this-first

                                      1 Reply Last reply Reply Quote 0
                                      • M
                                        masteryoer
                                        last edited by

                                        Hmm, so I guess I don't understand how the modules work after all. I created a new script called emulationstation-xcade.sh and changed the stuff around, and it shows up in the retropie experimental builds list, but once I try building from source I get a unable to build, cannot locate /tmp/build/emulationstation-xcade/emulationstation). I copied the .sh script from emulationstation-kids and changed all the stuff referencing -kids over to xcade, so I am not sure why that one builds but mine doesn't.

                                        BuZzB 1 Reply Last reply Reply Quote 0
                                        • BuZzB
                                          BuZz administrators @masteryoer
                                          last edited by

                                          @masteryoer Can't advise without any information - Post the module and build log.

                                          To help us help you - please make sure you read the sticky topics before posting - https://retropie.org.uk/forum/topic/3/read-this-first

                                          M 1 Reply Last reply Reply Quote 0
                                          • M
                                            masteryoer @BuZz
                                            last edited by

                                            @BuZz

                                            Nevermind, I am a dummy. The log was misinformative. It ended up being my source repository didnt have my latest changes, in which I was using an undefined definition.

                                            I updated the repository and it's fixed now.

                                            1 Reply Last reply Reply Quote 0
                                            • 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.