(Settings data) Cleanup string settings

This commit is contained in:
twinaphex 2014-07-26 05:51:45 +02:00
parent fb48f513d7
commit 7dff082477
2 changed files with 33 additions and 29 deletions

View File

@ -371,7 +371,8 @@ static void menu_common_entries_init(void *data, unsigned menu_type)
break;
case MENU_SETTINGS_OVERLAY_OPTIONS:
file_list_clear(menu->selection_buf);
file_list_push(menu->selection_buf, "Overlay Preset", MENU_SETTINGS_OVERLAY_PRESET, 0);
if ((current_setting = (rarch_setting_t*)setting_data_find_setting(setting_data, "input_overlay")))
file_list_push(menu->selection_buf, current_setting->short_description, MENU_SETTINGS_OVERLAY_PRESET, 0);
if ((current_setting = (rarch_setting_t*)setting_data_find_setting(setting_data, "input_overlay_opacity")))
file_list_push(menu->selection_buf, current_setting->short_description, MENU_SETTINGS_OVERLAY_OPACITY, 0);
if ((current_setting = setting_data_find_setting(setting_data, "input_overlay_scale")))
@ -2311,6 +2312,7 @@ static void menu_common_defer_decision_manual(void)
static int menu_common_iterate(unsigned action)
{
rarch_setting_t *setting_data, *current_setting;
int ret = 0;
const char *dir = 0;
unsigned menu_type = 0;
@ -2321,6 +2323,8 @@ static int menu_common_iterate(unsigned action)
return 0;
}
setting_data = (rarch_setting_t *)setting_data_get_list();
file_list_get_last(driver.menu->menu_stack, &dir, &menu_type);
if (driver.video_data && driver.menu_ctx && driver.menu_ctx->set_texture)
@ -2516,13 +2520,13 @@ static int menu_common_iterate(unsigned action)
#ifdef HAVE_OVERLAY
else if (menu_type == MENU_SETTINGS_OVERLAY_PRESET)
{
fill_pathname_join(g_settings.input.overlay, dir, path, sizeof(g_settings.input.overlay));
if ((current_setting = (rarch_setting_t*)setting_data_find_setting(setting_data, "input_overlay")))
{
fill_pathname_join(current_setting->value.string, dir, path, current_setting->size);
if (driver.overlay)
input_overlay_free(driver.overlay);
driver.overlay = input_overlay_new(g_settings.input.overlay);
if (!driver.overlay)
RARCH_ERR("Failed to load overlay.\n");
if (current_setting->change_handler)
current_setting->change_handler(current_setting);
}
menu_flush_stack_type(MENU_SETTINGS_OPTIONS);
}

View File

