mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-10-23 19:29:05 +02:00
The check lived only in Enqueue, but operations don't run there - they're queued and applied later by Process(). During boot, HardcoreModeActive() reads false even when hardcore is on, since it requires rc_client_is_processing_required(), which only becomes true once RetroAchievements has finished identifying the game asynchronously. Anything queued in that window passed the check, and was then applied by Process() after identification completed and hardcore came up. Auto-load wasn't even a race: EmuScreen::bootComplete() calls Achievements::SetGame(), which starts the identify, and then checks HardcoreModeActive() a few lines below - always false at that point. So "Auto load savestate" quietly worked in hardcore mode. --state and a load-state hotkey pressed during boot got through the same way. Re-checking per operation in Process() covers every entry point at once, and by then identification has finished, so the answer is authoritative. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GgACRqkQNpfJQ4fjwyoEup