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

    Getting Started with ES Development.

    Scheduled Pinned Locked Moved Ideas and Development
    guidedevelopmenthow-toself-help
    37 Posts 12 Posters 17.9k 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.
    • CapemanC
      Capeman
      last edited by

      This is epic!

      Vector Artist, Designer and Maker of Stuff: Laser Cut Atari / Pixel Theme Bartop

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

        @Hex should this perhaps reference ES in the topic (or are you intending to do some write-up for other things ?).

        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

        1 Reply Last reply Reply Quote 0
        • HexH
          Hex
          last edited by

          @BuZz I have changed the title to reflect that. Mostly it is for ES but I would like to see devs branching out to other repos. Let me know if you find any mistakes in the articles

          Sent from 20,000 leagues under the sea.

          Powersaver Emulation station : https://github.com/hex007/EmulationStation
          ES dev script : https://github.com/hex007/es-dev/blob/master/es-tests.sh

          1 Reply Last reply Reply Quote 0
          • HexH
            Hex
            last edited by

            Part 3 : Merging Branches and Updating GitHub repos, is now updated

            Sent from 20,000 leagues under the sea.

            Powersaver Emulation station : https://github.com/hex007/EmulationStation
            ES dev script : https://github.com/hex007/es-dev/blob/master/es-tests.sh

            1 Reply Last reply Reply Quote 1
            • O
              ortsac
              last edited by ortsac

              This should be in a pdf or ebook format. Very good reference learning material.

              HexH 1 Reply Last reply Reply Quote 1
              • HexH
                Hex @ortsac
                last edited by

                @ortsac said in Getting Started with ES Development.:

                This should be in a pdf or ebook format. Very good reference learning material.

                I can make a book but it is not that big. I would rather have it as a tread so as to have it interactive for others to seek help or point out mistakes

                Sent from 20,000 leagues under the sea.

                Powersaver Emulation station : https://github.com/hex007/EmulationStation
                ES dev script : https://github.com/hex007/es-dev/blob/master/es-tests.sh

                1 Reply Last reply Reply Quote 0
                • HexH
                  Hex
                  last edited by

                  @BuZz is it possible to pin this and @meleu 's tester script threads ?

                  Sent from 20,000 leagues under the sea.

                  Powersaver Emulation station : https://github.com/hex007/EmulationStation
                  ES dev script : https://github.com/hex007/es-dev/blob/master/es-tests.sh

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

                    @Hex done.

                    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

                    1 Reply Last reply Reply Quote 1
                    • BenMcLeanB
                      BenMcLean
                      last edited by

                      One thing that may be worth noting is that these days, you probably don't need to provide separate instructions for Windows 10 users to start doing Linux development because Bash on Ubuntu on Windows is a thing. The only downside to it that I have found so far is that there's no easy way to transfer files inbetween the Linux file system and the Windows file system so that you can use Windows IDEs on your code and still build with Linux. For me personally, it's so far been easier to have two instances of a git repository: one in the Windows file system which I can use my Windows IDE on, and one in the Linux file system. But I'm sure there's got to be a better way.

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

                        @BenMcLean I use cygwin to have an Unix feel on Windows.

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

                          @recompile This thread covers git basics.

                          Sent from 20,000 leagues under the sea.

                          Powersaver Emulation station : https://github.com/hex007/EmulationStation
                          ES dev script : https://github.com/hex007/es-dev/blob/master/es-tests.sh

                          1 Reply Last reply Reply Quote 0
                          • E
                            EctoOne
                            last edited by

                            It's the first time I looked at this because I have reached a point where I'm out of ideas how to improve my setup. And the only thing I find annoying is the white UI of EmulationStation.
                            But I have to say that I'm a little bit disappointed by this post and can't really understand why it is pinned.
                            It's just about github and not really about ES development.
                            Sure the github part is good and I learned some things but I expected more.

                            Like if/what software is needed to edit the files. From what I've seen, they seem like text files to me, so a basic text editor would be enough but are there better ways or special requirements needed?

                            Also how do I find out what to edit? In my case, I took a quick look through some of the files and found one file that had something like setcolor plus hex color values. But of course I'm not sure if those are the correct values. Sure, there's some trial and error involved, but that's why I looked at this to get some tips.

                            HexH 1 Reply Last reply Reply Quote 0
                            • HexH
                              Hex
                              last edited by

                              @EctoOne Do you know how to compile the source code ?

                              Edit whatever you want and try compiling. If it compiles, run the executable. Test if you got what you desired. Make a post detailing your achievements if you think many others might like it too.

                              It is impossible for me to know what part of the source you need to edit. The source also keeps updating due to the wonderful efforts of the contributors. It is practically impossible for me to write about everything. This shows git stuff because people have problems with git stuff the most. For c++ stuff you have stack overflow.

                              You can make a post or thread seeking help with what you want.

                              Sent from 20,000 leagues under the sea.

                              Powersaver Emulation station : https://github.com/hex007/EmulationStation
                              ES dev script : https://github.com/hex007/es-dev/blob/master/es-tests.sh

                              1 Reply Last reply Reply Quote 0
                              • HexH
                                Hex @EctoOne
                                last edited by

                                @ectoone said in Getting Started with ES Development.:

                                Like if/what software is needed to edit the files. From what I've seen, they seem like text files to me, so a basic text editor would be enough but are there better ways or special requirements needed?

                                you need a text editor. You can use one of these: notepad, notepad++, Atom, gedit, xcode, vscode, eclipse, Clion and many more.

                                Sent from 20,000 leagues under the sea.

                                Powersaver Emulation station : https://github.com/hex007/EmulationStation
                                ES dev script : https://github.com/hex007/es-dev/blob/master/es-tests.sh

                                1 Reply Last reply Reply Quote 0
                                • A12C4A
                                  A12C4
                                  last edited by A12C4

                                  @Hex Is there some kind of UML class diagram or any interesting documentation about design stuff anywhere ? I think that would help a lot.

                                  Grid view wiki

                                  1 Reply Last reply Reply Quote 0
                                  • mituM
                                    mitu Global Moderator
                                    last edited by

                                    @sx-111 They're described on the 1st page of the project

                                    EmulationStation has a few dependencies. For building, you'll need CMake, SDL2, Boost (System, Filesystem, DateTime, Locale), FreeImage, FreeType, Eigen3, and cURL. You also should probably install the fonts-droid package which contains fallback fonts for Chinese/Japanese/Korean characters, but ES will still work fine without it (this package is only used at run-time).

                                    1 Reply Last reply Reply Quote 1
                                    • C
                                      Charononus
                                      last edited by

                                      So I followed the directions and set up a fork that I can access at https://github.com/korreckj328/EmulationStation

                                      However, I do have a question. Does the official Retropie fork have the ability to pull the code I changed at this point? Or would something more need to be done?

                                      I added some code so that it can compile on macOS fyi.

                                      mituM 1 Reply Last reply Reply Quote 0
                                      • mituM
                                        mitu Global Moderator @Charononus
                                        last edited by mitu

                                        @Charononus said in Getting Started with ES Development.:

                                        However, I do have a question. Does the official Retropie fork have the ability to pull the code I changed at this point? Or would something more need to be done?

                                        That's not how collaborative development works - you need to create a Pull Request to the RetroPie's Emulationstation repository in order for the changes you've added to be incorporated upstream.

                                        Btw, your fork doesn't seem to compile on macOS, I tested it with macOS 10.13, Apple LLVM version 10.0.0 (clang-1000.11.45.5).

                                        C 1 Reply Last reply Reply Quote 0
                                        • C
                                          Charononus @mitu
                                          last edited by

                                          @mitu
                                          10.14.3 here and compiled with
                                          cmake . -D CMAKE_CXX_COMPILER=g++-8

                                          (g++-8 from brew)

                                          mituM 1 Reply Last reply Reply Quote 0
                                          • mituM
                                            mitu Global Moderator @Charononus
                                            last edited by

                                            @Charononus I don't have g++ installed and with the clang version included in Xcode it doesn't work.

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