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

    EmulationStation mod

    Scheduled Pinned Locked Moved Ideas and Development
    mod
    340 Posts 49 Posters 336.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.
    • herb_fargusH
      herb_fargus administrators @BuZz
      last edited by

      @BuZz thanks for clarifying

      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
      • RookervikR
        Rookervik Global Moderator
        last edited by

        Ooh, themes need variables. So you can set a color once and have it apply to many sections of the theme. :D

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

          Hi @Arcuza and @jacobfk20 !
          It's nice to have some people who actually know their stuff joining the xml vs db discussion, I am sure I'll learn a lot from you!
          While I've argued for a better (db) implementation in other places, it really is a means to an end, and maybe what I (we?) want can also be achieved using XMLs. I think the big benefit of XML files is that they are human-readable and easily edited using any text editor, and that is something that greatly facilitates tinkering (the main RPi objective if you ask me :-) ).

          As I see it, there are two sides to this: functionality and performance.

          Functionality
          @Arcuza, you are right we do not need many of the features that a full database implementation would bring. Multiple users, security layers and network access are probably not necessary.
          However, what we are sorely lacking is a way to build queries to create lists of game and perform sorting on all available metadata (across platforms if need be). Also, we need some way to add user-defined tags to allow arbitrary collections and filters. In the current implementation of ES XML trees, none of this is possible, and I am hoping/expecting that a db approach would make this possible.

          Performance
          The xml implementation in ES is based on pugiXML, which should support XPath for queries, but I have no idea how these compare to SQL (or other db) based queries. I've seen mention uptread of a comparison of performance of the db branch of ES with the regular one, and its performance, but I have never seen the results (or reports of this) first-hand.
          I am of the opinion that the current problems in XML performance are most likely due to the implementation of pugiXML or its limitations.
          The dumping of all metadata is only because of the updating of two metadata fields: "# times played" and "time since last play". These two were added some time after the first introduction of ES, and could/should be made optional, in order to reduce exit times.
          None of this solves the issue of long startup times that have sometimes been reported. Maybe the PR that @herb_fargus linked to above will help iwith this issue.

          Again, I am not advocating for a db approach or xml, I just want the possibility to generate lists across platforms, and apply arbitrary filters. If this can be achieved with XML, I'm all for it.

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

          meleuM J 2 Replies Last reply Reply Quote 1
          • G
            gomisensei
            last edited by

            Here is my wishlist:

            Multiple Images in detailed view, possibly by pressing left/right trigger, switching between however many images there are, so, <image1><image2>, or even just multiple <image> items.

            Adding Total Time played along with Last played, and times played. These (along with maybe a record of which image was showing) could be saved in an alternative xml file (Stats.xml) on exit, so the other metadata wouldn't need to all be saved on every exit if it wasn't changed.

            thank you for taking the time to work on this for us.

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

              @Zigurana sorry for that misunderstanding about your position.

              Your post clarify that the problem is (can be) in the way that ES manages XML, and not in the XML itself.

              I read what @Arcuza said and googled about XML vs DB, and it seems (at least in theory) that XML is good enough for this application (ES). But I would like to compare it in practice.

              Do you guys know any ES fork with a DB approach instead of XML? I would like to make some tests.

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

                @meleu said in EmulationStation mod:

                @Zigurana sorry for that misunderstanding about your position.

                Do you guys know any ES fork with a DB approach instead of XML? I would like to make some tests.

                No worries :-)
                The fork I meant is this one: https://github.com/Aloshi/EmulationStation/tree/gamelistdb, although I am not quite sure it's ready to use as is. It could be that it tries to convert/import your existing gamelist xmls into the database upon every startup. I never took the time to fully understand it.

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

                1 Reply Last reply Reply Quote 1
                • J
                  jacobfk20
                  last edited by

                  I put together a simple quick branch that will only save metadata if that system has had any changes to its metadata. So if you were to change something in SNES it will only save SNES's gamelist. Changing metadata in Gamelist Options or scraping for that system (fail or succeed) will trigger that system to save.

                  https://github.com/jacobfk20/EmulationStation/tree/Metadata

                  This will not save times played. Ever. Will probably make "Save MetaData on Exit" be a list where you can pick Save/Don't Save/Save On Change Only.

                  Hopefully this will make it slightly more bearable on ES exit for those with huge gamelists, like @meleu . I may try something more complex soon but not right now.

                  Please backup all gamelists if you try it. The chance of this destroying them is pretty much none-- but you never know.

                  @Rookervik Like create a pallet? such as <pallet><primary>00AAFF</primary><secondary>AA8FDD</secondary></pallet> Or something similar?

                  RookervikR meleuM 2 Replies Last reply Reply Quote 1
                  • RookervikR
                    Rookervik Global Moderator @jacobfk20
                    last edited by

                    @jacobfk20 Uh, I don't understand that. But yes it would be used for a palette. So a themer could put in say "themecolor"=ff0000 and then in the theme you could go to the <color> of an item and instead of having to put <color>ff0000</color> you could do <color>themecolor</color> That way if you make a color change, any item with "themecolor" in it would change as well. Would even be more amazing if you could change color inside ES but that's TOTALLY dreaming. Don't bother with anything like that right now.

                    Or even let the variable act as text in general. You could do anything with it. "boxheight"=440 and then you could use boxheight instead of the number 440.

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

                      If anyone is considering the Tag idea, I had a thought about how we could use the the X and Y buttons as shortcut keys.

                      @Zigurana's Child-Friendly ES uses the X and Y buttons as shortcut keys for favourite and kid-friendly, and it got me thinking if there is a way (once the tagging system is working) to specify what the buttons do within ES.

                      Say you've created a few tags:

                      • favourites
                      • 2_player_brawler
                      • games_to_play
                      • best_vert_shmup

                      You could then go into Tag Settings and choose which Tag to attach to the 2 spare shortcut buttons (X and Y). This could potentially save a bunch of time, and also make it so those 2 buttons can be used for more than just 2 set things.

                      My ES themes: MetaPixel | Spare | Io | Indent

                      1 Reply Last reply Reply Quote 0
                      • S
                        simbz23
                        last edited by

                        @jacobfk20 Great job on this new ES! Makes using many of the internal functions much easier!

                        Only issue I am having is the available wifi networks aren't showing up when I select the "connect to wifi" option in the network settings. All it shows is "Available Networks" and the back button. I can see my current info for the wifi I'm connected to, and can turn on and off the wifi.

                        I did see this error in the terminal when I exited out of emulationstation:

                        wlan0 interface doesn't support scanning: Device or resource busy

                        I put the wificonnect file in /home/pi/.emulationstation/app/wifi/

                        Right location? :-/

                        4.0 RC1
                        pi3
                        Logitech F310

                        Overlay and launching image repo
                        https://github.com/simbz33/retropie-overlay

                        0 1 Reply Last reply Reply Quote 0
                        • J
                          jacobfk20
                          last edited by

                          @simbz23 Try backing out of "Connect To Wifi" then go right back in. That may work. Let me know. :)

                          1 Reply Last reply Reply Quote 0
                          • J
                            jacobfk20
                            last edited by

                            @Rookervik I haven't done much with ThemeData but I'll keep that in mind. I can't make promises on variables being a thing though. The thing I would want first is giving more theme control over system view and adding more alignment options.

                            RookervikR mattrixkM 2 Replies Last reply Reply Quote 0
                            • S
                              simbz23
                              last edited by

                              @jacobfk20 said in EmulationStation mod:

                              @simbz23 Try backing out of "Connect To Wifi" then go right back in. That may work. Let me know. :)

                              No go :-/....Tried restarting as well, and still won't show the networks. Sounds like no one else is having this issue?

                              Overlay and launching image repo
                              https://github.com/simbz33/retropie-overlay

                              1 Reply Last reply Reply Quote 0
                              • J
                                jacobfk20
                                last edited by

                                @simbz23 Are you using the Pi 3's internal wifi? can you run ifconfig wlan0 and not get an error?

                                S 1 Reply Last reply Reply Quote 0
                                • RookervikR
                                  Rookervik Global Moderator @jacobfk20
                                  last edited by

                                  @jacobfk20 yeah, any options to move the bar or change the bar's opacity ffffffxx like you do with text and images would be great. Then we need a version for PC so I can theme for it. LOL. Copying theme stuff over to the pi while working on a theme is a hassle. Haha

                                  lilbudL 1 Reply Last reply Reply Quote 0
                                  • J
                                    jacobfk20
                                    last edited by

                                    @Rookervik I have a branch that is just gridview that is windows friendly. I will compile a windows version of it sometime in the next couple days.

                                    1 Reply Last reply Reply Quote 0
                                    • B
                                      ben_thatmustbeme
                                      last edited by

                                      I am trying to keep up with any new code in my PieStation branch as well as merge in anything anyone has added. Attempting to pull in the kid friendly branch has caused some issues with it. But I would love anyone who has more time than I do, to feel free to poke around.

                                      The latest attempt to merge herdinger's code, @Zigurana and @jacobfk20's grid view code all in to mine is on the 'allmerge' branch, but a test run showed it clearly had problems on the main system list, haven't dug in to what happened yet.

                                      https://github.com/dissolve/PieStation/

                                      Once it gets a little more stable i'll create the PR for a setup script

                                      https://github.com/dissolve/RetroPie-Setup/blob/master/scriptmodules/supplementary/piestation.sh

                                      in the meantime, anyone can easily create that on their own system for whatever github repo / branch and you can have it install it all for you.

                                      Z 1 Reply Last reply Reply Quote 1
                                      • mattrixkM
                                        mattrixk @jacobfk20
                                        last edited by

                                        @jacobfk20 said in EmulationStation mod:

                                        The thing I would want first is giving more theme control over system view and adding more alignment options.

                                        Yay, alignment options! Just a reminder I had a bunch of ideas/requests upthread and the first few were theme related.

                                        My ES themes: MetaPixel | Spare | Io | Indent

                                        1 Reply Last reply Reply Quote 0
                                        • S
                                          simbz23 @jacobfk20
                                          last edited by

                                          @jacobfk20 said in EmulationStation mod:

                                          @simbz23 Are you using the Pi 3's internal wifi? can you run ifconfig wlan0 and not get an error?

                                          ifconfig works fine actually! Reports my IP and MAC correctly, and yes I'm using the internal wifi :-/

                                          Overlay and launching image repo
                                          https://github.com/simbz33/retropie-overlay

                                          1 Reply Last reply Reply Quote 0
                                          • J
                                            jacobfk20
                                            last edited by

                                            @simbz23 You said you were able to see the info of your current connected wifi correct? If so I may have an idea on what is happening. I'll take a look tomorrow and may post an update.

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