Handle Pausing in AchievementManager
There are two pieces of functionality to be added here. One, we want to disallow pausing too frequently, as it may be used as an artificial slowdown. This is handled within the client, which can tell us if a pause is allowed. Two, we want to call rc_client_idle on a periodic basis so the connection with the server can be maintained even while the emulator is paused.
You should also audit all calls to EnableStepping. For instance, right now I don't think there's anything stopping the GDB stub from pausing emulation.
I looked over EnableStepping and the GDB stub does appear to be the only outlier. I'll disable that in hardcore mode in a separate PR.
I don't think I can see any issues anymore, but I would like @AdmiralCurtiss to take a look at this too.
And I got an assert failure because apparently do_idle is processing rich presence despite that not actually updating at all while paused. Looking into it.
Why not just have this thread periodically call Core::QueueHostJob? That would ensure it gets used constantly can idle can end up doing memory reads just fine (and it's probably better to touch cheevo stuff on the host thread rather)
Still evaluating but ran out of time this morning so here's what it looks like so far.
So are you done with this now?
I'm not finding anything wrong with it yet, I think I might have this locked in.
Okay, I'll give this another test then. I still think the unsynchronized thread is fundamentally flawed, but whatever, we can go with it for now.
I'm still not 100% happy with this but I think we can go with this for now...
DO NOT USE THIS VERSION OF THE APP! It has a flaw which thinks every game is banned.
DO NOT USE THIS VERSION OF THE APP! It has a flaw which thinks every game is banned.
where does it say that? Are you sure that's what you mean and not that there are no achievements?
DO NOT USE THIS VERSION OF THE APP! It has a flaw which thinks every game is banned.
where does it say that? Are you sure that's what you mean and not that there are no achievements?
No, the version is broken, launch any game and it crashes.
DO NOT USE THIS VERSION OF THE APP! It has a flaw which thinks every game is banned.
where does it say that? Are you sure that's what you mean and not that there are no achievements?
No, the version is broken, launch any game and it crashes.
We have a team of people actively testing and verifying this integration and the only thing remotely similar to the behavior you describe is a bug on the Android version which has since been fixed. I invite you to join the Dolphin Discord server if you continue to have issues but here is a terrible place to discuss them.
Or the forums, or the IRC channel, or the issue tracker.