@ -460,7 +460,7 @@ static void general_read_handler(const void *data)
else if (!strcmp(setting->name, "video_black_frame_insertion"))
*setting->value.boolean = g_settings.video.black_frame_insertion;
else if (!strcmp(setting->name, "video_font_path"))
strlcpy(setting->value.string, g_settings.video.font_path, sizeof(setting->value.string));
strlcpy(setting->value.string, g_settings.video.font_path, setting->size);
else if (!strcmp(setting->name, "video_font_size"))
*setting->value.fraction = g_settings.video.font_size;
#ifdef HAVE_OVERLAY
@ -476,7 +476,7 @@ static void general_read_handler(const void *data)
else if (!strcmp(setting->name, "audio_volume"))
*setting->value.fraction = g_extern.audio_data.volume_db;
else if (!strcmp(setting->name, "audio_device"))
strlcpy(setting->value.string, g_settings.audio.device, sizeof(setting->value.string));
strlcpy(setting->value.string, g_settings.audio.device, setting->size);
else if (!strcmp(setting->name, "audio_block_frames"))
*setting->value.unsigned_integer = g_settings.audio.block_frames;
else if (!strcmp(setting->name, "audio_latency"))
@ -484,7 +484,7 @@ static void general_read_handler(const void *data)
else if (!strcmp(setting->name, "audio_dsp_plugin"))
{
#ifdef HAVE_DYLIB
strlcpy(setting->value.string, g_settings.audio.dsp_plugin, sizeof(setting->value.string));
strlcpy(setting->value.string, g_settings.audio.dsp_plugin, setting->size);
#endif
}
else if (!strcmp(setting->name, "state_slot"))
@ -535,7 +535,7 @@ static void general_read_handler(const void *data)
#endif
#ifdef HAVE_OVERLAY
else if (!strcmp(setting->name, "input_overlay"))
strlcpy(setting->value.string, g_settings.input.overlay, sizeof(setting->value.string));
strlcpy(setting->value.string, g_settings.input.overlay, setting->size);
else if (!strcmp(setting->name, "input_overlay_scale"))
*setting->value.fraction = g_settings.input.overlay_scale;
#endif
@ -573,20 +573,20 @@ static void general_read_handler(const void *data)
*setting->value.boolean = g_settings.video.gpu_record;
#ifdef HAVE_OVERLAY
else if (!strcmp(setting->name, "overlay_directory"))
strlcpy(setting->value.string, g_extern.overlay_dir, sizeof(setting->value.string));
strlcpy(setting->value.string, g_extern.overlay_dir, setting->size);
#endif
else if (!strcmp(setting->name, "joypad_autoconfig_dir"))
strlcpy(setting->value.string, g_settings.input.autoconfig_dir, sizeof(setting->value.string));
strlcpy(setting->value.string, g_settings.input.autoconfig_dir, setting->size);
else if (!strcmp(setting->name, "screenshot_directory"))
strlcpy(setting->value.string, g_settings.screenshot_directory, sizeof(setting->value.string));
strlcpy(setting->value.string, g_settings.screenshot_directory, setting->size);
else if (!strcmp(setting->name, "savefile_directory"))
strlcpy(setting->value.string, g_extern.savefile_dir, sizeof(setting->value.string));
strlcpy(setting->value.string, g_extern.savefile_dir, setting->size);
else if (!strcmp(setting->name, "savestate_directory"))
strlcpy(setting->value.string, g_extern.savestate_dir, sizeof(setting->value.string));
strlcpy(setting->value.string, g_extern.savestate_dir, setting->size);
else if (!strcmp(setting->name, "system_directory"))
strlcpy(setting->value.string, g_settings.system_directory, sizeof(setting->value.string));
strlcpy(setting->value.string, g_settings.system_directory, setting->size);
else if (!strcmp(setting->name, "extraction_directory"))
strlcpy(setting->value.string, g_settings.extraction_directory, sizeof(setting->value.string));
strlcpy(setting->value.string, g_settings.extraction_directory, setting->size);
else if (!strcmp(setting->name, "input_player1_joypad_index"))
*setting->value.integer = g_settings.input.joypad_map[0];
else if (!strcmp(setting->name, "input_player2_joypad_index"))
@ -603,30 +603,30 @@ static void general_read_handler(const void *data)
*setting->value.unsigned_integer = g_settings.game_history_size;
#ifdef HAVE_MENU
else if (!strcmp(setting->name, "rgui_browser_directory"))
strlcpy(setting->value.string, g_settings.menu_content_directory, sizeof(setting->value.string));
strlcpy(setting->value.string, g_settings.menu_content_directory, setting->size);
else if (!strcmp(setting->name, "assets_directory"))
strlcpy(setting->value.string, g_settings.assets_directory, sizeof(setting->value.string));
strlcpy(setting->value.string, g_settings.assets_directory, setting->size);
else if (!strcmp(setting->name, "rgui_config_directory"))
strlcpy(setting->value.string, g_settings.menu_config_directory, sizeof(setting->value.string));
strlcpy(setting->value.string, g_settings.menu_config_directory, setting->size);
#endif
else if (!strcmp(setting->name, "libretro_path"))
strlcpy(setting->value.string, g_settings.libretro, sizeof(setting->value.string));
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, sizeof(setting->value.string));
strlcpy(setting->value.string, g_settings.libretro_info_path, setting->size);
else if (!strcmp(setting->name, "core_options_path"))
strlcpy(setting->value.string, g_settings.core_options_path, sizeof(setting->value.string));
strlcpy(setting->value.string, g_settings.core_options_path, setting->size);
else if (!strcmp(setting->name, "cheat_database_path"))
strlcpy(setting->value.string, g_settings.cheat_database, sizeof(setting->value.string));
strlcpy(setting->value.string, g_settings.cheat_database, setting->size);
else if (!strcmp(setting->name, "cheat_settings_path"))
strlcpy(setting->value.string, g_settings.cheat_settings_path, sizeof(setting->value.string));
strlcpy(setting->value.string, g_settings.cheat_settings_path, setting->size);
else if (!strcmp(setting->name, "game_history_path"))
strlcpy(setting->value.string, g_settings.game_history_path, sizeof(setting->value.string));
strlcpy(setting->value.string, g_settings.game_history_path, setting->size);
else if (!strcmp(setting->name, "video_shader_dir"))
strlcpy(setting->value.string, g_settings.video.filter_dir, sizeof(setting->value.string));
strlcpy(setting->value.string, g_settings.video.filter_dir, setting->size);
else if (!strcmp(setting->name, "video_aspect_ratio_auto"))
*setting->value.boolean = g_settings.video.aspect_ratio_auto;
else if (!strcmp(setting->name, "video_filter"))
strlcpy(setting->value.string, g_settings.video.filter_path, sizeof(setting->value.string));
strlcpy(setting->value.string, g_settings.video.filter_path, setting->size);
#ifdef HAVE_CAMERA
else if (!strcmp(setting->name, "camera_allow"))
*setting->value.boolean = g_settings.camera.allow;