only save retroarch.cfg as diff from defaults#18376
only save retroarch.cfg as diff from defaults#18376warmenhoven merged 1 commit intolibretro:masterfrom
Conversation
f09829a to
adab2cd
Compare
|
Really looking forward to this feature. If it can be implemented,no need to search for keywords in a huge amount of configuration data any more. |
Same for me. If this can be implemented it would theoretically make the retroarch.cfg file portable. For example, as long as all the assets directories are in their default locations and therefore don't appear in the retroarch.cfg file, the same file should theoretically work for Windows, Linux, Android and so on. I have a retroarch.cfg file created by hand this way that works across multiple devices, but it was a pain to create it manually. |
|
I've been running with it in my branch for a few weeks now and haven't seen any side effects, so I think it's safe to merge. Also it's behind an option that's default off. |
|
Does this option apply only to the retroarch.cfg file, or will it also be used for the core configuration files (in /RetroArch main folder/config)? I'll try to compile this soon to test it, but I'm in the middle of some personal issues so it might take some time. Edit: correction. |
|
Just retroarch.cfg. |
|
I'm testing this right now and it seems to work well. Since it's disabled by default, I thought I'd need to create a empty retroarch.cfg file with config_save_minimal = "true", but it's not necessary, once you enable it, all the existing entries are removed, leaving only the ones that have already been changed from default, which is great. There's just one small problem, which I'm not sure if it's exactly a bug or not. When configuring Inputs, in Settings>Input>RetroPad Binds>Port 1 Controls, there are still a handful of entries that are added with the "nul" value, like this: In the retroarch.cfg I created by hand, the same configuration for Port 1 Controls is just like this: I think the entries with "nul" values shouldn't be there, they're already default and don't even do anything. But anyway, this still better than the current retroarch.cfg, which is currently a file with 3365 lines. Edit: with a few more testing, it seems that the entries with the "nul" values are related to the other modified input keys, for example, modifying input_player1_a = will also add input_player1_a_axis = "nul" and some other entries related to input_player1_a =, so it seems to be working as expected. |
|
I think this might not deal properly with overrides. |
|
Yeah if your retroarch.cfg would have had something as a default and the override changes it, when you unload the core/content and quit it will write the retroarch.cfg with the override. |
adab2cd to
e9d743a
Compare
|
Ok, fixed that. Yeah I noticed the |
e9d743a to
3d658cf
Compare
3d658cf to
fecd2ab
Compare
|
On MacOS, there are a few default paths that get reset to ~/Documents/RetroArch even though these values were set: I never set them manually. The default paths changed a while back and enabling this new setting deleted those lines from retroarch.cfg so now it’s pointing to ~/Documents/RetroArch which I don’t use but RetroArch insists on creating. I’m also getting crashes when I try to browse the file system for settings only but it might not be related to this. |
enabling this is buggy. libretro/RetroArch#18376 (comment)
No description provided.