This behavior seems to have started with 1.8.6. The issue is that when i change a core option for a specific game, it automatically saves it without me pressing the “create opt file for this game” option. As a result i messed up the core option files for many games as i like to test things out. But i didn’t know the new version does that. This behavior isn’t exactly convenient, it shouldn’t save the opt files without you being sure you want them. In the older versions you had to manually save. Could this behavior be changed back?
It’s always saved game options files on closing RetroArch. I know because whenever I had a game opt file open in N++, then opened that game and closed it in RA, N++ would prompt me that it had changed. Override configs have always only saved manually though.
One thing that did change for opt files and the main retroarch.cfg is that they now only save if you actually change a setting. With this commit. Before they always saved on exit, with the exception of retroarch.cfg if you turned off “config save on exit.”
I think the default behavior of saving .cfg and .opt files automatically is appropriate for most users. But an extra option to disable saving core options on exit/change would be a reasonable request.
I’m using RetroArch since 2016 and i never had my cfg and opt files saved automatically. I know because i made hundreds of them manually over the years and i test different options per game or system all the time, especially for the N64. Naturally, i have the option to save on exit always OFF.
Now, i have to revert my changes before i close a game so my test changes won’t be saved. I never had to do this all the time i’m using the program. So i don’t know what’s going on.
Unless you had your config directory or each file set as read only, it should have always flushed your core options to disk on exit. How else would your global (or per core file if you have global core options off) core options file be initially filled out? And when a game options file is created from the menu or manually, that is written to on exit instead of the global or corename file. The only thing that commit changed is that it now is not flushed to disk unless the user makes an option change. This was done to reduce file I/O and wear and tear on drives.
You could always make a feature request on the RA Github repo’s issues page for an option to not automatically write changes to per game options files on exit.