Open thedaryen opened 8 years ago
You're right. Out of the 26, 23 dirs are overridable
libretro_directory = "D:\" libretro_info_path = "D:\" content_database_path = "D:\" cheat_database_path = "D:\" cursor_directory = "D:\" screenshot_directory = "D:\" system_directory = "D:\" cache_directory = "D:\" input_remapping_directory = "D:\" video_shader_dir = "D:\" video_filter_dir = "D:\" core_assets_directory = "D:\" assets_directory = "D:\" dynamic_wallpapers_directory = "D:\" thumbnails_directory = "D:\" playlist_directory = "D:\" joypad_autoconfig_dir = "D:\" audio_filter_dir = "D:\" rgui_browser_directory = "D:\" rgui_config_directory = "D:\" overlay_directory = "D:\" screenshot_directory = "D:\"
Well savefile and savestate dirs are treated differently because they are needed for some API stuff so they always have been treated differently, I'll try find out why but this is why I made the savestate/savefile sorting function in the first place (because it's a really complicated part of RA)
But savefile_directory IS overridable. I've been using an override to change it for quite a while. It works.
What doesn't work (especifically for changing this directory) is the "Save Core Override" function from the GUI. If you manually create the override .cfg, it works.
It's useful because you can group saves from cores that emulate the same system on the same folder. (i.e.: bsnes and Snes9x both saving to and loading from saves\SNES directory).
You're right Maybe saving these paths is broken altogether even in the base config? can you give that a try?
I have an idea to make this better.
Just tested, changing the save path from within the GUI and choosing "save current config" works just fine. It's just "Save Core Override" that doesn't pick up the changes.
Ok. Well save dir and state dir are not part of the settings_t struct for legacy reasons, I may try to address this later this week
any new change or option to not delete save paths on override configs?
This is a really annoying bug that essentially renders the "save core override" function unusable if you have per core save paths. All adjustments have to made with the editor to not loose the save path settings.
This is a long time known bug (but only considered to be minor—I disagree). I know that this software is probably driven by volunteers in their spare time, so please don't get me wrong, but I can't imagine that this issue really is so hard to fix.
Before the implementation, I had core overrides for most cores which consisted basically of directory changes for savefiles. When testing this new GUI option, I realized the new cfg override it creates doesn't seem to check for delta on the cfg related to directories, so it just deletes any custom path I made manually. Changing paths from the GUI also doesn't get registered when saving the core override from the GUI.
To reproduce the issue:
savefile_directory = ":\saves/SNES"
Another way of reproducing is, after content load, just manually changing any directory from within the GUI and trying to "Save Core Override". It will save an empty core override, not recognizing any changes made to directories, and directories will reset on content close.