mirror of
https://github.com/libretro/RetroArch
synced 2025-02-06 18:40:49 +00:00
Refactor MENU_LIBRETRO_DIR_PATH
This commit is contained in:
parent
7db4cd56b7
commit
dc573bdba3
@ -410,7 +410,8 @@ static void menu_common_entries_init(menu_handle_t *menu, unsigned menu_type)
|
||||
if ((current_setting = (rarch_setting_t*)setting_data_find_setting(setting_data, "assets_directory")))
|
||||
file_list_push(menu->selection_buf, current_setting->short_description, MENU_ASSETS_DIR_PATH, 0);
|
||||
file_list_push(menu->selection_buf, "Config Directory", MENU_CONFIG_DIR_PATH, 0);
|
||||
file_list_push(menu->selection_buf, "Core Directory", MENU_LIBRETRO_DIR_PATH, 0);
|
||||
if ((current_setting = (rarch_setting_t*)setting_data_find_setting(setting_data, "libretro_dir_path")))
|
||||
file_list_push(menu->selection_buf, current_setting->short_description, MENU_LIBRETRO_DIR_PATH, 0);
|
||||
if ((current_setting = (rarch_setting_t*)setting_data_find_setting(setting_data, "libretro_info_path")))
|
||||
file_list_push(menu->selection_buf, current_setting->short_description, MENU_LIBRETRO_INFO_DIR_PATH, 0);
|
||||
|
||||
@ -2606,7 +2607,8 @@ static int menu_common_iterate(unsigned action)
|
||||
}
|
||||
else if (menu_type == MENU_LIBRETRO_DIR_PATH)
|
||||
{
|
||||
strlcpy(g_settings.libretro_directory, dir, sizeof(g_settings.libretro_directory));
|
||||
if ((current_setting = (rarch_setting_t*)setting_data_find_setting(setting_data, "libretro_dir_path")))
|
||||
menu_common_setting_set_current_string_dir(current_setting, dir);
|
||||
|
||||
if (driver.menu_ctx && driver.menu_ctx->init_core_info)
|
||||
driver.menu_ctx->init_core_info(driver.menu);
|
||||
|
@ -964,6 +964,8 @@ static void general_read_handler(const void *data)
|
||||
strlcpy(setting->value.string, g_settings.libretro, setting->size);
|
||||
else if (!strcmp(setting->name, "libretro_info_path"))
|
||||
strlcpy(setting->value.string, g_settings.libretro_info_path, setting->size);
|
||||
else if (!strcmp(setting->name, "libretro_dir_path"))
|
||||
strlcpy(setting->value.string, g_settings.libretro_directory, setting->size);
|
||||
else if (!strcmp(setting->name, "core_options_path"))
|
||||
strlcpy(setting->value.string, g_settings.core_options_path, setting->size);
|
||||
else if (!strcmp(setting->name, "cheat_database_path"))
|
||||
@ -1024,6 +1026,7 @@ static void general_write_handler(const void *data)
|
||||
bool has_set_overlay_init = false;
|
||||
bool has_set_overlay_free = false;
|
||||
bool has_set_dsp_init = false;
|
||||
bool has_set_libretro_dir = false;
|
||||
const rarch_setting_t *setting = (const rarch_setting_t*)data;
|
||||
|
||||
if (!setting)
|
||||
@ -1310,6 +1313,8 @@ static void general_write_handler(const void *data)
|
||||
strlcpy(g_settings.libretro, setting->value.string, sizeof(g_settings.libretro));
|
||||
else if (!strcmp(setting->name, "libretro_info_path"))
|
||||
strlcpy(g_settings.libretro_info_path, setting->value.string, sizeof(g_settings.libretro_info_path));
|
||||
else if (!strcmp(setting->name, "libretro_dir_path"))
|
||||
strlcpy(g_settings.libretro_directory, setting->value.string, sizeof(g_settings.libretro_directory));
|
||||
else if (!strcmp(setting->name, "core_options_path"))
|
||||
strlcpy(g_settings.core_options_path, setting->value.string, sizeof(g_settings.core_options_path));
|
||||
else if (!strcmp(setting->name, "cheat_database_path"))
|
||||
@ -1386,6 +1391,13 @@ static void general_write_handler(const void *data)
|
||||
rarch_main_command(RARCH_CMD_OVERLAY_INIT);
|
||||
if (has_set_dsp_init)
|
||||
rarch_main_command(RARCH_CMD_DSP_FILTER_INIT);
|
||||
if (has_set_libretro_dir)
|
||||
{
|
||||
#ifdef HAVE_MENU
|
||||
if (driver.menu_ctx && driver.menu_ctx->init_core_info)
|
||||
driver.menu_ctx->init_core_info(driver.menu);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
#define NEXT (list[index++])
|
||||
@ -1729,6 +1741,7 @@ rarch_setting_t* setting_data_get_list(void)
|
||||
|
||||
#endif
|
||||
CONFIG_PATH(g_settings.libretro, "libretro_path", "Libretro Path", "", GROUP_NAME, SUBGROUP_NAME, general_write_handler, general_read_handler) WITH_FLAGS(SD_FLAG_ALLOW_EMPTY)
|
||||
CONFIG_PATH(g_settings.libretro_directory, "libretro_dir_path", "Core Directory", g_defaults.core_dir ? g_defaults.core_dir : "", GROUP_NAME, SUBGROUP_NAME, general_write_handler, general_read_handler) WITH_FLAGS(SD_FLAG_ALLOW_EMPTY | SD_FLAG_PATH_DIR)
|
||||
CONFIG_PATH(g_settings.libretro_info_path, "libretro_info_path", "Core Info Directory", g_defaults.core_info_dir ? g_defaults.core_info_dir : "", GROUP_NAME, SUBGROUP_NAME, general_write_handler, general_read_handler) WITH_FLAGS(SD_FLAG_ALLOW_EMPTY | SD_FLAG_PATH_DIR)
|
||||
CONFIG_PATH(g_settings.core_options_path, "core_options_path", "Core Options Path", "", "Paths", SUBGROUP_NAME, general_write_handler, general_read_handler) WITH_FLAGS(SD_FLAG_ALLOW_EMPTY)
|
||||
CONFIG_PATH(g_settings.cheat_database, "cheat_database_path", "Cheat Database", "", "Paths", SUBGROUP_NAME, general_write_handler, general_read_handler) WITH_FLAGS(SD_FLAG_ALLOW_EMPTY)
|
||||
|
Loading…
x
Reference in New Issue
Block a user