what about adding a cheevos flag in gamelist.xml ?
-
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. :-) -
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!
-
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 -
@hansolo77 This hasn't been developed yet. I do not have an ETA for this, it can still be weeks or months, unfortunately.
-
@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 thengit 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. -
@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 ;) -
@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. -
@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.
-
@pjft Nice blind coding bro! Time to remember that 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):
After compiling I tested with a gamelist.xml populated with some
<achievements>true</achievements>
and it works as expected.Huge thank you for this!!!
-
-
@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.
-
@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
-
@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!
-
@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 ...
-
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.
-
@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.
-
Best.
-
@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.
-
@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.
-
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.
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.