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

    what about adding a cheevos flag in gamelist.xml ?

    Scheduled Pinned Locked Moved Ideas and Development
    metadatacheevosemulationstatio
    108 Posts 13 Posters 38.6k 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.
    • meleuM
      meleu
      last edited by

      Hello friends!

      I've got distracted with PS Vita hacking and hunting RetroAchievements for some Mega Man games. But now I finally made an useful progress on my "cheevos scraper".

      You can check it in this repository: https://github.com/meleu/hascheevos

      The README has instructions on how to use it.

      An example of how useful the tool can be: In order to update your NES' gamelist.xml adding <achievements>true</achievements> for every game that has cheevos, you just need to use this command:

      $ ./hascheevos.sh -u USER -p PASSWORD --system nes --scrape
      

      Now let's wait if @pjft can find sometime to work on EmulationStation code in order to make the <achievements> flag filterable. :-)

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

        Exciting progress! So just to be clear.. in order to access the new feature (adding the flag), I will need to rebuild the binary correct? I'm not particularly eager to get this specific feature right now, I'd just like to know. Quick question.. is there a reason a binary hasn't been made yet, to skip having to build it? 2nd quick question.. any progress been made on checking to see what new roms exist without having to completely rescrape?

        Kudos!

        Who's Scruffy Looking?

        cyperghostC meleuM 2 Replies Last reply Reply Quote 0
        • cyperghostC
          cyperghost @hansolo77
          last edited by cyperghost

          @hansolo77

          in order to access the new feature (adding the flag), I will need to rebuild the binary correct?

          Yes!

          Quick question.. is there a reason a binary hasn't been made yet, to skip having to build it?

          As @pjft is the develeoper for adding new flags to XMLs (as he did by adding favorite selections) it's up to him for a release.

          So things will surely be done, just let them grow. I highly appreciate such a possibility as the RetroAchievements makes the gaming experience really better ... :)

          @meleu
          I will point to your latest thread with my RA-automate-script

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

            @hansolo77 This hasn't been developed yet. I do not have an ETA for this, it can still be weeks or months, unfortunately.

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

              @hansolo77 said in what about adding a cheevos flag in gamelist.xml ?:

              in order to access the new feature (adding the flag), I will need to rebuild the binary correct?

              Not sure if you're talking about EmulationStation or the hascheevos tool. If it's about EmulationStation, there's nothing related to achievements implemented yet.

              If it's about the hascheevos tool I suggest you to delete your current hascheevos directory and then git clone it again.

              rm -rf hascheevos
              git clone --depth 1 https://github.com/meleu/hascheevos
              cd hascheevos
              make
              

              You won't need to do it everytime you want to update the tool, it's just now. Because I implemented some new features since you downloaded the tool, including an option to --update. ;-)

              Quick question.. is there a reason a binary hasn't been made yet, to skip having to build it?

              Again, if you're talking about the hascheevos, it's not an actual binary, it's a bash script. But I implemented the --update feature to avoid typing many commands.

              I also implemented some features that will help to keep the repository synchronized with RetroAchievements.org database. Maybe you, @grenade44 and other cheevos enthusiasts could help me with this task. I will talk more about these features later. ;-)

              2nd quick question.. any progress been made on checking to see what new roms exist without having to completely rescrape?

              In theory yes. I have some ideas on how to do it and did some tests. But nothing has been implemented in hascheevos yet.

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

                @meleu Thx for clarification @hansolo77 - I think we were on wrong track as there was talked about binaries
                Actually the cheevos-scraper is a script - not a binary ;)

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

                  @cyperghost there's just a small C program in the repo (cheevoshash.c - the hash calculator) that needs to be compiled to a binary. But it's really small, compiles almost instantaneously. It is done and working exactly as expected. No need to receive updates anymore.

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

                    @meleu Hi!

                    So, I am yet to get everything set up for a proper development environment on my end, alas.

                    Still, I tried to put something together on my free time. I have NOT tested it, and worst of all, I have not been even able to try to compile it :(

                    That being said, it doesn't seem to be tremendously difficult so if you'd want to try to compile it on your end and see if it does what's expected, here's the branch:

                    https://github.com/pjft/EmulationStation/tree/Achievements

                    I'll try to compile it later in the week as soon as I can.

                    Hope this helps.

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

                      @pjft Nice blind coding bro! Time to remember that couplet:

                      couplet

                      I didn't test on a Raspberry Pi, but compiled fine here on my RetroPie x86 (Linux Mint). Just noticed this warning while compiling (not sure if it's related with the "achievements" changes):

                      0_1505746937182_compiling_ES_warnings.png

                      After compiling I tested with a gamelist.xml populated with some <achievements>true</achievements> and it works as expected.

                      Huge thank you for this!!!

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

                        @meleu Haha! your new toy is ready setted ;)
                        Freshly baked by @pjft awesome C++ cuisine - Que aproveche!

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

                          @meleu @cyperghost Thanks - it's always good to remember that couplet :)

                          If you could thoroughly test that, it'd be great as then I'd submit the PR. I believe there are plans to have a code freeze for a bit, so I'd like to get this small change through beforehand.

                          Thanks.

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

                            @pjft Hello friend. Finally took some time to compile it on my pi2, and it runs just fine. Exactly as expected. I also tried to edit metadata of a game enabling/disabling achievements. Really cool.

                            I did a very well-behaved test. I didn't try to break anything. If you think it needs a more "hardcore" test, I think I will have some free time later in this week. Any particular test you want me to do?

                            So far I'm really happy with what you made. You hit my feature request in the bull's-eye! Huge thanks for that! :D

                            • 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 thank you good sir. No need to try to break it, I didn't do anything really out of the ordinary, just followed the lead from other such attributes. Just wanted to get your hands on testing to confirm that it worked as intended and that I didn't miss anything.

                              Did you have a chance to release the scraper, or did you per chance had any further discussions about getting this into @sselph 's scraper in one way or the other?

                              I'll try to submit the PR later this week. If anyone wants to test it further that'd be very much appreciated.

                              Thanks!

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

                                @pjft said in what about adding a cheevos flag in gamelist.xml ?:

                                Did you have a chance to release the scraper, or did you per chance had any further discussions about getting this into @sselph 's scraper in one way or the other?

                                Yeah. You can find it here: https://github.com/meleu/hascheevos

                                The README has some instructions and examples.

                                Currently I'm just trimming some edges but the tool is perfectly usable. I'll open a new topic talking about the tool soon.

                                Later I'll try to discuss with @sselph if integrating the hascheevos in his scraper is a possible thing.

                                I'll try to submit the PR later this week. If anyone wants to test it further that'd be very much appreciated.

                                Maybe @hansolo77 , @Sano , @grenade44 , @PokeEngineer ...

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

                                  I've actually been waiting for further advancement of the scraper tool before I attempt anything further. My wish was to have an Achievements game system rather than a "flag". That is now a possibility and I already have it working. Further "advancements" I'm mostly looking for is a system to scrape my games by just adding the new games that have cheevos without having to rescrape everything. I've not tested yet, but if I rescrape my systems and generate a list of games that have cheevos, would it overwrite the achievements gamelist, add all of the detected games again (multiple entries of the same game), or just add the newly detected ones? I'm also looking for a more fluid, easier method of doing all the work without having to do it all manually in the terminal.

                                  Who's Scruffy Looking?

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

                                    @hansolo77 well, I was asking for testing the @pjft 's version of emulationstation, not the hascheevos tool.

                                    Regarding scraper userfriendliness, I'll improve that as time permits.

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

                                      PR submitted.

                                      Best.

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

                                        @meleu As mentioned in the PR, if it doesn't make it to ES in the current envisioned way, I'm more than happy to suggest an alternative approach to you that came to mind recently.

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

                                          @pjft man, what you did is nothing more than perfect for RetroPie/RetroAchievements users. If it won't be merged I'll find a way to patch your changes into ES code everytime I update it from source.

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

                                            It's a bummer it looks like project leader is opposed to adding this simple addition. It doesn't do anything to the system for non users. But it adds functionality for those that do, and sets up future-proof for new users.

                                            Who's Scruffy Looking?

                                            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.