Use either "_directory_path" or "_file_path" for related variables
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 14.1k
- Forks
- 2.2k
- Avg merge
- 7h 35m
- Merged PRs (30d)
- 51
Description
Description
In retroarch.cfg, directory variables end with "_directory", "_dir", or sometimes even "_path". This confusing since file variables names also are using "_path". So, for the sake of consistency, it would be simpler to only make them end with either "_directory_path" or "_file_path".
Expected behavior
Alternative variables that can be used in addition to the current variables:
# File paths
# Replace "_path" with "_directory_file_path"
content_favorites_path = content_favorites_file_path
content_history_path = content_history_file_path
content_image_history_path = content_image_history_file_path
content_music_history_path = content_music_history_file_path
content_video_history_path = content_video_history_file_path
# Directory paths
# Replace "_path" with "_directory_path"
bundle_assets_dst_path = bundle_assets_dst_directory_path
bundle_assets_src_path = bundle_assets_src_directory_path
cheat_database_path = cheat_database_directory_path
content_database_path = content_database_directory_path
core_options_path = core_options_directory_path
libretro_info_path = libretro_info_directory_path
video_font_path = video_font_directory_path
# Replace "_dir" with "_directory_path"
audio_filter_dir = audio_filter_directory_path
joypad_autoconfig_dir = joypad_autoconfig_directory_path
log_dir = log_directory_path
video_filter_dir = video_filter_directory_path
video_shader_dir = video_shader_directory_path
# Replace "_directory" with "_directory_path"
assets_directory = assets_directory_path
cache_directory = cache_directory_path
content_favorites_directory = content_favorites_directory_path
content_history_directory = content_history_directory_path
content_image_history_directory = content_image_history_directory_path
content_music_history_directory = content_music_history_directory_path
content_video_directory = content_video_directory_path
core_assets_directory = core_assets_directory_path
dynamic_wallpapers_directory = dynamic_wallpapers_directory_path
input_remapping_directory = input_remapping_directory_path
libretro_directory = libretro_directory_path
osk_overlay_directory = osk_overlay_directory_path
overlay_directory = overlay_directory_path
playlist_directory = playlist_directory_path
recording_config_directory = recording_config_directory_path
recording_output_directory = recording_output_directory_path
resampler_directory = resampler_directory_path
rgui_browser_directory = rgui_browser_directory_path
rgui_config_directory = rgui_config_directory_path
runtime_log_directory = runtime_log_directory_path
savefile_directory = savefile_directory_path
savestate_directory = savestate_directory_path
screenshot_directory = screenshot_directory_path
system_directory = system_directory_path
thumbnails_directory = thumbnails_directory_path
Actual behavior
[What is actually happening]
Steps to reproduce the bug
file=~/Downloads/Software/RetroArch-Linux-x86_64/RetroArch-Linux-x86_64.AppImage.home/.config/retroarch/retroarch.cfg; grep '_dir =\|_directory =\|_path =' $file | sort | grep -v 'true\|false'
assets_directory = "/usr/share/libretro/assets/"
audio_filter_dir = "/usr/lib/x86_64-linux-gnu/retroarch/filters/audio/"
bundle_assets_dst_path = ""
bundle_assets_src_path = ""
cache_directory = "/tmp"
cheat_database_path = "~/.config/retroarch/cheats"
content_database_path = "~/.config/retroarch/database/rdb"
content_favorites_directory = "default"
content_favorites_path = "~/.config/retroarch/content_favorites.lpl"
content_history_directory = "default"
content_history_path = "~/.config/retroarch/content_history.lpl"
content_image_history_directory = "default"
content_image_history_path = "~/.config/retroarch/content_image_history.lpl"
content_music_history_directory = "default"
content_music_history_path = "~/.config/retroarch/content_music_history.lpl"
content_video_directory = "default"
content_video_history_path = "~/.config/retroarch/content_video_history.lpl"
core_assets_directory = "~/.config/retroarch/downloads"
core_options_path = ""
dynamic_wallpapers_directory = "default"
input_remapping_directory = "~/.config/retroarch/config/remaps"
joypad_autoconfig_dir = "~/.config/retroarch/autoconfig"
libretro_directory = "/usr/lib/x86_64-linux-gnu/libretro/"
libretro_info_path = "/usr/share/libretro/info/"
log_dir = "~/.config/retroarch/logs"
osk_overlay_directory = "~/.config/retroarch/overlays/keyboards"
overlay_directory = "~/.config/retroarch/overlays"
playlist_directory = "~/.config/retroarch/playlists"
recording_config_directory = "~/.config/retroarch/records_config"
recording_output_directory = "~/.config/retroarch/records"
resampler_directory = ""
rgui_browser_directory = "~/"
rgui_config_directory = "~/.config/retroarch/config/"
runtime_log_directory = "default"
savefile_directory = "~/.config/retroarch/saves"
savestate_directory = "~/.config/retroarch/states"
screenshot_directory = "~/.config/retroarch/screenshots"
system_directory = "~/.config/retroarch/system"
thumbnails_directory = "~/.config/retroarch/thumbnails"
video_filter_dir = "/usr/lib/x86_64-linux-gnu/retroarch/filters/video/"
video_font_path = ""
video_shader_dir = "~/.config/retroarch/shaders"
Bisect Results
[Try to bisect and tell us when this started happening]
Version/Commit
You can find this information under Information/System Information
- RetroArch: 1.17.0 Appimage
Environment information
- OS: GNU/Linux
- Compiler: [In case you are running local builds]
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the retroarch.cfg definitions and the source usages for the listed _dir, _directory, and _path variables. Check how configuration aliases are parsed and whether existing names must remain supported; done means the proposed *_directory_path and *_file_path names work consistently without breaking current configurations.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- developer-experience
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100