mirror of
https://github.com/libretro/RetroArch
synced 2025-03-29 13:20:30 +00:00
Internally change directory settings
This commit is contained in:
parent
bd11c241ec
commit
7dffc6286b
@ -670,8 +670,8 @@ static bool event_save_core_config(void)
|
||||
global_t *global = global_get_ptr();
|
||||
|
||||
*config_dir = '\0';
|
||||
if (!string_is_empty(settings->menu_config_directory))
|
||||
strlcpy(config_dir, settings->menu_config_directory,
|
||||
if (!string_is_empty(settings->directory.menu_config))
|
||||
strlcpy(config_dir, settings->directory.menu_config,
|
||||
sizeof(config_dir));
|
||||
else if (!string_is_empty(global->path.config)) /* Fallback */
|
||||
fill_pathname_basedir(config_dir, global->path.config,
|
||||
@ -1307,7 +1307,7 @@ bool event_cmd_ctl(enum event_command cmd, void *data)
|
||||
case EVENT_CMD_CORE_INFO_INIT:
|
||||
event_cmd_ctl(EVENT_CMD_CORE_INFO_DEINIT, NULL);
|
||||
|
||||
if (*settings->libretro_directory)
|
||||
if (*settings->directory.libretro)
|
||||
core_info_ctl(CORE_INFO_CTL_LIST_INIT, NULL);
|
||||
break;
|
||||
case EVENT_CMD_CORE_DEINIT:
|
||||
|
293
configuration.c
293
configuration.c
@ -731,7 +731,22 @@ static void config_set_defaults(void)
|
||||
|
||||
*settings->libretro_info_path = '\0';
|
||||
if (!global->has_set.libretro_directory)
|
||||
*settings->libretro_directory = '\0';
|
||||
*settings->directory.libretro = '\0';
|
||||
*settings->directory.cursor = '\0';
|
||||
*settings->directory.resampler = '\0';
|
||||
*settings->directory.screenshot = '\0';
|
||||
*settings->directory.system = '\0';
|
||||
*settings->directory.cache = '\0';
|
||||
*settings->directory.input_remapping = '\0';
|
||||
*settings->directory.core_assets = '\0';
|
||||
*settings->directory.assets = '\0';
|
||||
*settings->directory.dynamic_wallpapers = '\0';
|
||||
*settings->directory.thumbnails = '\0';
|
||||
*settings->directory.playlist = '\0';
|
||||
#ifdef HAVE_MENU
|
||||
*settings->directory.menu_content = '\0';
|
||||
*settings->directory.menu_config = '\0';
|
||||
#endif
|
||||
|
||||
if (!global->has_set.ups_pref)
|
||||
global->patch.ups_pref = false;
|
||||
@ -754,33 +769,18 @@ static void config_set_defaults(void)
|
||||
*settings->playlist_cores = '\0';
|
||||
*settings->core_options_path = '\0';
|
||||
*settings->content_history_path = '\0';
|
||||
*settings->content_history_directory = '\0';
|
||||
*settings->directory.content_history = '\0';
|
||||
*settings->content_database = '\0';
|
||||
*settings->cheat_database = '\0';
|
||||
*settings->cursor_directory = '\0';
|
||||
*settings->cheat_settings_path = '\0';
|
||||
*settings->resampler_directory = '\0';
|
||||
*settings->screenshot_directory = '\0';
|
||||
*settings->system_directory = '\0';
|
||||
*settings->cache_directory = '\0';
|
||||
*settings->input_remapping_directory = '\0';
|
||||
*settings->input.autoconfig_dir = '\0';
|
||||
*settings->input.overlay = '\0';
|
||||
*settings->core_assets_directory = '\0';
|
||||
*settings->assets_directory = '\0';
|
||||
*settings->dynamic_wallpapers_directory = '\0';
|
||||
*settings->thumbnails_directory = '\0';
|
||||
*settings->playlist_directory = '\0';
|
||||
*settings->video.shader_path = '\0';
|
||||
*settings->video.shader_dir = '\0';
|
||||
*settings->video.filter_dir = '\0';
|
||||
*settings->audio.filter_dir = '\0';
|
||||
*settings->video.softfilter_plugin = '\0';
|
||||
*settings->audio.dsp_plugin = '\0';
|
||||
#ifdef HAVE_MENU
|
||||
*settings->menu_content_directory = '\0';
|
||||
*settings->menu_config_directory = '\0';
|
||||
#endif
|
||||
settings->core_specific_config = default_core_specific_config;
|
||||
settings->game_specific_options = default_game_specific_options;
|
||||
settings->auto_overrides_enable = default_auto_overrides_enable;
|
||||
@ -803,47 +803,48 @@ static void config_set_defaults(void)
|
||||
|
||||
video_driver_ctl(RARCH_DISPLAY_CTL_DEFAULT_SETTINGS, NULL);
|
||||
|
||||
if (*g_defaults.dir.wallpapers)
|
||||
strlcpy(settings->directory.dynamic_wallpapers,
|
||||
g_defaults.dir.wallpapers, sizeof(settings->directory.dynamic_wallpapers));
|
||||
if (*g_defaults.dir.thumbnails)
|
||||
strlcpy(settings->directory.thumbnails,
|
||||
g_defaults.dir.thumbnails, sizeof(settings->directory.thumbnails));
|
||||
if (*g_defaults.dir.remap)
|
||||
strlcpy(settings->directory.input_remapping,
|
||||
g_defaults.dir.remap, sizeof(settings->directory.input_remapping));
|
||||
if (*g_defaults.dir.cache)
|
||||
strlcpy(settings->directory.cache,
|
||||
g_defaults.dir.cache, sizeof(settings->directory.cache));
|
||||
if (*g_defaults.dir.assets)
|
||||
strlcpy(settings->directory.assets,
|
||||
g_defaults.dir.assets, sizeof(settings->directory.assets));
|
||||
if (*g_defaults.dir.core_assets)
|
||||
strlcpy(settings->directory.core_assets,
|
||||
g_defaults.dir.core_assets, sizeof(settings->directory.core_assets));
|
||||
if (*g_defaults.dir.playlist)
|
||||
strlcpy(settings->directory.playlist,
|
||||
g_defaults.dir.playlist, sizeof(settings->directory.playlist));
|
||||
if (*g_defaults.dir.core)
|
||||
fill_pathname_expand_special(settings->directory.libretro,
|
||||
g_defaults.dir.core, sizeof(settings->directory.libretro));
|
||||
|
||||
if (*g_defaults.path.buildbot_server_url)
|
||||
strlcpy(settings->network.buildbot_url,
|
||||
g_defaults.path.buildbot_server_url, sizeof(settings->network.buildbot_url));
|
||||
if (*g_defaults.dir.wallpapers)
|
||||
strlcpy(settings->dynamic_wallpapers_directory,
|
||||
g_defaults.dir.wallpapers, sizeof(settings->dynamic_wallpapers_directory));
|
||||
if (*g_defaults.dir.thumbnails)
|
||||
strlcpy(settings->thumbnails_directory,
|
||||
g_defaults.dir.thumbnails, sizeof(settings->thumbnails_directory));
|
||||
if (*g_defaults.dir.remap)
|
||||
strlcpy(settings->input_remapping_directory,
|
||||
g_defaults.dir.remap, sizeof(settings->input_remapping_directory));
|
||||
if (*g_defaults.dir.cache)
|
||||
strlcpy(settings->cache_directory,
|
||||
g_defaults.dir.cache, sizeof(settings->cache_directory));
|
||||
if (*g_defaults.dir.audio_filter)
|
||||
strlcpy(settings->audio.filter_dir,
|
||||
g_defaults.dir.audio_filter, sizeof(settings->audio.filter_dir));
|
||||
if (*g_defaults.dir.video_filter)
|
||||
strlcpy(settings->video.filter_dir,
|
||||
g_defaults.dir.video_filter, sizeof(settings->video.filter_dir));
|
||||
if (*g_defaults.dir.assets)
|
||||
strlcpy(settings->assets_directory,
|
||||
g_defaults.dir.assets, sizeof(settings->assets_directory));
|
||||
if (*g_defaults.dir.core_assets)
|
||||
strlcpy(settings->core_assets_directory,
|
||||
g_defaults.dir.core_assets, sizeof(settings->core_assets_directory));
|
||||
if (*g_defaults.dir.playlist)
|
||||
strlcpy(settings->playlist_directory,
|
||||
g_defaults.dir.playlist, sizeof(settings->playlist_directory));
|
||||
if (*g_defaults.dir.core)
|
||||
fill_pathname_expand_special(settings->libretro_directory,
|
||||
g_defaults.dir.core, sizeof(settings->libretro_directory));
|
||||
if (*g_defaults.path.core)
|
||||
runloop_ctl(RUNLOOP_CTL_SET_LIBRETRO_PATH, g_defaults.path.core);
|
||||
if (*g_defaults.dir.database)
|
||||
strlcpy(settings->content_database, g_defaults.dir.database,
|
||||
sizeof(settings->content_database));
|
||||
if (*g_defaults.dir.cursor)
|
||||
strlcpy(settings->cursor_directory, g_defaults.dir.cursor,
|
||||
sizeof(settings->cursor_directory));
|
||||
strlcpy(settings->directory.cursor, g_defaults.dir.cursor,
|
||||
sizeof(settings->directory.cursor));
|
||||
if (*g_defaults.dir.cheats)
|
||||
strlcpy(settings->cheat_database, g_defaults.dir.cheats,
|
||||
sizeof(settings->cheat_database));
|
||||
@ -853,12 +854,12 @@ static void config_set_defaults(void)
|
||||
#ifdef HAVE_OVERLAY
|
||||
if (*g_defaults.dir.overlay)
|
||||
{
|
||||
fill_pathname_expand_special(settings->overlay_directory,
|
||||
g_defaults.dir.overlay, sizeof(settings->overlay_directory));
|
||||
fill_pathname_expand_special(settings->directory.overlay,
|
||||
g_defaults.dir.overlay, sizeof(settings->directory.overlay));
|
||||
#ifdef RARCH_MOBILE
|
||||
if (!*settings->input.overlay)
|
||||
fill_pathname_join(settings->input.overlay,
|
||||
settings->overlay_directory,
|
||||
settings->directory.overlay,
|
||||
"gamepads/retropad/retropad.cfg",
|
||||
sizeof(settings->input.overlay));
|
||||
#endif
|
||||
@ -878,13 +879,13 @@ static void config_set_defaults(void)
|
||||
}
|
||||
else
|
||||
strlcpy(global->dir.osk_overlay,
|
||||
settings->overlay_directory, sizeof(global->dir.osk_overlay));
|
||||
settings->directory.overlay, sizeof(global->dir.osk_overlay));
|
||||
#endif
|
||||
#ifdef HAVE_MENU
|
||||
if (*g_defaults.dir.menu_config)
|
||||
strlcpy(settings->menu_config_directory,
|
||||
strlcpy(settings->directory.menu_config,
|
||||
g_defaults.dir.menu_config,
|
||||
sizeof(settings->menu_config_directory));
|
||||
sizeof(settings->directory.menu_config));
|
||||
#endif
|
||||
if (*g_defaults.dir.shader)
|
||||
fill_pathname_expand_special(settings->video.shader_dir,
|
||||
@ -901,20 +902,20 @@ static void config_set_defaults(void)
|
||||
strlcpy(global->dir.savefile,
|
||||
g_defaults.dir.sram, sizeof(global->dir.savefile));
|
||||
if (*g_defaults.dir.system)
|
||||
strlcpy(settings->system_directory,
|
||||
g_defaults.dir.system, sizeof(settings->system_directory));
|
||||
strlcpy(settings->directory.system,
|
||||
g_defaults.dir.system, sizeof(settings->directory.system));
|
||||
if (*g_defaults.dir.screenshot)
|
||||
strlcpy(settings->screenshot_directory,
|
||||
strlcpy(settings->directory.screenshot,
|
||||
g_defaults.dir.screenshot,
|
||||
sizeof(settings->screenshot_directory));
|
||||
sizeof(settings->directory.screenshot));
|
||||
if (*g_defaults.dir.resampler)
|
||||
strlcpy(settings->resampler_directory,
|
||||
strlcpy(settings->directory.resampler,
|
||||
g_defaults.dir.resampler,
|
||||
sizeof(settings->resampler_directory));
|
||||
sizeof(settings->directory.resampler));
|
||||
if (*g_defaults.dir.content_history)
|
||||
strlcpy(settings->content_history_directory,
|
||||
strlcpy(settings->directory.content_history,
|
||||
g_defaults.dir.content_history,
|
||||
sizeof(settings->content_history_directory));
|
||||
sizeof(settings->directory.content_history));
|
||||
|
||||
if (*g_defaults.path.config)
|
||||
fill_pathname_expand_special(global->path.config,
|
||||
@ -1566,14 +1567,14 @@ static bool config_load_file(const char *path, bool set_defaults)
|
||||
config_get_path(conf, "libretro_path", settings->libretro, sizeof(settings->libretro));
|
||||
#endif
|
||||
if (!global->has_set.libretro_directory)
|
||||
config_get_path(conf, "libretro_directory", settings->libretro_directory, sizeof(settings->libretro_directory));
|
||||
config_get_path(conf, "libretro_directory", settings->directory.libretro, sizeof(settings->directory.libretro));
|
||||
|
||||
/* Safe-guard against older behavior. */
|
||||
if (path_is_directory(settings->libretro))
|
||||
{
|
||||
RARCH_WARN("\"libretro_path\" is a directory, using this for \"libretro_directory\" instead.\n");
|
||||
strlcpy(settings->libretro_directory, settings->libretro,
|
||||
sizeof(settings->libretro_directory));
|
||||
strlcpy(settings->directory.libretro, settings->libretro,
|
||||
sizeof(settings->directory.libretro));
|
||||
*settings->libretro = '\0';
|
||||
}
|
||||
|
||||
@ -1587,54 +1588,54 @@ static bool config_load_file(const char *path, bool set_defaults)
|
||||
config_get_path(conf, "libretro_info_path", settings->libretro_info_path, sizeof(settings->libretro_info_path));
|
||||
|
||||
config_get_path(conf, "core_options_path", settings->core_options_path, sizeof(settings->core_options_path));
|
||||
config_get_path(conf, "screenshot_directory", settings->screenshot_directory, sizeof(settings->screenshot_directory));
|
||||
if (*settings->screenshot_directory)
|
||||
config_get_path(conf, "screenshot_directory", settings->directory.screenshot, sizeof(settings->directory.screenshot));
|
||||
if (*settings->directory.screenshot)
|
||||
{
|
||||
if (string_is_equal(settings->screenshot_directory, "default"))
|
||||
*settings->screenshot_directory = '\0';
|
||||
else if (!path_is_directory(settings->screenshot_directory))
|
||||
if (string_is_equal(settings->directory.screenshot, "default"))
|
||||
*settings->directory.screenshot = '\0';
|
||||
else if (!path_is_directory(settings->directory.screenshot))
|
||||
{
|
||||
RARCH_WARN("screenshot_directory is not an existing directory, ignoring ...\n");
|
||||
*settings->screenshot_directory = '\0';
|
||||
*settings->directory.screenshot = '\0';
|
||||
}
|
||||
}
|
||||
CONFIG_GET_BOOL_BASE(conf, settings, auto_screenshot_filename, "auto_screenshot_filename");
|
||||
|
||||
config_get_path(conf, "resampler_directory", settings->resampler_directory,
|
||||
sizeof(settings->resampler_directory));
|
||||
config_get_path(conf, "cache_directory", settings->cache_directory,
|
||||
sizeof(settings->cache_directory));
|
||||
config_get_path(conf, "input_remapping_directory", settings->input_remapping_directory,
|
||||
sizeof(settings->input_remapping_directory));
|
||||
config_get_path(conf, "core_assets_directory", settings->core_assets_directory,
|
||||
sizeof(settings->core_assets_directory));
|
||||
config_get_path(conf, "assets_directory", settings->assets_directory,
|
||||
sizeof(settings->assets_directory));
|
||||
config_get_path(conf, "dynamic_wallpapers_directory", settings->dynamic_wallpapers_directory,
|
||||
sizeof(settings->dynamic_wallpapers_directory));
|
||||
config_get_path(conf, "thumbnails_directory", settings->thumbnails_directory,
|
||||
sizeof(settings->thumbnails_directory));
|
||||
config_get_path(conf, "playlist_directory", settings->playlist_directory,
|
||||
sizeof(settings->playlist_directory));
|
||||
if (string_is_equal(settings->core_assets_directory, "default"))
|
||||
*settings->core_assets_directory = '\0';
|
||||
if (string_is_equal(settings->assets_directory, "default"))
|
||||
*settings->assets_directory = '\0';
|
||||
if (string_is_equal(settings->dynamic_wallpapers_directory, "default"))
|
||||
*settings->dynamic_wallpapers_directory = '\0';
|
||||
if (string_is_equal(settings->thumbnails_directory, "default"))
|
||||
*settings->thumbnails_directory = '\0';
|
||||
if (string_is_equal(settings->playlist_directory, "default"))
|
||||
*settings->playlist_directory = '\0';
|
||||
config_get_path(conf, "resampler_directory", settings->directory.resampler,
|
||||
sizeof(settings->directory.resampler));
|
||||
config_get_path(conf, "cache_directory", settings->directory.cache,
|
||||
sizeof(settings->directory.cache));
|
||||
config_get_path(conf, "input_remapping_directory", settings->directory.input_remapping,
|
||||
sizeof(settings->directory.input_remapping));
|
||||
config_get_path(conf, "core_assets_directory", settings->directory.core_assets,
|
||||
sizeof(settings->directory.core_assets));
|
||||
config_get_path(conf, "assets_directory", settings->directory.assets,
|
||||
sizeof(settings->directory.assets));
|
||||
config_get_path(conf, "dynamic_wallpapers_directory", settings->directory.dynamic_wallpapers,
|
||||
sizeof(settings->directory.dynamic_wallpapers));
|
||||
config_get_path(conf, "thumbnails_directory", settings->directory.thumbnails,
|
||||
sizeof(settings->directory.thumbnails));
|
||||
config_get_path(conf, "playlist_directory", settings->directory.playlist,
|
||||
sizeof(settings->directory.playlist));
|
||||
if (string_is_equal(settings->directory.core_assets, "default"))
|
||||
*settings->directory.core_assets = '\0';
|
||||
if (string_is_equal(settings->directory.assets, "default"))
|
||||
*settings->directory.assets = '\0';
|
||||
if (string_is_equal(settings->directory.dynamic_wallpapers, "default"))
|
||||
*settings->directory.dynamic_wallpapers = '\0';
|
||||
if (string_is_equal(settings->directory.thumbnails, "default"))
|
||||
*settings->directory.thumbnails = '\0';
|
||||
if (string_is_equal(settings->directory.playlist, "default"))
|
||||
*settings->directory.playlist = '\0';
|
||||
#ifdef HAVE_MENU
|
||||
config_get_path(conf, "rgui_browser_directory", settings->menu_content_directory,
|
||||
sizeof(settings->menu_content_directory));
|
||||
if (string_is_equal(settings->menu_content_directory, "default"))
|
||||
*settings->menu_content_directory = '\0';
|
||||
config_get_path(conf, "rgui_config_directory", settings->menu_config_directory,
|
||||
sizeof(settings->menu_config_directory));
|
||||
if (string_is_equal(settings->menu_config_directory, "default"))
|
||||
*settings->menu_config_directory = '\0';
|
||||
config_get_path(conf, "rgui_browser_directory", settings->directory.menu_content,
|
||||
sizeof(settings->directory.menu_content));
|
||||
if (string_is_equal(settings->directory.menu_content, "default"))
|
||||
*settings->directory.menu_content = '\0';
|
||||
config_get_path(conf, "rgui_config_directory", settings->directory.menu_config,
|
||||
sizeof(settings->directory.menu_config));
|
||||
if (string_is_equal(settings->directory.menu_config, "default"))
|
||||
*settings->directory.menu_config = '\0';
|
||||
CONFIG_GET_BOOL_BASE(conf, settings, menu_show_start_screen, "rgui_show_start_screen");
|
||||
#endif
|
||||
CONFIG_GET_INT_BASE(conf, settings, libretro_log_level, "libretro_log_level");
|
||||
@ -1673,9 +1674,9 @@ static bool config_load_file(const char *path, bool set_defaults)
|
||||
sizeof(global->record.config_dir));
|
||||
|
||||
#ifdef HAVE_OVERLAY
|
||||
config_get_path(conf, "overlay_directory", settings->overlay_directory, sizeof(settings->overlay_directory));
|
||||
if (string_is_equal(settings->overlay_directory, "default"))
|
||||
*settings->overlay_directory = '\0';
|
||||
config_get_path(conf, "overlay_directory", settings->directory.overlay, sizeof(settings->directory.overlay));
|
||||
if (string_is_equal(settings->directory.overlay, "default"))
|
||||
*settings->directory.overlay = '\0';
|
||||
|
||||
config_get_path(conf, "input_overlay", settings->input.overlay, sizeof(settings->input.overlay));
|
||||
CONFIG_GET_BOOL_BASE(conf, settings, input.overlay_enable, "input_overlay_enable");
|
||||
@ -1728,7 +1729,7 @@ static bool config_load_file(const char *path, bool set_defaults)
|
||||
config_get_path(conf, "cheat_database_path",
|
||||
settings->cheat_database, sizeof(settings->cheat_database));
|
||||
config_get_path(conf, "cursor_directory",
|
||||
settings->cursor_directory, sizeof(settings->cursor_directory));
|
||||
settings->directory.cursor, sizeof(settings->directory.cursor));
|
||||
config_get_path(conf, "cheat_settings_path",
|
||||
settings->cheat_settings_path, sizeof(settings->cheat_settings_path));
|
||||
|
||||
@ -1763,8 +1764,8 @@ static bool config_load_file(const char *path, bool set_defaults)
|
||||
|
||||
CONFIG_GET_BOOL_BASE(conf, settings, debug_panel_enable, "debug_panel_enable");
|
||||
|
||||
config_get_path(conf, "content_history_dir", settings->content_history_directory,
|
||||
sizeof(settings->content_history_directory));
|
||||
config_get_path(conf, "content_history_dir", settings->directory.content_history,
|
||||
sizeof(settings->directory.content_history));
|
||||
|
||||
CONFIG_GET_BOOL_BASE(conf, settings, history_list_enable, "history_list_enable");
|
||||
|
||||
@ -1838,7 +1839,7 @@ static bool config_load_file(const char *path, bool set_defaults)
|
||||
|
||||
if (string_is_empty(settings->content_history_path))
|
||||
{
|
||||
if (string_is_empty(settings->content_history_directory))
|
||||
if (string_is_empty(settings->directory.content_history))
|
||||
{
|
||||
fill_pathname_resolve_relative(settings->content_history_path,
|
||||
global->path.config, "content_history.lpl",
|
||||
@ -1847,23 +1848,23 @@ static bool config_load_file(const char *path, bool set_defaults)
|
||||
else
|
||||
{
|
||||
fill_pathname_join(settings->content_history_path,
|
||||
settings->content_history_directory,
|
||||
settings->directory.content_history,
|
||||
"content_history.lpl",
|
||||
sizeof(settings->content_history_path));
|
||||
}
|
||||
}
|
||||
|
||||
if (!config_get_path(conf, "system_directory",
|
||||
settings->system_directory, sizeof(settings->system_directory)))
|
||||
settings->directory.system, sizeof(settings->directory.system)))
|
||||
{
|
||||
RARCH_WARN("SYSTEM DIR is empty, assume CONTENT DIR\n");
|
||||
*settings->system_directory = '\0';
|
||||
*settings->directory.system = '\0';
|
||||
}
|
||||
|
||||
if (string_is_equal(settings->system_directory, "default"))
|
||||
if (string_is_equal(settings->directory.system, "default"))
|
||||
{
|
||||
RARCH_WARN("SYSTEM DIR is empty, assume CONTENT DIR\n");
|
||||
*settings->system_directory = '\0';
|
||||
*settings->directory.system = '\0';
|
||||
}
|
||||
|
||||
config_read_keybinds_conf(conf);
|
||||
@ -1904,12 +1905,12 @@ static void config_load_core_specific(void)
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_MENU
|
||||
if (*settings->menu_config_directory)
|
||||
if (*settings->directory.menu_config)
|
||||
{
|
||||
path_resolve_realpath(settings->menu_config_directory,
|
||||
sizeof(settings->menu_config_directory));
|
||||
path_resolve_realpath(settings->directory.menu_config,
|
||||
sizeof(settings->directory.menu_config));
|
||||
strlcpy(global->path.core_specific_config,
|
||||
settings->menu_config_directory,
|
||||
settings->directory.menu_config,
|
||||
sizeof(global->path.core_specific_config));
|
||||
}
|
||||
else
|
||||
@ -1994,9 +1995,10 @@ bool config_load_override(void)
|
||||
/* Config directory: config_directory.
|
||||
* Try config directory setting first,
|
||||
* fallback to the location of the current configuration file. */
|
||||
if (!string_is_empty(settings->menu_config_directory))
|
||||
if (!string_is_empty(settings->directory.menu_config))
|
||||
strlcpy(config_directory,
|
||||
settings->menu_config_directory, sizeof(config_directory));
|
||||
settings->directory.menu_config,
|
||||
sizeof(config_directory));
|
||||
else if (!string_is_empty(global->path.config))
|
||||
fill_pathname_basedir(config_directory,
|
||||
global->path.config, sizeof(config_directory));
|
||||
@ -2173,11 +2175,12 @@ bool config_load_remap(void)
|
||||
|
||||
/* Remap directory: remap_directory.
|
||||
* Try remap directory setting, no fallbacks defined */
|
||||
if (string_is_empty(settings->input_remapping_directory))
|
||||
if (string_is_empty(settings->directory.input_remapping))
|
||||
return false;
|
||||
|
||||
strlcpy(remap_directory,
|
||||
settings->input_remapping_directory, sizeof(remap_directory));
|
||||
settings->directory.input_remapping,
|
||||
sizeof(remap_directory));
|
||||
RARCH_LOG("Remaps: remap directory: %s\n", remap_directory);
|
||||
|
||||
/* Concatenate strings into full paths for core_path, game_path */
|
||||
@ -2600,12 +2603,12 @@ bool config_save_file(const char *path)
|
||||
config_set_path(conf, "recording_config_directory", global->record.config_dir);
|
||||
|
||||
config_set_bool(conf, "suspend_screensaver_enable", settings->ui.suspend_screensaver_enable);
|
||||
config_set_path(conf, "libretro_directory", settings->libretro_directory);
|
||||
config_set_path(conf, "libretro_directory", settings->directory.libretro);
|
||||
config_set_path(conf, "libretro_info_path", settings->libretro_info_path);
|
||||
config_set_path(conf, "content_database_path", settings->content_database);
|
||||
config_set_path(conf, "cheat_database_path", settings->cheat_database);
|
||||
config_set_path(conf, "cursor_directory", settings->cursor_directory);
|
||||
config_set_path(conf, "content_history_dir", settings->content_history_directory);
|
||||
config_set_path(conf, "cursor_directory", settings->directory.cursor);
|
||||
config_set_path(conf, "content_history_dir", settings->directory.content_history);
|
||||
config_set_bool(conf, "rewind_enable", settings->rewind_enable);
|
||||
config_set_int(conf, "audio_latency", settings->audio.latency);
|
||||
config_set_bool(conf, "audio_sync", settings->audio.sync);
|
||||
@ -2685,8 +2688,8 @@ bool config_save_file(const char *path)
|
||||
config_set_bool(conf, "video_gpu_screenshot", settings->video.gpu_screenshot);
|
||||
config_set_int(conf, "video_rotation", settings->video.rotation);
|
||||
config_set_path(conf, "screenshot_directory",
|
||||
*settings->screenshot_directory ?
|
||||
settings->screenshot_directory : "default");
|
||||
*settings->directory.screenshot ?
|
||||
settings->directory.screenshot : "default");
|
||||
config_set_bool(conf, "auto_screenshot_filename",
|
||||
settings->auto_screenshot_filename);
|
||||
config_set_int(conf, "aspect_ratio_index", settings->video.aspect_ratio_idx);
|
||||
@ -2740,14 +2743,14 @@ bool config_save_file(const char *path)
|
||||
config_set_bool(conf, "ips_pref", global->patch.ips_pref);
|
||||
|
||||
config_set_path(conf, "system_directory",
|
||||
*settings->system_directory ?
|
||||
settings->system_directory : "default");
|
||||
*settings->directory.system ?
|
||||
settings->directory.system : "default");
|
||||
config_set_path(conf, "cache_directory",
|
||||
settings->cache_directory);
|
||||
settings->directory.cache);
|
||||
config_set_path(conf, "input_remapping_directory",
|
||||
settings->input_remapping_directory);
|
||||
settings->directory.input_remapping);
|
||||
config_set_path(conf, "resampler_directory",
|
||||
settings->resampler_directory);
|
||||
settings->directory.resampler);
|
||||
config_set_string(conf, "audio_resampler", settings->audio.resampler);
|
||||
config_set_path(conf, "savefile_directory",
|
||||
*global->dir.savefile ? global->dir.savefile : "default");
|
||||
@ -2764,20 +2767,20 @@ bool config_save_file(const char *path)
|
||||
settings->audio.filter_dir : "default");
|
||||
|
||||
config_set_path(conf, "core_assets_directory",
|
||||
*settings->core_assets_directory ?
|
||||
settings->core_assets_directory : "default");
|
||||
*settings->directory.core_assets ?
|
||||
settings->directory.core_assets : "default");
|
||||
config_set_path(conf, "assets_directory",
|
||||
*settings->assets_directory ?
|
||||
settings->assets_directory : "default");
|
||||
*settings->directory.assets ?
|
||||
settings->directory.assets : "default");
|
||||
config_set_path(conf, "dynamic_wallpapers_directory",
|
||||
*settings->dynamic_wallpapers_directory ?
|
||||
settings->dynamic_wallpapers_directory : "default");
|
||||
*settings->directory.dynamic_wallpapers ?
|
||||
settings->directory.dynamic_wallpapers : "default");
|
||||
config_set_path(conf, "thumbnails_directory",
|
||||
*settings->thumbnails_directory ?
|
||||
settings->thumbnails_directory : "default");
|
||||
*settings->directory.thumbnails ?
|
||||
settings->directory.thumbnails : "default");
|
||||
config_set_path(conf, "playlist_directory",
|
||||
*settings->playlist_directory ?
|
||||
settings->playlist_directory : "default");
|
||||
*settings->directory.playlist ?
|
||||
settings->directory.playlist : "default");
|
||||
#ifdef HAVE_MENU
|
||||
config_set_int(conf, "xmb_scale_factor", settings->menu.xmb_scale_factor);
|
||||
config_set_int(conf, "xmb_alpha_factor", settings->menu.xmb_alpha_factor);
|
||||
@ -2788,11 +2791,11 @@ bool config_save_file(const char *path)
|
||||
config_set_path(conf, "xmb_font",
|
||||
!string_is_empty(settings->menu.xmb_font) ? settings->menu.xmb_font : "");
|
||||
config_set_path(conf, "rgui_browser_directory",
|
||||
*settings->menu_content_directory ?
|
||||
settings->menu_content_directory : "default");
|
||||
*settings->directory.menu_content ?
|
||||
settings->directory.menu_content : "default");
|
||||
config_set_path(conf, "rgui_config_directory",
|
||||
*settings->menu_config_directory ?
|
||||
settings->menu_config_directory : "default");
|
||||
*settings->directory.menu_config ?
|
||||
settings->directory.menu_config : "default");
|
||||
config_set_bool(conf, "rgui_show_start_screen",
|
||||
settings->menu_show_start_screen);
|
||||
config_set_bool(conf, "menu_navigation_wraparound_enable",
|
||||
@ -2819,7 +2822,7 @@ bool config_save_file(const char *path)
|
||||
|
||||
#ifdef HAVE_OVERLAY
|
||||
config_set_path(conf, "overlay_directory",
|
||||
*settings->overlay_directory ? settings->overlay_directory : "default");
|
||||
*settings->directory.overlay ? settings->directory.overlay : "default");
|
||||
config_set_path(conf, "input_overlay", settings->input.overlay);
|
||||
config_set_bool(conf, "input_overlay_enable", settings->input.overlay_enable);
|
||||
config_set_bool(conf, "input_overlay_enable_autopreferred", settings->input.overlay_enable_autopreferred);
|
||||
|
@ -321,31 +321,39 @@ typedef struct settings
|
||||
char bundle_assets_dst_path[PATH_MAX_LENGTH];
|
||||
char bundle_assets_dst_path_subdir[PATH_MAX_LENGTH];
|
||||
|
||||
struct
|
||||
{
|
||||
char content_history[PATH_MAX_LENGTH];
|
||||
char libretro[PATH_MAX_LENGTH];
|
||||
char cursor[PATH_MAX_LENGTH];
|
||||
char input_remapping[PATH_MAX_LENGTH];
|
||||
char overlay[PATH_MAX_LENGTH];
|
||||
char resampler[PATH_MAX_LENGTH];
|
||||
char screenshot[PATH_MAX_LENGTH];
|
||||
char system[PATH_MAX_LENGTH];
|
||||
char cache[PATH_MAX_LENGTH];
|
||||
char playlist[PATH_MAX_LENGTH];
|
||||
char core_assets[PATH_MAX_LENGTH];
|
||||
char assets[PATH_MAX_LENGTH];
|
||||
char dynamic_wallpapers[PATH_MAX_LENGTH];
|
||||
char thumbnails[PATH_MAX_LENGTH];
|
||||
char menu_config[PATH_MAX_LENGTH];
|
||||
char menu_content[PATH_MAX_LENGTH];
|
||||
} directory;
|
||||
|
||||
char core_options_path[PATH_MAX_LENGTH];
|
||||
char content_history_path[PATH_MAX_LENGTH];
|
||||
char content_history_directory[PATH_MAX_LENGTH];
|
||||
unsigned content_history_size;
|
||||
|
||||
char libretro[PATH_MAX_LENGTH];
|
||||
char libretro_directory[PATH_MAX_LENGTH];
|
||||
unsigned libretro_log_level;
|
||||
char libretro_info_path[PATH_MAX_LENGTH];
|
||||
char content_database[PATH_MAX_LENGTH];
|
||||
char cheat_database[PATH_MAX_LENGTH];
|
||||
char cursor_directory[PATH_MAX_LENGTH];
|
||||
char cheat_settings_path[PATH_MAX_LENGTH];
|
||||
char input_remapping_directory[PATH_MAX_LENGTH];
|
||||
|
||||
char overlay_directory[PATH_MAX_LENGTH];
|
||||
char resampler_directory[PATH_MAX_LENGTH];
|
||||
char screenshot_directory[PATH_MAX_LENGTH];
|
||||
char system_directory[PATH_MAX_LENGTH];
|
||||
|
||||
bool auto_screenshot_filename;
|
||||
|
||||
char cache_directory[PATH_MAX_LENGTH];
|
||||
char playlist_directory[PATH_MAX_LENGTH];
|
||||
|
||||
bool history_list_enable;
|
||||
bool rewind_enable;
|
||||
size_t rewind_buffer_size;
|
||||
@ -370,13 +378,7 @@ typedef struct settings
|
||||
unsigned network_remote_base_port;
|
||||
bool debug_panel_enable;
|
||||
|
||||
char core_assets_directory[PATH_MAX_LENGTH];
|
||||
char assets_directory[PATH_MAX_LENGTH];
|
||||
char dynamic_wallpapers_directory[PATH_MAX_LENGTH];
|
||||
char thumbnails_directory[PATH_MAX_LENGTH];
|
||||
char menu_config_directory[PATH_MAX_LENGTH];
|
||||
#if defined(HAVE_MENU)
|
||||
char menu_content_directory[PATH_MAX_LENGTH];
|
||||
bool menu_show_start_screen;
|
||||
#endif
|
||||
bool fps_show;
|
||||
|
@ -1318,7 +1318,7 @@ static bool load_content_from_compressed_archive(
|
||||
RARCH_LOG("Compressed file in case of need_fullpath."
|
||||
" Now extracting to temporary directory.\n");
|
||||
|
||||
strlcpy(new_basedir, settings->cache_directory,
|
||||
strlcpy(new_basedir, settings->directory.cache,
|
||||
sizeof(new_basedir));
|
||||
|
||||
if (string_is_empty(new_basedir) || !path_is_directory(new_basedir))
|
||||
@ -1534,8 +1534,8 @@ static bool init_content_file_extract(
|
||||
|
||||
if (!file_archive_extract_first_content_file(temp_content,
|
||||
sizeof(temp_content), valid_ext,
|
||||
*settings->cache_directory ?
|
||||
settings->cache_directory : NULL,
|
||||
*settings->directory.cache ?
|
||||
settings->directory.cache : NULL,
|
||||
new_path, sizeof(new_path)))
|
||||
{
|
||||
RARCH_ERR("Failed to extract content from zipped file: %s.\n",
|
||||
|
@ -182,7 +182,7 @@ static config_file_t *core_info_list_iterate(
|
||||
strlcat(info_path_base, ".info", sizeof(info_path_base));
|
||||
|
||||
fill_pathname_join(info_path, (*settings->libretro_info_path) ?
|
||||
settings->libretro_info_path : settings->libretro_directory,
|
||||
settings->libretro_info_path : settings->directory.libretro,
|
||||
info_path_base, sizeof(info_path));
|
||||
|
||||
return config_file_new(info_path);
|
||||
@ -702,7 +702,7 @@ bool core_info_ctl(enum core_info_state state, void *data)
|
||||
return false;
|
||||
|
||||
return core_info_list_update_missing_firmware(core_info_curr_list,
|
||||
info->path, info->system_directory);
|
||||
info->path, info->directory.system);
|
||||
}
|
||||
case CORE_INFO_CTL_FIND:
|
||||
{
|
||||
|
@ -89,7 +89,10 @@ typedef struct
|
||||
typedef struct core_info_ctx_firmware
|
||||
{
|
||||
const char *path;
|
||||
const char *system_directory;
|
||||
struct
|
||||
{
|
||||
const char *system;
|
||||
} directory;
|
||||
} core_info_ctx_firmware_t;
|
||||
|
||||
typedef struct core_info_ctx_find
|
||||
|
12
dynamic.c
12
dynamic.c
@ -715,7 +715,7 @@ bool rarch_environment_cb(unsigned cmd, void *data)
|
||||
break;
|
||||
|
||||
case RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY:
|
||||
if (string_is_empty(settings->system_directory))
|
||||
if (string_is_empty(settings->directory.system))
|
||||
{
|
||||
char *fullpath = NULL;
|
||||
runloop_ctl(RUNLOOP_CTL_GET_CONTENT_PATH, &fullpath);
|
||||
@ -731,9 +731,9 @@ bool rarch_environment_cb(unsigned cmd, void *data)
|
||||
}
|
||||
else
|
||||
{
|
||||
*(const char**)data = settings->system_directory;
|
||||
*(const char**)data = settings->directory.system;
|
||||
RARCH_LOG("Environ SYSTEM_DIRECTORY: \"%s\".\n",
|
||||
settings->system_directory);
|
||||
settings->directory.system);
|
||||
}
|
||||
|
||||
break;
|
||||
@ -1127,10 +1127,10 @@ bool rarch_environment_cb(unsigned cmd, void *data)
|
||||
{
|
||||
const char **dir = (const char**)data;
|
||||
|
||||
*dir = *settings->core_assets_directory ?
|
||||
settings->core_assets_directory : NULL;
|
||||
*dir = *settings->directory.core_assets ?
|
||||
settings->directory.core_assets : NULL;
|
||||
RARCH_LOG("Environ CORE_ASSETS_DIRECTORY: \"%s\".\n",
|
||||
settings->core_assets_directory);
|
||||
settings->directory.core_assets);
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -122,7 +122,7 @@ bool input_remapping_save_file(const char *path)
|
||||
config_file_t *conf = NULL;
|
||||
settings_t *settings = config_get_ptr();
|
||||
|
||||
fill_pathname_join(buf, settings->input_remapping_directory,
|
||||
fill_pathname_join(buf, settings->directory.input_remapping,
|
||||
path, sizeof(buf));
|
||||
|
||||
fill_pathname_noext(remap_file, buf, ".rmp", sizeof(remap_file));
|
||||
|
@ -63,7 +63,7 @@ struct string_list *dir_list_new_special(const char *input_dir,
|
||||
switch (type)
|
||||
{
|
||||
case DIR_LIST_CORES:
|
||||
dir = settings->libretro_directory;
|
||||
dir = settings->directory.libretro;
|
||||
|
||||
if (!frontend_driver_get_core_extension(ext_name, sizeof(ext_name)))
|
||||
return NULL;
|
||||
@ -93,7 +93,7 @@ struct string_list *dir_list_new_special(const char *input_dir,
|
||||
exts = ext_shaders;
|
||||
break;
|
||||
case DIR_LIST_COLLECTIONS:
|
||||
dir = settings->playlist_directory;
|
||||
dir = settings->directory.playlist;
|
||||
exts = "lpl";
|
||||
break;
|
||||
case DIR_LIST_DATABASES:
|
||||
|
@ -224,19 +224,19 @@ int generic_action_ok_displaylist_push(const char *path,
|
||||
case ACTION_OK_DL_DOWNLOADS_DIR:
|
||||
info.type = MENU_FILE_DIRECTORY;
|
||||
info.directory_ptr = idx;
|
||||
info_path = settings->core_assets_directory;
|
||||
info_path = settings->directory.core_assets;
|
||||
info_label = label;
|
||||
break;
|
||||
case ACTION_OK_DL_CONTENT_LIST:
|
||||
info.type = MENU_FILE_DIRECTORY;
|
||||
info.directory_ptr = idx;
|
||||
info_path = settings->menu_content_directory;
|
||||
info_path = settings->directory.menu_content;
|
||||
info_label = label;
|
||||
break;
|
||||
case ACTION_OK_DL_REMAP_FILE:
|
||||
info.type = type;
|
||||
info.directory_ptr = idx;
|
||||
info_path = settings->input_remapping_directory;
|
||||
info_path = settings->directory.input_remapping;
|
||||
info_label = label;
|
||||
break;
|
||||
case ACTION_OK_DL_RECORD_CONFIGFILE:
|
||||
@ -248,7 +248,7 @@ int generic_action_ok_displaylist_push(const char *path,
|
||||
case ACTION_OK_DL_DISK_IMAGE_APPEND_LIST:
|
||||
info.type = type;
|
||||
info.directory_ptr = idx;
|
||||
info_path = settings->menu_content_directory;
|
||||
info_path = settings->directory.menu_content;
|
||||
info_label = label;
|
||||
break;
|
||||
case ACTION_OK_DL_PLAYLIST_COLLECTION:
|
||||
@ -266,13 +266,13 @@ int generic_action_ok_displaylist_push(const char *path,
|
||||
case ACTION_OK_DL_CORE_LIST:
|
||||
info.type = type;
|
||||
info.directory_ptr = idx;
|
||||
info_path = settings->libretro_directory;
|
||||
info_path = settings->directory.libretro;
|
||||
info_label = label;
|
||||
break;
|
||||
case ACTION_OK_DL_CONTENT_COLLECTION_LIST:
|
||||
info.type = type;
|
||||
info.directory_ptr = idx;
|
||||
info_path = settings->playlist_directory;
|
||||
info_path = settings->directory.playlist;
|
||||
info_label = label;
|
||||
break;
|
||||
case ACTION_OK_DL_RDB_ENTRY:
|
||||
@ -292,10 +292,10 @@ int generic_action_ok_displaylist_push(const char *path,
|
||||
case ACTION_OK_DL_CONFIGURATIONS_LIST:
|
||||
info.type = type;
|
||||
info.directory_ptr = idx;
|
||||
if (string_is_empty(settings->menu_config_directory))
|
||||
if (string_is_empty(settings->directory.menu_config))
|
||||
info_path = label;
|
||||
else
|
||||
info_path = settings->menu_config_directory;
|
||||
info_path = settings->directory.menu_config;
|
||||
info_label = label;
|
||||
break;
|
||||
case ACTION_OK_DL_COMPRESSED_ARCHIVE_PUSH_DETECT_CORE:
|
||||
@ -349,7 +349,7 @@ int generic_action_ok_displaylist_push(const char *path,
|
||||
MENU_LABEL_DEFERRED_DATABASE_MANAGER_LIST);
|
||||
break;
|
||||
case ACTION_OK_DL_CURSOR_MANAGER_LIST:
|
||||
fill_pathname_join(tmp, settings->cursor_directory,
|
||||
fill_pathname_join(tmp, settings->directory.cursor,
|
||||
path, sizeof(tmp));
|
||||
|
||||
info.directory_ptr = idx;
|
||||
@ -390,13 +390,13 @@ int generic_action_ok_displaylist_push(const char *path,
|
||||
break;
|
||||
case ACTION_OK_DL_DEFERRED_CORE_LIST:
|
||||
info.directory_ptr = idx;
|
||||
info_path = settings->libretro_directory;
|
||||
info_path = settings->directory.libretro;
|
||||
info_label = menu_hash_to_str(MENU_LABEL_DEFERRED_CORE_LIST);
|
||||
break;
|
||||
case ACTION_OK_DL_DEFERRED_CORE_LIST_SET:
|
||||
info.directory_ptr = idx;
|
||||
rdb_entry_start_game_selection_ptr = idx;
|
||||
info_path = settings->libretro_directory;
|
||||
info_path = settings->directory.libretro;
|
||||
info_label = menu_hash_to_str(
|
||||
MENU_LABEL_DEFERRED_CORE_LIST_SET);
|
||||
break;
|
||||
@ -1018,8 +1018,11 @@ static int generic_action_ok_remap_file_save(const char *path,
|
||||
if (info)
|
||||
core_name = info->info.library_name;
|
||||
|
||||
fill_pathname_join(directory, settings->input_remapping_directory,
|
||||
core_name, sizeof(directory));
|
||||
fill_pathname_join(
|
||||
directory,
|
||||
settings->directory.input_remapping,
|
||||
core_name,
|
||||
sizeof(directory));
|
||||
|
||||
switch (action_type)
|
||||
{
|
||||
@ -1308,19 +1311,19 @@ static void cb_generic_download(void *task_data,
|
||||
switch (transf->type_hash)
|
||||
{
|
||||
case CB_CORE_THUMBNAILS_DOWNLOAD:
|
||||
dir_path = settings->thumbnails_directory;
|
||||
dir_path = settings->directory.thumbnails;
|
||||
break;
|
||||
case CB_CORE_UPDATER_DOWNLOAD:
|
||||
dir_path = settings->libretro_directory;
|
||||
dir_path = settings->directory.libretro;
|
||||
break;
|
||||
case CB_CORE_CONTENT_DOWNLOAD:
|
||||
dir_path = settings->core_assets_directory;
|
||||
dir_path = settings->directory.core_assets;
|
||||
break;
|
||||
case CB_UPDATE_CORE_INFO_FILES:
|
||||
dir_path = settings->libretro_info_path;
|
||||
break;
|
||||
case CB_UPDATE_ASSETS:
|
||||
dir_path = settings->assets_directory;
|
||||
dir_path = settings->directory.assets;
|
||||
break;
|
||||
case CB_UPDATE_AUTOCONFIG_PROFILES:
|
||||
dir_path = settings->input.autoconfig_dir;
|
||||
@ -1329,7 +1332,7 @@ static void cb_generic_download(void *task_data,
|
||||
dir_path = settings->content_database;
|
||||
break;
|
||||
case CB_UPDATE_OVERLAYS:
|
||||
dir_path = settings->overlay_directory;
|
||||
dir_path = settings->directory.overlay;
|
||||
break;
|
||||
case CB_UPDATE_CHEATS:
|
||||
dir_path = settings->cheat_database;
|
||||
|
@ -1007,7 +1007,7 @@ static void mui_font(void)
|
||||
|
||||
menu_display_ctl(MENU_DISPLAY_CTL_FONT_SIZE, &font_size);
|
||||
|
||||
fill_pathname_join(mediapath, settings->assets_directory,
|
||||
fill_pathname_join(mediapath, settings->directory.assets,
|
||||
"glui", sizeof(mediapath));
|
||||
fill_pathname_join(fontpath, mediapath,
|
||||
"Roboto-Regular.ttf", sizeof(fontpath));
|
||||
@ -1243,8 +1243,11 @@ static void mui_context_reset(void *data)
|
||||
if (!mui || !settings)
|
||||
return;
|
||||
|
||||
fill_pathname_join(iconpath, settings->assets_directory,
|
||||
"glui", sizeof(iconpath));
|
||||
fill_pathname_join(
|
||||
iconpath,
|
||||
settings->directory.assets,
|
||||
"glui",
|
||||
sizeof(iconpath));
|
||||
fill_pathname_slash(iconpath, sizeof(iconpath));
|
||||
|
||||
mui_layout(mui);
|
||||
|
@ -365,7 +365,7 @@ static void xmb_fill_default_background_path(xmb_handle_t *xmb,
|
||||
|
||||
strlcpy(xmb->icon.dir, "png", sizeof(xmb->icon.dir));
|
||||
|
||||
fill_pathname_join(mediapath, settings->assets_directory,
|
||||
fill_pathname_join(mediapath, settings->directory.assets,
|
||||
"xmb", sizeof(mediapath));
|
||||
fill_pathname_join(themepath, mediapath, xmb_theme_ident(), sizeof(themepath));
|
||||
fill_pathname_join(iconpath, themepath, xmb->icon.dir, sizeof(iconpath));
|
||||
@ -675,8 +675,11 @@ static void xmb_update_thumbnail_path(void *data, unsigned i)
|
||||
|
||||
menu_entry_get(&entry, 0, i, NULL, true);
|
||||
|
||||
fill_pathname_join(xmb->thumbnail_file_path, settings->thumbnails_directory,
|
||||
xmb->title_name, sizeof(xmb->thumbnail_file_path));
|
||||
fill_pathname_join(
|
||||
xmb->thumbnail_file_path,
|
||||
settings->directory.thumbnails,
|
||||
xmb->title_name,
|
||||
sizeof(xmb->thumbnail_file_path));
|
||||
fill_pathname_join(xmb->thumbnail_file_path, xmb->thumbnail_file_path,
|
||||
xmb_thumbnails_ident(), sizeof(xmb->thumbnail_file_path));
|
||||
|
||||
@ -1039,8 +1042,11 @@ static void xmb_list_switch_new(xmb_handle_t *xmb,
|
||||
|
||||
if (tmp)
|
||||
{
|
||||
fill_pathname_join(path,
|
||||
settings->dynamic_wallpapers_directory, tmp, sizeof(path));
|
||||
fill_pathname_join(
|
||||
path,
|
||||
settings->directory.dynamic_wallpapers,
|
||||
tmp,
|
||||
sizeof(path));
|
||||
path_remove_extension(path);
|
||||
free(tmp);
|
||||
}
|
||||
@ -1279,7 +1285,9 @@ static void xmb_init_horizontal_list(xmb_handle_t *xmb)
|
||||
strlcpy(info.label,
|
||||
menu_hash_to_str(MENU_LABEL_CONTENT_COLLECTION_LIST),
|
||||
sizeof(info.label));
|
||||
strlcpy(info.path, settings->playlist_directory, sizeof(info.path));
|
||||
strlcpy(info.path,
|
||||
settings->directory.playlist,
|
||||
sizeof(info.path));
|
||||
strlcpy(info.exts, "lpl", sizeof(info.exts));
|
||||
|
||||
if (menu_displaylist_ctl(DISPLAYLIST_DATABASE_PLAYLISTS_HORIZONTAL, &info))
|
||||
@ -1393,8 +1401,11 @@ static void xmb_refresh_horizontal_list(xmb_handle_t *xmb)
|
||||
|
||||
settings_t *settings = config_get_ptr();
|
||||
|
||||
fill_pathname_join(mediapath, settings->assets_directory,
|
||||
"xmb", sizeof(mediapath));
|
||||
fill_pathname_join(
|
||||
mediapath,
|
||||
settings->directory.assets,
|
||||
"xmb",
|
||||
sizeof(mediapath));
|
||||
fill_pathname_join(themepath, mediapath, xmb_theme_ident(), sizeof(themepath));
|
||||
|
||||
xmb_context_destroy_horizontal_list(xmb);
|
||||
@ -2250,8 +2261,11 @@ static void xmb_font(xmb_handle_t *xmb)
|
||||
|
||||
menu_display_ctl(MENU_DISPLAY_CTL_FONT_SIZE, &font_size);
|
||||
|
||||
fill_pathname_join(mediapath,
|
||||
settings->assets_directory, "xmb", sizeof(mediapath));
|
||||
fill_pathname_join(
|
||||
mediapath,
|
||||
settings->directory.assets,
|
||||
"xmb",
|
||||
sizeof(mediapath));
|
||||
fill_pathname_join(themepath,
|
||||
mediapath, xmb_theme_ident(), sizeof(themepath));
|
||||
if (string_is_empty(settings->menu.xmb_font))
|
||||
@ -2700,8 +2714,11 @@ static void xmb_context_reset(void *data)
|
||||
xmb_fill_default_background_path(xmb,
|
||||
xmb->background_file_path, sizeof(xmb->background_file_path));
|
||||
|
||||
fill_pathname_join(mediapath, settings->assets_directory,
|
||||
"xmb", sizeof(mediapath));
|
||||
fill_pathname_join(
|
||||
mediapath,
|
||||
settings->directory.assets,
|
||||
"xmb",
|
||||
sizeof(mediapath));
|
||||
fill_pathname_join(themepath, mediapath, xmb_theme_ident(), sizeof(themepath));
|
||||
fill_pathname_join(iconpath, themepath, xmb->icon.dir, sizeof(iconpath));
|
||||
fill_pathname_slash(iconpath, sizeof(iconpath));
|
||||
|
@ -176,8 +176,11 @@ static void zarch_zui_font(void)
|
||||
|
||||
menu_display_ctl(MENU_DISPLAY_CTL_FONT_SIZE, &font_size);
|
||||
|
||||
fill_pathname_join(mediapath,
|
||||
settings->assets_directory, "zarch", sizeof(mediapath));
|
||||
fill_pathname_join(
|
||||
mediapath,
|
||||
settings->directory.assets,
|
||||
"zarch",
|
||||
sizeof(mediapath));
|
||||
fill_pathname_join(fontpath,
|
||||
mediapath, "Roboto-Condensed.ttf", sizeof(fontpath));
|
||||
|
||||
@ -597,7 +600,7 @@ static int zarch_zui_render_lay_root_load(zui_t *zui,
|
||||
unsigned cwd_offset;
|
||||
|
||||
if (!zui->load_cwd)
|
||||
zui->load_cwd = strdup(settings->menu_content_directory);
|
||||
zui->load_cwd = strdup(settings->directory.menu_content);
|
||||
|
||||
if (!zui->load_dlist)
|
||||
{
|
||||
|
@ -393,7 +393,7 @@ static int menu_displaylist_parse_core_info(menu_displaylist_info_t *info)
|
||||
core_info_ctx_firmware_t firmware_info;
|
||||
|
||||
firmware_info.path = core_info->path;
|
||||
firmware_info.system_directory = settings->system_directory;
|
||||
firmware_info.directory.system = settings->directory.system;
|
||||
|
||||
if (core_info_ctl(CORE_INFO_CTL_LIST_UPDATE_MISSING_FIRMWARE, &firmware_info))
|
||||
{
|
||||
@ -467,7 +467,7 @@ static int menu_displaylist_parse_debug_info(menu_displaylist_info_t *info)
|
||||
MENU_SETTINGS_CORE_INFO_NONE, 0, 0);
|
||||
|
||||
/* Assume libretro directory exists and check if stat works */
|
||||
ret = path_is_directory(settings->libretro_directory);
|
||||
ret = path_is_directory(settings->directory.libretro);
|
||||
snprintf(tmp, sizeof(tmp), "- stat directory... %s",
|
||||
ret ? "passed" : "failed");
|
||||
menu_entries_add(info->list, tmp, "",
|
||||
@ -475,7 +475,9 @@ static int menu_displaylist_parse_debug_info(menu_displaylist_info_t *info)
|
||||
|
||||
/* Try to create a "test" subdirectory on top of libretro directory */
|
||||
fill_pathname_join(tmp,
|
||||
settings->libretro_directory, ".retroarch", sizeof(tmp));
|
||||
settings->directory.libretro,
|
||||
".retroarch",
|
||||
sizeof(tmp));
|
||||
ret = path_mkdir(tmp);
|
||||
snprintf(tmp, sizeof(tmp), "- create a directory... %s",
|
||||
ret ? "passed" : "failed");
|
||||
@ -536,9 +538,9 @@ static int menu_displaylist_parse_debug_info(menu_displaylist_info_t *info)
|
||||
/* Check if system directory exists */
|
||||
menu_entries_add(info->list, "System Directory", "",
|
||||
MENU_SETTINGS_CORE_INFO_NONE, 0, 0);
|
||||
ret = path_is_directory(settings->system_directory);
|
||||
ret = path_is_directory(settings->directory.system);
|
||||
snprintf(tmp, sizeof(tmp), "- directory name: %s",
|
||||
settings->system_directory);
|
||||
settings->directory.system);
|
||||
menu_entries_add(info->list, tmp, "",
|
||||
MENU_SETTINGS_CORE_INFO_NONE, 0, 0);
|
||||
snprintf(tmp, sizeof(tmp), "- directory exists: %s",
|
||||
@ -547,7 +549,7 @@ static int menu_displaylist_parse_debug_info(menu_displaylist_info_t *info)
|
||||
MENU_SETTINGS_CORE_INFO_NONE, 0, 0);
|
||||
|
||||
/* Check if save directory is writable */
|
||||
fill_pathname_join(tmp, settings->system_directory, ".retroarch",
|
||||
fill_pathname_join(tmp, settings->directory.system, ".retroarch",
|
||||
sizeof(tmp));
|
||||
ret = path_mkdir(tmp);
|
||||
snprintf(tmp, sizeof(tmp), "- directory writable: %s",
|
||||
@ -1527,7 +1529,7 @@ static int menu_displaylist_parse_database_entry(menu_displaylist_info_t *info)
|
||||
path_remove_extension(path_base);
|
||||
strlcat(path_base, ".lpl", sizeof(path_base));
|
||||
|
||||
fill_pathname_join(path_playlist, settings->playlist_directory, path_base,
|
||||
fill_pathname_join(path_playlist, settings->directory.playlist, path_base,
|
||||
sizeof(path_playlist));
|
||||
|
||||
playlist = content_playlist_init(path_playlist, COLLECTION_SIZE);
|
||||
@ -2112,8 +2114,10 @@ static int menu_displaylist_parse_horizontal_list(
|
||||
|
||||
menu_driver_ctl(RARCH_MENU_CTL_PLAYLIST_FREE, NULL);
|
||||
|
||||
fill_pathname_join(path_playlist,
|
||||
settings->playlist_directory, item->path,
|
||||
fill_pathname_join(
|
||||
path_playlist,
|
||||
settings->directory.playlist,
|
||||
item->path,
|
||||
sizeof(path_playlist));
|
||||
|
||||
menu_driver_ctl(RARCH_MENU_CTL_PLAYLIST_INIT, (void*)path_playlist);
|
||||
@ -2864,8 +2868,7 @@ static void menu_displaylist_parse_playlist_associations(
|
||||
settings_t *settings = config_get_ptr();
|
||||
struct string_list *stnames = string_split(settings->playlist_names, ";");
|
||||
struct string_list *stcores = string_split(settings->playlist_cores, ";");
|
||||
struct string_list *str_list =
|
||||
dir_list_new_special(settings->playlist_directory,
|
||||
struct string_list *str_list = dir_list_new_special(settings->directory.playlist,
|
||||
DIR_LIST_COLLECTIONS, NULL);
|
||||
|
||||
if (str_list && str_list->size)
|
||||
@ -2994,7 +2997,7 @@ static bool menu_displaylist_push_internal(
|
||||
menu_hash_to_str(MENU_LABEL_CONTENT_COLLECTION_LIST),
|
||||
sizeof(info->label));
|
||||
|
||||
if (string_is_empty(settings->playlist_directory))
|
||||
if (string_is_empty(settings->directory.playlist))
|
||||
{
|
||||
menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
|
||||
menu_entries_add(info->list,
|
||||
@ -3008,8 +3011,11 @@ static bool menu_displaylist_push_internal(
|
||||
}
|
||||
else
|
||||
{
|
||||
strlcpy(info->path, settings->playlist_directory,
|
||||
strlcpy(
|
||||
info->path,
|
||||
settings->directory.playlist,
|
||||
sizeof(info->path));
|
||||
|
||||
if (!menu_displaylist_ctl(
|
||||
DISPLAYLIST_DATABASE_PLAYLISTS_HORIZONTAL, info))
|
||||
break;
|
||||
@ -3714,8 +3720,10 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data)
|
||||
|
||||
menu_driver_ctl(RARCH_MENU_CTL_PLAYLIST_FREE, NULL);
|
||||
|
||||
fill_pathname_join(path_playlist,
|
||||
settings->playlist_directory, info->path,
|
||||
fill_pathname_join(
|
||||
path_playlist,
|
||||
settings->directory.playlist,
|
||||
info->path,
|
||||
sizeof(path_playlist));
|
||||
|
||||
menu_driver_ctl(RARCH_MENU_CTL_PLAYLIST_INIT,
|
||||
@ -3943,7 +3951,7 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data)
|
||||
case DISPLAYLIST_DATABASE_CURSORS:
|
||||
info->type_default = MENU_FILE_CURSOR;
|
||||
strlcpy(info->exts, "dbc", sizeof(info->exts));
|
||||
strlcpy(info->path, settings->cursor_directory, sizeof(info->path));
|
||||
strlcpy(info->path, settings->directory.cursor, sizeof(info->path));
|
||||
break;
|
||||
case DISPLAYLIST_DATABASE_PLAYLISTS:
|
||||
info->type_default = MENU_FILE_PLAIN;
|
||||
|
@ -5598,7 +5598,7 @@ static bool setting_append_list(
|
||||
sizeof(settings->input.overlay),
|
||||
menu_hash_to_str(MENU_LABEL_OVERLAY_PRESET),
|
||||
menu_hash_to_str(MENU_LABEL_VALUE_OVERLAY_PRESET),
|
||||
settings->overlay_directory,
|
||||
settings->directory.overlay,
|
||||
&group_info,
|
||||
&subgroup_info,
|
||||
parent_group,
|
||||
@ -6783,8 +6783,8 @@ static bool setting_append_list(
|
||||
|
||||
CONFIG_DIR(
|
||||
list, list_info,
|
||||
settings->system_directory,
|
||||
sizeof(settings->system_directory),
|
||||
settings->directory.system,
|
||||
sizeof(settings->directory.system),
|
||||
menu_hash_to_str(MENU_LABEL_SYSTEM_DIRECTORY),
|
||||
menu_hash_to_str(MENU_LABEL_VALUE_SYSTEM_DIRECTORY),
|
||||
"",
|
||||
@ -6801,8 +6801,8 @@ static bool setting_append_list(
|
||||
|
||||
CONFIG_DIR(
|
||||
list, list_info,
|
||||
settings->core_assets_directory,
|
||||
sizeof(settings->core_assets_directory),
|
||||
settings->directory.core_assets,
|
||||
sizeof(settings->directory.core_assets),
|
||||
menu_hash_to_str(MENU_LABEL_CORE_ASSETS_DIRECTORY),
|
||||
menu_hash_to_str(MENU_LABEL_VALUE_CORE_ASSETS_DIRECTORY),
|
||||
"",
|
||||
@ -6819,8 +6819,8 @@ static bool setting_append_list(
|
||||
|
||||
CONFIG_DIR(
|
||||
list, list_info,
|
||||
settings->assets_directory,
|
||||
sizeof(settings->assets_directory),
|
||||
settings->directory.assets,
|
||||
sizeof(settings->directory.assets),
|
||||
menu_hash_to_str(MENU_LABEL_ASSETS_DIRECTORY),
|
||||
menu_hash_to_str(MENU_LABEL_VALUE_ASSETS_DIRECTORY),
|
||||
"",
|
||||
@ -6837,8 +6837,8 @@ static bool setting_append_list(
|
||||
|
||||
CONFIG_DIR(
|
||||
list, list_info,
|
||||
settings->dynamic_wallpapers_directory,
|
||||
sizeof(settings->dynamic_wallpapers_directory),
|
||||
settings->directory.dynamic_wallpapers,
|
||||
sizeof(settings->directory.dynamic_wallpapers),
|
||||
menu_hash_to_str(MENU_LABEL_DYNAMIC_WALLPAPERS_DIRECTORY),
|
||||
menu_hash_to_str(MENU_LABEL_VALUE_DYNAMIC_WALLPAPERS_DIRECTORY),
|
||||
"",
|
||||
@ -6855,8 +6855,8 @@ static bool setting_append_list(
|
||||
|
||||
CONFIG_DIR(
|
||||
list, list_info,
|
||||
settings->thumbnails_directory,
|
||||
sizeof(settings->thumbnails_directory),
|
||||
settings->directory.thumbnails,
|
||||
sizeof(settings->directory.thumbnails),
|
||||
menu_hash_to_str(MENU_LABEL_THUMBNAILS_DIRECTORY),
|
||||
menu_hash_to_str(MENU_LABEL_VALUE_THUMBNAILS_DIRECTORY),
|
||||
"",
|
||||
@ -6873,8 +6873,8 @@ static bool setting_append_list(
|
||||
|
||||
CONFIG_DIR(
|
||||
list, list_info,
|
||||
settings->menu_content_directory,
|
||||
sizeof(settings->menu_content_directory),
|
||||
settings->directory.menu_content,
|
||||
sizeof(settings->directory.menu_content),
|
||||
menu_hash_to_str(MENU_LABEL_RGUI_BROWSER_DIRECTORY),
|
||||
menu_hash_to_str(MENU_LABEL_VALUE_RGUI_BROWSER_DIRECTORY),
|
||||
"",
|
||||
@ -6892,8 +6892,8 @@ static bool setting_append_list(
|
||||
|
||||
CONFIG_DIR(
|
||||
list, list_info,
|
||||
settings->menu_config_directory,
|
||||
sizeof(settings->menu_config_directory),
|
||||
settings->directory.menu_config,
|
||||
sizeof(settings->directory.menu_config),
|
||||
menu_hash_to_str(MENU_LABEL_RGUI_CONFIG_DIRECTORY),
|
||||
menu_hash_to_str(MENU_LABEL_VALUE_RGUI_CONFIG_DIRECTORY),
|
||||
"",
|
||||
@ -6911,8 +6911,8 @@ static bool setting_append_list(
|
||||
|
||||
CONFIG_DIR(
|
||||
list, list_info,
|
||||
settings->libretro_directory,
|
||||
sizeof(settings->libretro_directory),
|
||||
settings->directory.libretro,
|
||||
sizeof(settings->directory.libretro),
|
||||
menu_hash_to_str(MENU_LABEL_LIBRETRO_DIR_PATH),
|
||||
menu_hash_to_str(MENU_LABEL_VALUE_LIBRETRO_DIR_PATH),
|
||||
g_defaults.dir.core,
|
||||
@ -6968,8 +6968,8 @@ static bool setting_append_list(
|
||||
|
||||
CONFIG_DIR(
|
||||
list, list_info,
|
||||
settings->cursor_directory,
|
||||
sizeof(settings->cursor_directory),
|
||||
settings->directory.cursor,
|
||||
sizeof(settings->directory.cursor),
|
||||
menu_hash_to_str(MENU_LABEL_CURSOR_DIRECTORY),
|
||||
menu_hash_to_str(MENU_LABEL_VALUE_CURSOR_DIRECTORY),
|
||||
"",
|
||||
@ -7098,8 +7098,8 @@ static bool setting_append_list(
|
||||
#ifdef HAVE_OVERLAY
|
||||
CONFIG_DIR(
|
||||
list, list_info,
|
||||
settings->overlay_directory,
|
||||
sizeof(settings->overlay_directory),
|
||||
settings->directory.overlay,
|
||||
sizeof(settings->directory.overlay),
|
||||
menu_hash_to_str(MENU_LABEL_OVERLAY_DIRECTORY),
|
||||
menu_hash_to_str(MENU_LABEL_VALUE_OVERLAY_DIRECTORY),
|
||||
g_defaults.dir.overlay,
|
||||
@ -7135,8 +7135,8 @@ static bool setting_append_list(
|
||||
|
||||
CONFIG_DIR(
|
||||
list, list_info,
|
||||
settings->screenshot_directory,
|
||||
sizeof(settings->screenshot_directory),
|
||||
settings->directory.screenshot,
|
||||
sizeof(settings->directory.screenshot),
|
||||
menu_hash_to_str(MENU_LABEL_SCREENSHOT_DIRECTORY),
|
||||
menu_hash_to_str(MENU_LABEL_VALUE_SCREENSHOT_DIRECTORY),
|
||||
"",
|
||||
@ -7171,8 +7171,8 @@ static bool setting_append_list(
|
||||
|
||||
CONFIG_DIR(
|
||||
list, list_info,
|
||||
settings->input_remapping_directory,
|
||||
sizeof(settings->input_remapping_directory),
|
||||
settings->directory.input_remapping,
|
||||
sizeof(settings->directory.input_remapping),
|
||||
menu_hash_to_str(MENU_LABEL_INPUT_REMAPPING_DIRECTORY),
|
||||
menu_hash_to_str(MENU_LABEL_VALUE_INPUT_REMAPPING_DIRECTORY),
|
||||
"",
|
||||
@ -7189,8 +7189,8 @@ static bool setting_append_list(
|
||||
|
||||
CONFIG_DIR(
|
||||
list, list_info,
|
||||
settings->playlist_directory,
|
||||
sizeof(settings->playlist_directory),
|
||||
settings->directory.playlist,
|
||||
sizeof(settings->directory.playlist),
|
||||
menu_hash_to_str(MENU_LABEL_PLAYLIST_DIRECTORY),
|
||||
menu_hash_to_str(MENU_LABEL_VALUE_PLAYLIST_DIRECTORY),
|
||||
"",
|
||||
@ -7243,8 +7243,8 @@ static bool setting_append_list(
|
||||
|
||||
CONFIG_DIR(
|
||||
list, list_info,
|
||||
settings->cache_directory,
|
||||
sizeof(settings->cache_directory),
|
||||
settings->directory.cache,
|
||||
sizeof(settings->directory.cache),
|
||||
menu_hash_to_str(MENU_LABEL_CACHE_DIRECTORY),
|
||||
menu_hash_to_str(MENU_LABEL_VALUE_CACHE_DIRECTORY),
|
||||
"",
|
||||
|
@ -115,7 +115,7 @@ void menu_shader_manager_init(menu_handle_t *menu)
|
||||
{
|
||||
char preset_path[PATH_MAX_LENGTH];
|
||||
const char *shader_dir = *settings->video.shader_dir ?
|
||||
settings->video.shader_dir : settings->system_directory;
|
||||
settings->video.shader_dir : settings->directory.system;
|
||||
|
||||
fill_pathname_join(preset_path, shader_dir,
|
||||
"menu.glslp", sizeof(preset_path));
|
||||
@ -214,8 +214,9 @@ void menu_shader_manager_save_preset(
|
||||
const char *basename, bool apply)
|
||||
{
|
||||
#ifdef HAVE_SHADER_MANAGER
|
||||
char buffer[PATH_MAX_LENGTH], config_directory[PATH_MAX_LENGTH],
|
||||
preset_path[PATH_MAX_LENGTH];
|
||||
char buffer[PATH_MAX_LENGTH];
|
||||
char config_directory[PATH_MAX_LENGTH];
|
||||
char preset_path[PATH_MAX_LENGTH];
|
||||
unsigned d, type = RARCH_SHADER_NONE;
|
||||
const char *dirs[3] = {0};
|
||||
config_file_t *conf = NULL;
|
||||
@ -290,11 +291,13 @@ void menu_shader_manager_save_preset(
|
||||
}
|
||||
|
||||
if (*global->path.config)
|
||||
fill_pathname_basedir(config_directory,
|
||||
global->path.config, sizeof(config_directory));
|
||||
fill_pathname_basedir(
|
||||
config_directory,
|
||||
global->path.config,
|
||||
sizeof(config_directory));
|
||||
|
||||
dirs[0] = settings->video.shader_dir;
|
||||
dirs[1] = settings->menu_config_directory;
|
||||
dirs[1] = settings->directory.menu_config;
|
||||
dirs[2] = config_directory;
|
||||
|
||||
if (!(conf = (config_file_t*)config_file_new(NULL)))
|
||||
|
10
retroarch.c
10
retroarch.c
@ -380,7 +380,7 @@ static void set_special_paths(char **argv, unsigned num_content)
|
||||
/* If this is already set,
|
||||
* do not overwrite it as this was initialized before in
|
||||
* a menu or otherwise. */
|
||||
if (!string_is_empty(settings->system_directory))
|
||||
if (!string_is_empty(settings->directory.system))
|
||||
return;
|
||||
|
||||
RARCH_WARN("SYSTEM DIR is empty, assume CONTENT DIR %s\n",argv[0]);
|
||||
@ -822,8 +822,8 @@ static void parse_input(int argc, char *argv[])
|
||||
if (path_is_directory(optarg))
|
||||
{
|
||||
*settings->libretro = '\0';
|
||||
strlcpy(settings->libretro_directory, optarg,
|
||||
sizeof(settings->libretro_directory));
|
||||
strlcpy(settings->directory.libretro, optarg,
|
||||
sizeof(settings->directory.libretro));
|
||||
global->has_set.libretro = true;
|
||||
global->has_set.libretro_directory = true;
|
||||
RARCH_WARN("Using old --libretro behavior. "
|
||||
@ -1188,9 +1188,9 @@ bool rarch_game_options_validate(char *s, size_t len, bool mkdir)
|
||||
/* Config directory: config_directory.
|
||||
* Try config directory setting first,
|
||||
* fallback to the location of the current configuration file. */
|
||||
if (!string_is_empty(settings->menu_config_directory))
|
||||
if (!string_is_empty(settings->directory.menu_config))
|
||||
strlcpy(config_directory,
|
||||
settings->menu_config_directory, sizeof(config_directory));
|
||||
settings->directory.menu_config, sizeof(config_directory));
|
||||
else if (!string_is_empty(global->path.config))
|
||||
fill_pathname_basedir(config_directory,
|
||||
global->path.config, sizeof(config_directory));
|
||||
|
10
screenshot.c
10
screenshot.c
@ -165,9 +165,9 @@ static bool take_screenshot_viewport(void)
|
||||
if (!video_driver_ctl(RARCH_DISPLAY_CTL_READ_VIEWPORT, buffer))
|
||||
goto done;
|
||||
|
||||
screenshot_dir = settings->screenshot_directory;
|
||||
screenshot_dir = settings->directory.screenshot;
|
||||
|
||||
if (!*settings->screenshot_directory)
|
||||
if (!*settings->directory.screenshot)
|
||||
{
|
||||
fill_pathname_basedir(screenshot_path, global->name.base,
|
||||
sizeof(screenshot_path));
|
||||
@ -199,9 +199,9 @@ static bool take_screenshot_raw(void)
|
||||
|
||||
video_driver_cached_frame_get(&data, &width, &height, &pitch);
|
||||
|
||||
screenshot_dir = settings->screenshot_directory;
|
||||
screenshot_dir = settings->directory.screenshot;
|
||||
|
||||
if (!*settings->screenshot_directory)
|
||||
if (!*settings->directory.screenshot)
|
||||
{
|
||||
fill_pathname_basedir(screenshot_path, global->name.base,
|
||||
sizeof(screenshot_path));
|
||||
@ -222,7 +222,7 @@ static bool take_screenshot_choice(void)
|
||||
settings_t *settings = config_get_ptr();
|
||||
|
||||
/* No way to infer screenshot directory. */
|
||||
if ((!*settings->screenshot_directory) && (!*global->name.base))
|
||||
if ((!*settings->directory.screenshot) && (!*global->name.base))
|
||||
return false;
|
||||
|
||||
if (video_driver_ctl(RARCH_DISPLAY_CTL_SUPPORTS_VIEWPORT_READ, NULL))
|
||||
|
@ -302,7 +302,7 @@ static int database_info_list_iterate_found_match(
|
||||
path_remove_extension(db_playlist_base_str);
|
||||
|
||||
strlcat(db_playlist_base_str, ".lpl", sizeof(db_playlist_base_str));
|
||||
fill_pathname_join(db_playlist_path, settings->playlist_directory,
|
||||
fill_pathname_join(db_playlist_path, settings->directory.playlist,
|
||||
db_playlist_base_str, sizeof(db_playlist_path));
|
||||
|
||||
playlist = content_playlist_init(db_playlist_path, COLLECTION_SIZE);
|
||||
|
Loading…
x
Reference in New Issue
Block a user