(settings_data.c) WITH_CMD and WITH_VALUES are now static functions

This commit is contained in:
twinaphex 2014-10-06 21:45:50 +02:00
parent 4241ab17f4
commit 70d8fe634e

View File

@ -2166,6 +2166,22 @@ static void data_list_current_add_range(
data_list_current_add_flags(list, list_info, SD_FLAG_HAS_RANGE);
}
static void data_list_current_add_values(
rarch_setting_t **list,
rarch_setting_info_t *list_info,
const char *values)
{
(*list)[list_info->index -1].values = values;
}
static void data_list_current_add_cmd(
rarch_setting_t **list,
rarch_setting_info_t *list_info,
unsigned values)
{
(*list)[list_info->index -1].cmd_trigger.idx = values;
}
#define START_GROUP(group_info, NAME) strlcpy(group_info.name, NAME, sizeof(group_info.name)); if (!(data_list_append(&list, list_info, setting_data_group_setting (ST_GROUP, NAME)))) goto error
#define END_GROUP(list, list_info) if (!(data_list_append(&list, list_info, setting_data_group_setting (ST_END_GROUP, 0)))) goto error
#define START_SUB_GROUP(list, list_info, NAME, group_info, subgroup_info) strlcpy(subgroup_info.name, NAME, sizeof(subgroup_info.name)); if (!(data_list_append(&list, list_info, setting_data_subgroup_setting (ST_SUB_GROUP, NAME, group_info)))) goto error
@ -2181,11 +2197,6 @@ static void data_list_current_add_range(
#define CONFIG_BIND(TARGET, PLAYER, NAME, SHORT, DEF, group_info, subgroup_info) if (!(data_list_append(&list, list_info, setting_data_bind_setting (NAME, SHORT, &TARGET, PLAYER, DEF, group_info, subgroup_info)))) goto error
#define WITH_VALUES(list, list_info, VALUES) (list[list_info->index -1]).values = VALUES;
#define WITH_CMD(list, list_info, VALUES) (list[list_info->index -1]).cmd_trigger.idx = VALUES;
#ifdef GEKKO
#define MAX_GAMMA_SETTING 2
#else
@ -2266,36 +2277,36 @@ rarch_setting_t *setting_data_get_mainmenu(bool regenerate)
if (g_extern.main_is_init && !g_extern.libretro_dummy)
{
CONFIG_BOOL(lists[9], "savestate", "Save State", false, "", "", group_info.name, subgroup_info.name, general_write_handler, general_read_handler);
WITH_CMD(list, list_info, RARCH_CMD_SAVE_STATE);
data_list_current_add_cmd (&list, list_info, RARCH_CMD_SAVE_STATE);
data_list_current_add_flags(&list, list_info, SD_FLAG_EXIT);
CONFIG_BOOL(lists[10], "loadstate", "Load State", false, "", "", group_info.name, subgroup_info.name, general_write_handler, general_read_handler);
WITH_CMD(list, list_info, RARCH_CMD_LOAD_STATE);
data_list_current_add_cmd (&list, list_info, RARCH_CMD_LOAD_STATE);
data_list_current_add_flags(&list, list_info, SD_FLAG_EXIT);
CONFIG_BOOL(lists[11], "take_screenshot", "Take Screenshot", false, "", "", group_info.name, subgroup_info.name, general_write_handler, general_read_handler);
WITH_CMD(list, list_info, RARCH_CMD_TAKE_SCREENSHOT);
data_list_current_add_cmd (&list, list_info, RARCH_CMD_TAKE_SCREENSHOT);
data_list_current_add_flags(&list, list_info, SD_FLAG_PUSH_ACTION);
CONFIG_BOOL(lists[12], "resume_content", "Resume Content", false, "", "", group_info.name, subgroup_info.name, general_write_handler, general_read_handler);
WITH_CMD(list, list_info, RARCH_CMD_RESUME);
data_list_current_add_cmd (&list, list_info, RARCH_CMD_RESUME);
data_list_current_add_flags(&list, list_info, SD_FLAG_PUSH_ACTION);
data_list_current_add_flags(&list, list_info, SD_FLAG_EXIT);
CONFIG_BOOL(lists[13], "restart_content", "Restart Content", false, "", "", group_info.name, subgroup_info.name, general_write_handler, general_read_handler);
WITH_CMD(list, list_info, RARCH_CMD_RESET);
data_list_current_add_cmd(&list, list_info, RARCH_CMD_RESET);
data_list_current_add_flags(&list, list_info, SD_FLAG_PUSH_ACTION);
data_list_current_add_flags(&list, list_info, SD_FLAG_EXIT);
}
#ifndef HAVE_DYNAMIC
CONFIG_BOOL(lists[14], "restart_retroarch", "Restart RetroArch", false, "", "",group_info.name, subgroup_info.name, general_write_handler, general_read_handler);
WITH_CMD(list, list_info, RARCH_CMD_RESTART_RETROARCH);
data_list_current_add_cmd(&list, list_info, RARCH_CMD_RESTART_RETROARCH);
data_list_current_add_flags(&list, list_info, SD_FLAG_PUSH_ACTION);
#endif
CONFIG_BOOL(lists[15], "configurations", "Configurations", false, "", "",group_info.name, subgroup_info.name, general_write_handler, general_read_handler);
CONFIG_BOOL(lists[16], "save_new_config", "Save New Config", false, "", "",group_info.name, subgroup_info.name, general_write_handler, general_read_handler);
WITH_CMD(list, list_info, RARCH_CMD_MENU_SAVE_CONFIG);
data_list_current_add_cmd(&list, list_info, RARCH_CMD_MENU_SAVE_CONFIG);
data_list_current_add_flags(&list, list_info, SD_FLAG_PUSH_ACTION);
CONFIG_BOOL(lists[17], "help", "Help", false, "", "",group_info.name, subgroup_info.name, general_write_handler, general_read_handler);
data_list_current_add_flags(&list, list_info, SD_FLAG_PUSH_ACTION);
CONFIG_BOOL(lists[18], "quit_retroarch", "Quit RetroArch", false, "", "",group_info.name, subgroup_info.name, general_write_handler, general_read_handler);
WITH_CMD(list, list_info, RARCH_CMD_QUIT_RETROARCH);
data_list_current_add_cmd(&list, list_info, RARCH_CMD_QUIT_RETROARCH);
data_list_current_add_flags(&list, list_info, SD_FLAG_PUSH_ACTION);
END_SUB_GROUP(list, list_info);
END_GROUP(list, list_info);
@ -2398,7 +2409,7 @@ rarch_setting_t *setting_data_get_list(void)
CONFIG_BOOL(g_settings.load_dummy_on_core_shutdown, "dummy_on_core_shutdown", "Dummy On Core Shutdown", load_dummy_on_core_shutdown, "OFF", "ON", group_info.name, subgroup_info.name, general_write_handler, general_read_handler);
CONFIG_BOOL(g_settings.fps_show, "fps_show", "Show Framerate", fps_show, "OFF", "ON", group_info.name, subgroup_info.name, general_write_handler, general_read_handler);
CONFIG_BOOL(g_settings.rewind_enable, "rewind_enable", "Rewind", rewind_enable, "OFF", "ON", group_info.name, subgroup_info.name, general_write_handler, general_read_handler);
WITH_CMD(list, list_info, RARCH_CMD_REWIND_TOGGLE);
data_list_current_add_cmd(&list, list_info, RARCH_CMD_REWIND_TOGGLE);
data_list_current_add_flags(&list, list_info, SD_FLAG_CMD_APPLY_AUTO);
#if 0
CONFIG_SIZE(g_settings.rewind_buffer_size, "rewind_buffer_size", "Rewind Buffer Size", rewind_buffer_size, group_info.name, subgroup_info.name, general_write_handler, general_read_handler)
@ -2408,12 +2419,12 @@ rarch_setting_t *setting_data_get_list(void)
CONFIG_BOOL(g_settings.block_sram_overwrite, "block_sram_overwrite", "SRAM Block overwrite", block_sram_overwrite, "OFF", "ON", group_info.name, subgroup_info.name, general_write_handler, general_read_handler);;
#ifdef HAVE_THREADS
CONFIG_UINT(g_settings.autosave_interval, "autosave_interval", "SRAM Autosave", autosave_interval, group_info.name, subgroup_info.name, general_write_handler, general_read_handler);
WITH_CMD(list, list_info, RARCH_CMD_AUTOSAVE_INIT);
data_list_current_add_cmd(&list, list_info, RARCH_CMD_AUTOSAVE_INIT);
data_list_current_add_range(&list, list_info, 0, 0, 10, true, false);
data_list_current_add_flags(&list, list_info, SD_FLAG_CMD_APPLY_AUTO);
#endif
CONFIG_BOOL(g_settings.video.disable_composition, "video_disable_composition", "Window Compositing Disable", disable_composition, "OFF", "ON", group_info.name, subgroup_info.name, general_write_handler, general_read_handler);
WITH_CMD(list, list_info, RARCH_CMD_REINIT);
data_list_current_add_cmd(&list, list_info, RARCH_CMD_REINIT);
data_list_current_add_flags(&list, list_info, SD_FLAG_CMD_APPLY_AUTO);
CONFIG_BOOL(g_settings.pause_nonactive, "pause_nonactive", "Window Unfocus Pause", pause_nonactive, "OFF", "ON", group_info.name, subgroup_info.name, general_write_handler, general_read_handler);
CONFIG_BOOL(g_settings.fastforward_ratio_throttle_enable, "fastforward_ratio_throttle_enable", "Limit Maximum Run Speed", fastforward_ratio_throttle_enable, "OFF", "ON", group_info.name, subgroup_info.name, general_write_handler, general_read_handler);
@ -2443,11 +2454,11 @@ rarch_setting_t *setting_data_get_list(void)
END_SUB_GROUP(list, list_info);
START_SUB_GROUP(list, list_info, "Monitor", group_info.name, subgroup_info);
CONFIG_UINT(g_settings.video.monitor_index, "video_monitor_index", "Monitor Index", monitor_index, group_info.name, subgroup_info.name, general_write_handler, general_read_handler);
WITH_CMD(list, list_info, RARCH_CMD_REINIT);
data_list_current_add_cmd(&list, list_info, RARCH_CMD_REINIT);
data_list_current_add_range(&list, list_info, 0, 1, 1, true, false);
#if !defined(RARCH_CONSOLE) && !defined(RARCH_MOBILE)
CONFIG_BOOL(g_settings.video.fullscreen, "video_fullscreen", "Use Fullscreen mode", fullscreen, "OFF", "ON", group_info.name, subgroup_info.name, general_write_handler, general_read_handler);
WITH_CMD(list, list_info, RARCH_CMD_REINIT);
data_list_current_add_cmd(&list, list_info, RARCH_CMD_REINIT);
data_list_current_add_flags(&list, list_info, SD_FLAG_CMD_APPLY_AUTO);
#endif
CONFIG_BOOL(g_settings.video.windowed_fullscreen, "video_windowed_fullscreen", "Windowed Fullscreen Mode", windowed_fullscreen, "OFF", "ON", group_info.name, subgroup_info.name, general_write_handler, general_read_handler);
@ -2457,7 +2468,7 @@ rarch_setting_t *setting_data_get_list(void)
data_list_current_add_range(&list, list_info, 0, 0, 0.001, true, false);
CONFIG_FLOAT(g_settings.video.refresh_rate, "video_refresh_rate_auto", "Estimated Monitor FPS", refresh_rate, "%.3f Hz", group_info.name, subgroup_info.name, general_write_handler, general_read_handler);
CONFIG_BOOL(g_settings.video.force_srgb_disable, "video_force_srgb_disable", "Force-disable sRGB FBO", false, "OFF", "ON", group_info.name, subgroup_info.name, general_write_handler, general_read_handler);
WITH_CMD(list, list_info, RARCH_CMD_REINIT);
data_list_current_add_cmd(&list, list_info, RARCH_CMD_REINIT);
data_list_current_add_flags(&list, list_info, SD_FLAG_CMD_APPLY_AUTO);
END_SUB_GROUP(list, list_info);
@ -2466,7 +2477,7 @@ rarch_setting_t *setting_data_get_list(void)
CONFIG_FLOAT(g_settings.video.aspect_ratio, "video_aspect_ratio", "Aspect Ratio", aspect_ratio, "%.2f", group_info.name, subgroup_info.name, general_write_handler, general_read_handler);
CONFIG_BOOL(g_settings.video.aspect_ratio_auto, "video_aspect_ratio_auto", "Use Auto Aspect Ratio", aspect_ratio_auto, "OFF", "ON", group_info.name, subgroup_info.name, general_write_handler, general_read_handler);
CONFIG_UINT(g_settings.video.aspect_ratio_idx, "aspect_ratio_index", "Aspect Ratio Index", aspect_ratio_idx, group_info.name, subgroup_info.name, general_write_handler, general_read_handler);
WITH_CMD(list, list_info, RARCH_CMD_VIDEO_SET_ASPECT_RATIO);
data_list_current_add_cmd(&list, list_info, RARCH_CMD_VIDEO_SET_ASPECT_RATIO);
data_list_current_add_range(&list, list_info, 0, LAST_ASPECT_RATIO, 1, true, true);
data_list_current_add_flags(&list, list_info, SD_FLAG_CMD_APPLY_AUTO);
END_SUB_GROUP(list, list_info);
@ -2494,7 +2505,7 @@ rarch_setting_t *setting_data_get_list(void)
data_list_current_add_range(&list, list_info, 0, 3, 1, true, true);
#if defined(HW_RVL) || defined(_XBOX360)
CONFIG_UINT(g_extern.console.screen.gamma_correction, "video_gamma", "Gamma", 0, group_info.name, subgroup_info.name, general_write_handler, general_read_handler);
WITH_CMD(list, list_info, RARCH_CMD_VIDEO_APPLY_STATE_CHANGES)
data_list_current_add_cmd(&list, list_info, RARCH_CMD_VIDEO_APPLY_STATE_CHANGES)
data_list_current_add_range(&list, list_info, 0, MAX_GAMMA_SETTING, 1, true, true);
data_list_current_add_flags(&list, list_info, SD_FLAG_CMD_APPLY_AUTO);
#endif
@ -2503,12 +2514,12 @@ rarch_setting_t *setting_data_get_list(void)
START_SUB_GROUP(list, list_info, "Synchronization", group_info.name, subgroup_info);
#if defined(HAVE_THREADS) && !defined(RARCH_CONSOLE)
CONFIG_BOOL(g_settings.video.threaded, "video_threaded", "Threaded Video", video_threaded, "OFF", "ON", group_info.name, subgroup_info.name, general_write_handler, general_read_handler);
WITH_CMD(list, list_info, RARCH_CMD_REINIT);
data_list_current_add_cmd(&list, list_info, RARCH_CMD_REINIT);
data_list_current_add_flags(&list, list_info, SD_FLAG_CMD_APPLY_AUTO);
#endif
CONFIG_BOOL(g_settings.video.vsync, "video_vsync", "VSync", vsync, "OFF", "ON", group_info.name, subgroup_info.name, general_write_handler, general_read_handler);
CONFIG_UINT(g_settings.video.swap_interval, "video_swap_interval", "VSync Swap Interval", swap_interval, group_info.name, subgroup_info.name, general_write_handler, general_read_handler);
WITH_CMD(list, list_info, RARCH_CMD_VIDEO_SET_BLOCKING_STATE)
data_list_current_add_cmd(&list, list_info, RARCH_CMD_VIDEO_SET_BLOCKING_STATE);
data_list_current_add_range(&list, list_info, 1, 4, 1, true, true);
data_list_current_add_flags(&list, list_info, SD_FLAG_CMD_APPLY_AUTO);
CONFIG_BOOL(g_settings.video.hard_sync, "video_hard_sync", "Hard GPU Sync", hard_sync, "OFF", "ON", group_info.name, subgroup_info.name, general_write_handler, general_read_handler);
@ -2529,13 +2540,13 @@ rarch_setting_t *setting_data_get_list(void)
CONFIG_BOOL(g_settings.video.crop_overscan, "video_crop_overscan", "Crop Overscan (reload)", crop_overscan, "OFF", "ON", group_info.name, subgroup_info.name, general_write_handler, general_read_handler);
#ifndef HAVE_FILTERS_BUILTIN
CONFIG_PATH(g_settings.video.softfilter_plugin, "video_filter", "Software filter", g_settings.video.filter_dir, group_info.name, subgroup_info.name, general_write_handler, general_read_handler);
WITH_VALUES(list, list_info, "filt");
WITH_CMD(list, list_info, RARCH_CMD_REINIT);
data_list_current_add_values(&list, list_info, "filt");
data_list_current_add_cmd(&list, list_info, RARCH_CMD_REINIT);
data_list_current_add_flags(&list, list_info, SD_FLAG_ALLOW_EMPTY);
#endif
#if defined(_XBOX1) || defined(HW_RVL)
CONFIG_BOOL(g_extern.console.softfilter_enable, "soft_filter", "Soft Filter Enable", false, "OFF", "ON", group_info.name, subgroup_info.name, general_write_handler, general_read_handler);
WITH_CMD(list, list_info, RARCH_CMD_VIDEO_APPLY_STATE_CHANGES);
data_list_current_add_cmd(&list, list_info, RARCH_CMD_VIDEO_APPLY_STATE_CHANGES);
#endif
#ifdef _XBOX1
CONFIG_UINT(g_settings.video.swap_interval, "video_filter_flicker", "Flicker filter", 0, group_info.name, subgroup_info.name, general_write_handler, general_read_handler);
@ -2590,8 +2601,8 @@ rarch_setting_t *setting_data_get_list(void)
data_list_current_add_flags(&list, list_info, SD_FLAG_ALLOW_INPUT);
CONFIG_UINT(g_settings.audio.out_rate, "audio_out_rate", "Audio Output Rate", out_rate, group_info.name, subgroup_info.name, general_write_handler, general_read_handler);
CONFIG_PATH(g_settings.audio.dsp_plugin, "audio_dsp_plugin", "DSP Plugin", g_settings.audio.filter_dir, group_info.name, subgroup_info.name, general_write_handler, general_read_handler);
WITH_VALUES(list, list_info, "dsp");
WITH_CMD(list, list_info, RARCH_CMD_DSP_FILTER_INIT);
data_list_current_add_values(&list, list_info, "dsp");
data_list_current_add_cmd(&list, list_info, RARCH_CMD_DSP_FILTER_INIT);
data_list_current_add_flags(&list, list_info, SD_FLAG_ALLOW_EMPTY);
END_SUB_GROUP(list, list_info);
END_GROUP(list, list_info);
@ -2624,6 +2635,7 @@ rarch_setting_t *setting_data_get_list(void)
START_SUB_GROUP(list, list_info, "Meta Keys", group_info.name, subgroup_info);
for (i = 0; i != RARCH_BIND_LIST_END; i ++)
{
if (input_config_bind_map[i].meta)
{
const struct input_bind_map* bind = (const struct input_bind_map*)
@ -2632,6 +2644,7 @@ rarch_setting_t *setting_data_get_list(void)
bind->base, bind->desc, &retro_keybinds_1[i],
group_info.name, subgroup_info.name);
}
}
END_SUB_GROUP(list, list_info);
for (player = 0; player < MAX_PLAYERS; player ++)
@ -2669,15 +2682,15 @@ rarch_setting_t *setting_data_get_list(void)
START_GROUP(group_info, "Overlay Options");
START_SUB_GROUP(list, list_info, "State", group_info.name, subgroup_info);
CONFIG_PATH(g_settings.input.overlay, "input_overlay", "Overlay Preset", g_extern.overlay_dir, group_info.name, subgroup_info.name, general_write_handler, general_read_handler);
WITH_VALUES(list, list_info, "cfg");
WITH_CMD(list, list_info, RARCH_CMD_OVERLAY_INIT);
data_list_current_add_values(&list, list_info, "cfg");
data_list_current_add_cmd(&list, list_info, RARCH_CMD_OVERLAY_INIT);
data_list_current_add_flags(&list, list_info, SD_FLAG_ALLOW_EMPTY);
CONFIG_FLOAT(g_settings.input.overlay_opacity, "input_overlay_opacity", "Overlay Opacity", 0.7f, "%.2f", group_info.name, subgroup_info.name, general_write_handler, general_read_handler);
WITH_CMD(list, list_info, RARCH_CMD_OVERLAY_SET_ALPHA_MOD);
data_list_current_add_cmd(&list, list_info, RARCH_CMD_OVERLAY_SET_ALPHA_MOD);
data_list_current_add_range(&list, list_info, 0, 1, 0.01, true, true);
data_list_current_add_flags(&list, list_info, SD_FLAG_CMD_APPLY_AUTO);
CONFIG_FLOAT(g_settings.input.overlay_scale, "input_overlay_scale", "Overlay Scale", 1.0f, "%.2f", group_info.name, subgroup_info.name, general_write_handler, general_read_handler);
WITH_CMD(list, list_info, RARCH_CMD_OVERLAY_SET_SCALE_FACTOR);
data_list_current_add_cmd(&list, list_info, RARCH_CMD_OVERLAY_SET_SCALE_FACTOR);
data_list_current_add_range(&list, list_info, 0, 2, 0.01, true, true);
data_list_current_add_flags(&list, list_info, SD_FLAG_CMD_APPLY_AUTO);
END_SUB_GROUP(list, list_info);
@ -2689,7 +2702,7 @@ rarch_setting_t *setting_data_get_list(void)
START_SUB_GROUP(list, list_info, "State", group_info.name, subgroup_info);
CONFIG_BOOL(g_settings.menu_show_start_screen, "rgui_show_start_screen", "Show Start Screen", menu_show_start_screen, "OFF", "ON", group_info.name, subgroup_info.name, general_write_handler, general_read_handler);
CONFIG_BOOL(g_settings.menu.pause_libretro, "menu_pause_libretro", "Pause Libretro", true, "OFF", "ON", group_info.name, subgroup_info.name, general_write_handler, general_read_handler);
WITH_CMD(list, list_info, RARCH_CMD_MENU_PAUSE_LIBRETRO);
data_list_current_add_cmd(&list, list_info, RARCH_CMD_MENU_PAUSE_LIBRETRO);
data_list_current_add_flags(&list, list_info, SD_FLAG_CMD_APPLY_AUTO);
END_SUB_GROUP(list, list_info);
END_GROUP(list, list_info);
@ -2742,10 +2755,10 @@ rarch_setting_t *setting_data_get_list(void)
CONFIG_PATH(g_settings.libretro, "libretro_path", "Libretro Path", "", group_info.name, subgroup_info.name, general_write_handler, general_read_handler) ;
data_list_current_add_flags(&list, list_info, SD_FLAG_ALLOW_EMPTY);
CONFIG_DIR(g_settings.libretro_directory, "libretro_dir_path", "Core Directory", g_defaults.core_dir, "<None>", group_info.name, subgroup_info.name, general_write_handler, general_read_handler);
WITH_CMD(list, list_info, RARCH_CMD_CORE_INFO_INIT);
data_list_current_add_cmd(&list, list_info, RARCH_CMD_CORE_INFO_INIT);
data_list_current_add_flags(&list, list_info, SD_FLAG_ALLOW_EMPTY | SD_FLAG_PATH_DIR);
CONFIG_DIR(g_settings.libretro_info_path, "libretro_info_path", "Core Info Directory", g_defaults.core_info_dir, "<None>", group_info.name, subgroup_info.name, general_write_handler, general_read_handler);
WITH_CMD(list, list_info, RARCH_CMD_CORE_INFO_INIT)
data_list_current_add_cmd(&list, list_info, RARCH_CMD_CORE_INFO_INIT);
data_list_current_add_flags(&list, list_info, SD_FLAG_ALLOW_EMPTY | SD_FLAG_PATH_DIR);
CONFIG_PATH(g_settings.core_options_path, "core_options_path", "Core Options Path", "", "Paths", subgroup_info.name, general_write_handler, general_read_handler);
data_list_current_add_flags(&list, list_info, SD_FLAG_ALLOW_EMPTY);