Retroachievements support (work-in-progress)#17589
Conversation
|
How we can use achivements now |
|
Stay tuned, it's not ready enough yet. |
5da62b4 to
b5d33e6
Compare
|
Rebased on top of #17594 . |
|
Got pinged about this, please maintain my copyright notice in DuckStation-derived files (and add your own, obviously), thanks. Also, feel free to relicense those files to GPL2 to match the rest of the emu if that makes things easier (in DS it's GPL3). |
|
@stenzek will do, thank you! |
8f113fe to
58e9afd
Compare
cb0d65f to
ca82a6a
Compare
|
Progress report: You can now login through the UI, and play and get achievements, and you do get nice little popups with achievement icons and text when you do. There is also an achievement list on the pause screen, if achievements are enabled for the game. Logging in works on all desktop platforms currently - or if you have a physical keyboard for your phone somehow. This will of course be fixed soon. I'll do a more general fix for text input UIs on master soon, then bring it into this PR. EDIT: Confirmed working fine on Android except a weird centering issue, the code updates are coming soon. |
60f2cea to
9242066
Compare
|
This is starting to get usable now, opening for review, but don't merge until the below is solved: I think we should probably store the RetroAchievements login token somewhere slightly more secure than in PPSSPP.ini, it's too easy to accidentally leak your token while sending that file in for debugging or something. On Android we'll just store it in a file in the app private directory. On Windows, Mac, Linux, I'm thinking just store it in a separate file in the home directory somewhere? |
9242066 to
ee30ce5
Compare
|
Hello sir.. When will this be ready to download. Just a tentative release Window.? |
|
Next week it will be in the "nightly" builds. |
Currently you can also download the artifacts from https://github.com/hrydgard/ppsspp/actions/runs/5360144898?pr=17589 if you want to test it. |
…oid (other platforms not so good)
37a557c to
4134acc
Compare
|
Should be ready for initial review/merge now. |
|
Hm, actually need to clean up the choice of directory for secrets storage. It's not making good choices on some platforms. |
|
Ok, I've been thinking about where to put the login token on various platforms. One idea would be the following:
However, after some chats I think I might be overthinking it. It's only really important to keep it out of the .ini as we often ask people to post that. But just putting the login token in a file next to the ini on all platforms may be good enough, really. |
|
Alright, I think this is a pretty good checkpoint, and I'm just gonna get it in and work from that state. |
| // for testing | ||
| std::string GetFirstIconName() const { |
There was a problem hiding this comment.
Not sure what this is for specifically, but it should be using lock_ in case someone starts calling it later.
-[Unknown]
There was a problem hiding this comment.
I never used it for anything, I'll just delete it. Was gonna be used to test achievement popups without getting achievements.
Implement RetroAchievements support (#16169). Not to be confused with RetroArch, these are two different projects.
Most of RetroAchievements.cpp was adapted from DuckStation's integration by @stenzek.
So far, login works (unless you're on a touchscreen device), game identification and basic achievement listing works, and unlocking achivements works.
TODO list before initial merge:
Next steps after this: