libretro / RetroArch

Cross-platform, sophisticated frontend for the libretro API. Licensed GPLv3.
http://www.libretro.com
GNU General Public License v3.0
10.16k stars 1.82k forks source link

Achievements mode glitch #16070

Open Venaci opened 9 months ago

Venaci commented 9 months ago

Description

Playing PSO v2 for Dreamcast, I was experimenting with cheats. I wanted to activate Christmas or Sonic mode (events) which I used on PSOv1 back in the day, but I heard PSOv2 does not allow cheats, except Codebreaker on JP versions. I set up the cheats, but they did not work, proving the "no cheats" was correct.

I disabled cheats, even hit save cheats. I then went to enable hardcore mode, at which time Retroarch restarted. It acted as it should be Hardcore mode, as that's the same force restart. This did not award Achievements to hardcore mode, eventually me realizing it was giving them still as Softcore, even after the reset.

The emulator on next start of the game, STILL loaded up cheats, even after I selected "delete all cheats". This was for several times playing, me being confused at WHY I wasn't getting Achievement Points: But I figured it out after several times of "Enable Hardcore Mode" and restarting the Emulator: Retroarch was still booting cheats I selected to delete in the app, and didn't properly activate Hardcore when prompted.

I had to delete all cheats from the directory to fix this, and now have to require manual unlocks for a couple days of achievements I'm concerned may not be granted: One of those is getting to a certain level on a class that took 20 hours

The glitches for this seem two-fold: It didn't boot in hardcore mode even when prompted to resume it, and that it kept trying to load cheats or didn't delete all cheats when prompted and saved.

Venaci commented 9 months ago

One thing I thought to note is that I did one time create a savestate to try to use, because the save box glitched and didn't show. This was an emulator issue and I tried to fix it by loading the state to just save my character progress.

I don't think this would effect anything, but thought I'd bring it up in case it checked for states or something. I only deleted cheats though for this to work.

Jamiras commented 9 months ago

It didn't boot in hardcore mode even when prompted to resume it

This is correct behavior. Hardcore mode was briefly activated, then the cheats were activated, which deactivates hardcore mode.

It should be showing a message on screen when doing so. https://github.com/libretro/RetroArch/blob/945ad4a89f13c4f5f612321c0f859939ae4109af/cheat_manager.c#L71-L74

image

it kept trying to load cheats or didn't delete all cheats when prompted and saved.

I cannot comment on the behavior when deleting all cheats.

Venaci commented 9 months ago

When I selected "Resume Hardcore Mode", it said it would disable cheats. I feel like I saw a message that said enabling Hardcore mode will disable cheats. I feel like there's some grammatical or programming miscommunication in terms of which should cancel the other.

When it reboots into hardcore mode, one would think it supersedes the cheats you just opted to disable. I selected to delete cheats. This was after turning them off and enabling HC mode. None of this stuck for some reason, and I really feel it's a fair expectation that restarting in HC mode disables cheats, rather than cheats automatically booting and overriding it. The "Pause Achievements Hardcore Mode" setting has the description that "This action will enable cheats".

I also had "Auto-Apply Cheats on Game Load" set to "Off", furthering that there's something wrong. I see no reason why cheats should have been enabled after emulator reboot when enabling HC mode. Especially when last run was in HC mode, when I tried to reboot it in HC mode, and when I tried to disable cheats. That's all aside from the fact it didn't delete the cheats, unless that's somehow tied to the programming.

Either way, there seems to be a serious issue with something overriding HC mode when all the settings in the UI say it should not be. I tried several times and just could not play in the emulator with a cheats list in the folder. While that's a concern. I feel "let's turn on cheats after you rebooted in HC mode" makes little sense on it's own, before considering auto-load cheat was off. I can get over settings not saving sometimes, but that part seems beyond reason, unless the UI text doesn't match the intended routine instructions.

I cannot say it showed the "cheat was activated" message: I want to say it didn't, but also may tune those out on boot because controllers being detected, so I cannot disclose if it showed in correspondence to whatever bugged.