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

    Please Test: Adding support for "All", "Favorites" and "Last Played" systems

    Scheduled Pinned Locked Moved Ideas and Development
    emulationstatiofavouritescustom system
    226 Posts 19 Posters 96.4k 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.
    • pjftP
      pjft
      last edited by

      Hi all,

      It's that time of the week.

      This took a bit longer than I intended, as throughout the development I ended up going back and refactoring a few of the things I was doing.

      Several recent topics in the forum for the last month have been around creating custom systems - not only "favorites", but also theme-based systems. Truth is, the reason why we call the ES top-level entries "systems" is purely because ES itself was designed around it. I feel there's a use case for creating entries at the top-level in ES that don't necessarily have to map 1:1 to an actual "system" per se.

      I've just implemented the option for users to enable 3 such entries - which I'm naming "Virtual Systems", for lack of better terminology. These are:

      • An entry with all games in your system;
      • An entry with the games you last played (effectively, a list of games with play count larger than 1, and sorted by last played time, descending)
      • An entry for all games you marked as "Favorite". This was pending a separate PR, but as that went through "design paralysis due to undefined scope", I ended up implementing it here with the original submitters' blessing. All credit goes to @zigurana on his work on the ES-Kids mode, and to @sokiee for pushing for it in the main branch recently!

      These entries are disabled by default, but users can choose to enable any of them. These require specific folders in the theme, otherwise they'll be unthemed. I'm working with @UDb23 to create these in Carbon, so that the default theme supports these. Themes that currently support it are @TMNTturtlguy's Comic Book theme and the Steampunk one, who I asked to add those entries.

      If you want to test it out with another theme (or edit your theme), the right folders are auto-allgames, auto-lastplayed, and auto-favorites.

      Other notes:

      • Since the favorites implementation stayed away from any theme- or visual-related UI changes, users can add a game to the favorites system by editing the metadata, or - if the system is enabled - by pressing the "Y" button. Given the discussions taking place on how to best proceed, I created a popup notification that gives the user feedback on whether they added or removed an item to the favorites list. This keyboard shortcut may be temporary, but for now I feel it helps.

      I'm considering expanding this to allow users to create their own custom entries/games collections and edit/manage those from inside ES, provided that their themes have such folders, to address the main use cases that have been discussed and raised by @meleu , @TMNTturtlguy , @cyperghost and others.

      Looking forward to testing, feedback, the usual.

      You can get it on my repository (pjft), under the RetroPie-Virtual-Systems-PR branch, using meleu's tool if you're so inclined.

      Thanks in advance for your time, and looking forward to having your help in making this a reality.

      A small inspirational video:

      meleuM UDb23U 2 Replies Last reply Reply Quote 6
      • meleuM
        meleu @pjft
        last edited by

        @pjft compiling right now!!

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

          @pjft theming right now

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

          Backlog: http://backloggery.com/lilbud

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

            @lilbud @meleu

            We'll finally know the answer for the age-old question "which came first - the theme, or the binary?". :)

            EDIT: Looking forward to the first crash reports, obviously.

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

              @pjft Just may a bit late....
              what will be the standard expression of the FAVs...

              AE: favorites
              BE: favourites

              pjftP 1 Reply Last reply Reply Quote 0
              • pjftP
                pjft @cyperghost
                last edited by

                @cyperghost I opted for AE as the ES Kids branch used it, so that is both consistent between the front-end and metadata, as well as compatible with gamelists from ES Kids previous users.

                cyperghostC 1 Reply Last reply Reply Quote 0
                • cyperghostC
                  cyperghost @pjft
                  last edited by

                  @pjft okay, AE prefered.
                  If I don't use any gameslist.xml does this also work?
                  Are the tags of a favor system are stored in the origin of the rom ...maybe ~/RetroPie/roms/gb/Tetris.gb in the system gameslist or is a gamelist genereated and stored to the virtual-systems?

                  I may compile the new ES ... but I'm on buisness yourney the next two days, so I'm asking stupid :D

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

                    @meleu How did you get this to compile? It takes 20 min to compile, and spits out an error message.

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

                    Backlog: http://backloggery.com/lilbud

                    pjftP 1 Reply Last reply Reply Quote 0
                    • pjftP
                      pjft @lilbud
                      last edited by

                      @lilbud oh. What error message do you get?

                      Are you exiting EmulationStation before compiling?

                      lilbudL 2 Replies Last reply Reply Quote 0
                      • lilbudL
                        lilbud @pjft
                        last edited by

                        @pjft It says something to the effect of
                        error, failed to compile, did you see the error messages?

                        My answer to that is no, I was busy playing Cards Against Humanity

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

                        Backlog: http://backloggery.com/lilbud

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

                          @pjft This is what happens, it jumps from 43 to 71%
                          0_1498499935762_IMG_20170626_135712-1040x585.jpg

                          UPDATE: Got it to compile, using make clean. But is fails to install, claiming that the .sh file doesn't exist.

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

                          Backlog: http://backloggery.com/lilbud

                          meleuM pjftP 2 Replies Last reply Reply Quote 0
                          • meleuM
                            meleu @lilbud
                            last edited by meleu

                            @lilbud please, do the following:

                            bash -x ./es-tests.sh 2> err.log
                            

                            And try to install the this branch again. And when it fail, exit the script and post the err.log on ghostbin.com or something.

                            edit: by the way, I compiled here and everything seems to be fine.

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

                              @lilbud I wouldn't take it as a problem per se. Those missing ones are resources that you could have perhaps previously completed.

                              If it stops the compilation do let me know. And make sure to exit ES.

                              I might certainly have messed something in the PR so I'll gladly fix that to compile. Last minute code cleaning can result in that.

                              @cyperghost The "all" system will work regardless.

                              The last played will only work if it can tell what games you last played. That's stored in the metadata, which means gamelists. If you don't have any, no game will show up there.

                              As for the favorites, same thing applies for now: it's metadata so if you don't use gamelists it won't know what to show there.

                              In the future I plan on implementing custom systems not based on metadata, for themes folders that aren't in use, so conceptually you could create your own favorites system without having gamelists for that.

                              Unsure if this clarifies it for now, but I don't write any new gamelist or anything to file. Asides from the new favorite metadata field, I only store a setting stating which systems are enabled.

                              cyperghostC 1 Reply Last reply Reply Quote 2
                              • lilbudL
                                lilbud
                                last edited by

                                @meleu I will post the err.log shortly

                                @pjft I added a few games to my favorites, I launched a game and, upon exiting, the favorite notification flashes for about 2 minutes

                                ADDDED SONIC 2 TO FAVORITES

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

                                Backlog: http://backloggery.com/lilbud

                                meleuM pjftP 2 Replies Last reply Reply Quote 0
                                • meleuM
                                  meleu @lilbud
                                  last edited by

                                  @lilbud

                                  @pjft I added a few games to my favorites

                                  Then you compiled fine?

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

                                    @lilbud well, I really wanted people to make sure they knew what games were their favorites. Is two minutes a long time? :P

                                    That's obviously a bug, great catch. Thanks!

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

                                      @meleu Yeah, got it to compile. Installing supposedly fails, as I can't set it as the default, but it runs in the command line perfectly fine.

                                      Here is the error log

                                      https://ghostbin.com/paste/gnnfz

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

                                      Backlog: http://backloggery.com/lilbud

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

                                        @pjft That is exactly what I thought... Thank you for explanation.
                                        The code for future version without gameslist.xml is already made by me.

                                        I "created" the FAV-file format. The FAV-file acts as descriptor of path and emulated system. It stores the info about ROM-path and emu-system to use in one simple file.
                                        With this info you can load any system from any place. I'm sure it's easy to implent into your branch and this would offer all users a way to use favourites.

                                        So maybe you can take a chance and have a look to the BASIC soource-code and translate it to C++. My suggesetion was to first create this in C but then I realised that heavy string manipultion is a better task for annother language.

                                        Take this only as suggestion how a fav-system can be installed without using XML.

                                        Or... that would be my deepest wish you can create a call to a Bash-file by pressing Y-button with marked ROM in menu ;) So you give user the decision what happens by pressing Y-button and maybe you can expand it to X-button also ;) What about this?

                                        How a bash file call can be established can be seen under Prerequisite #5 of topic lfl-create v0.85

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

                                          @lilbud caught the "bug": you're running the script as root! I'll change the script to avoid that. Thanks.

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

                                            @pjft said in Please Test: Adding support for "All", "Favorites" and "Last Played" systems:

                                            I'm working with @UDb23 to create these in Carbon,

                                            Next Weekend you'll get a proposal and "beta" version of the required SVGs ;-)

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