diff --git a/frontend/menu/menu_entries.c b/frontend/menu/menu_entries.c index 34b0a487b3..549aaa0999 100644 --- a/frontend/menu/menu_entries.c +++ b/frontend/menu/menu_entries.c @@ -145,6 +145,13 @@ void menu_entries_pop(file_list_t *list) } } +static int setting_set_flags(rarch_setting_t *setting) +{ + if (setting->flags & SD_FLAG_ALLOW_INPUT) + return MENU_FILE_LINEFEED; + return 0; +} + int menu_entries_push_list(menu_handle_t *menu, file_list_t *list, const char *path, const char *label, @@ -198,8 +205,11 @@ int menu_entries_push_list(menu_handle_t *menu, !strcmp(label, "Overlay Options") || !strcmp(label, "Privacy Options") || !strcmp(label, "Video Options") || + !strcmp(label, "Audio Options") || !strcmp(label, "Path Options") || - !strcmp(label, "Font Options") + !strcmp(label, "Font Options") || + !strcmp(label, "User Options") || + !strcmp(label, "Netplay Options") ) { rarch_setting_t *setting_data = (rarch_setting_t*)setting_data_get_list(); @@ -228,7 +238,7 @@ int menu_entries_push_list(menu_handle_t *menu, continue; file_list_push(list, setting->short_description, - setting->name, 0, 0); + setting->name, setting_set_flags(setting), 0); } } else if (!strcmp(label, "settings")) @@ -398,22 +408,6 @@ int menu_entries_push_list(menu_handle_t *menu, do_action = true; } - else if (!strcmp(label, "User Options")) - { - file_list_clear(list); - add_setting_entry(menu,list,"netplay_nickname", MENU_FILE_LINEFEED, setting_data); - add_setting_entry(menu,list,"user_language", MENU_FILE_LINEFEED, setting_data); - } - else if (!strcmp(label, "Netplay Options")) - { - file_list_clear(list); - add_setting_entry(menu,list,"netplay_enable", 0, setting_data); - add_setting_entry(menu,list,"netplay_mode", 0, setting_data); - add_setting_entry(menu,list,"netplay_spectator_mode_enable", 0, setting_data); - add_setting_entry(menu,list,"netplay_ip_address", 0, setting_data); - add_setting_entry(menu,list,"netplay_tcp_udp_port", MENU_FILE_LINEFEED, setting_data); - add_setting_entry(menu,list,"netplay_delay_frames", 0, setting_data); - } else if (!strcmp(label, "core_counters")) { file_list_clear(list); @@ -442,19 +436,6 @@ int menu_entries_push_list(menu_handle_t *menu, file_list_push(list, "No options available.", "", MENU_SETTINGS_CORE_OPTION_NONE, 0); } - else if (!strcmp(label, "Audio Options")) - { - file_list_clear(list); - add_setting_entry(menu,list,"audio_dsp_plugin", 0, setting_data); - add_setting_entry(menu,list,"audio_enable", 0, setting_data); - add_setting_entry(menu,list,"audio_mute_enable", 0, setting_data); - add_setting_entry(menu,list,"audio_latency", 0, setting_data); - add_setting_entry(menu,list,"audio_sync", 0, setting_data); - add_setting_entry(menu,list,"audio_rate_control_delta", 0, setting_data); - add_setting_entry(menu,list,"system_bgm_enable", 0, setting_data); - add_setting_entry(menu,list,"audio_volume", 0, setting_data); - add_setting_entry(menu,list,"audio_device", MENU_FILE_LINEFEED, setting_data); - } else if (!strcmp(label, "Input Options")) { file_list_clear(list); diff --git a/settings_data.c b/settings_data.c index a1047f6137..c6b5a09977 100644 --- a/settings_data.c +++ b/settings_data.c @@ -2456,7 +2456,7 @@ rarch_setting_t *setting_data_get_list(void) END_SUB_GROUP() START_SUB_GROUP("Miscellaneous") - CONFIG_STRING(g_settings.audio.device, "audio_device", "Device", "", GROUP_NAME, SUBGROUP_NAME, general_write_handler, general_read_handler) + CONFIG_STRING(g_settings.audio.device, "audio_device", "Device", "", GROUP_NAME, SUBGROUP_NAME, general_write_handler, general_read_handler) WITH_FLAGS(SD_FLAG_ALLOW_INPUT) CONFIG_UINT(g_settings.audio.out_rate, "audio_out_rate", "Audio Output Rate", out_rate, GROUP_NAME, SUBGROUP_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_NAME, SUBGROUP_NAME, general_write_handler, general_read_handler) WITH_FLAGS(SD_FLAG_ALLOW_EMPTY) WITH_VALUES("dsp") END_SUB_GROUP() @@ -2542,12 +2542,12 @@ rarch_setting_t *setting_data_get_list(void) START_SUB_GROUP("State") CONFIG_BOOL(g_extern.netplay_enable, "netplay_enable", "Netplay Enable", false, "OFF", "ON", GROUP_NAME, SUBGROUP_NAME, general_write_handler, general_read_handler) #ifdef HAVE_NETPLAY - CONFIG_STRING(g_extern.netplay_server, "netplay_ip_address", "IP Address", "", GROUP_NAME, SUBGROUP_NAME, general_write_handler, general_read_handler) + CONFIG_STRING(g_extern.netplay_server, "netplay_ip_address", "IP Address", "", GROUP_NAME, SUBGROUP_NAME, general_write_handler, general_read_handler) WITH_FLAGS(SD_FLAG_ALLOW_INPUT) #endif CONFIG_BOOL(g_extern.netplay_is_client, "netplay_mode", "Netplay Client Enable", false, "OFF", "ON", GROUP_NAME, SUBGROUP_NAME, general_write_handler, general_read_handler) CONFIG_BOOL(g_extern.netplay_is_spectate, "netplay_spectator_mode_enable", "Netplay Spectator Enable", false, "OFF", "ON", GROUP_NAME, SUBGROUP_NAME, general_write_handler, general_read_handler) CONFIG_UINT(g_extern.netplay_sync_frames, "netplay_delay_frames", "Netplay Delay Frames", 0, GROUP_NAME, SUBGROUP_NAME, general_write_handler, general_read_handler) WITH_RANGE(0, 10, 1, true, false) - CONFIG_UINT(g_extern.netplay_port, "netplay_tcp_udp_port", "Netplay TCP/UDP Port", RARCH_DEFAULT_PORT, GROUP_NAME, SUBGROUP_NAME, general_write_handler, general_read_handler) WITH_RANGE(1, 99999, 1, true, true) + CONFIG_UINT(g_extern.netplay_port, "netplay_tcp_udp_port", "Netplay TCP/UDP Port", RARCH_DEFAULT_PORT, GROUP_NAME, SUBGROUP_NAME, general_write_handler, general_read_handler) WITH_RANGE(1, 99999, 1, true, true) WITH_FLAGS(SD_FLAG_ALLOW_INPUT) END_SUB_GROUP() END_GROUP() #endif @@ -2557,8 +2557,8 @@ rarch_setting_t *setting_data_get_list(void) /*******************/ START_GROUP("User Options") START_SUB_GROUP("State") - CONFIG_STRING(g_settings.username, "netplay_nickname", "Username", "", GROUP_NAME, SUBGROUP_NAME, general_write_handler, general_read_handler) - CONFIG_UINT(g_settings.user_language, "user_language", "Language", def_user_language, GROUP_NAME, SUBGROUP_NAME, general_write_handler, general_read_handler) WITH_RANGE(0, RETRO_LANGUAGE_LAST-1, 1, true, true) + CONFIG_STRING(g_settings.username, "netplay_nickname", "Username", "", GROUP_NAME, SUBGROUP_NAME, general_write_handler, general_read_handler) WITH_FLAGS(SD_FLAG_ALLOW_INPUT) + CONFIG_UINT(g_settings.user_language, "user_language", "Language", def_user_language, GROUP_NAME, SUBGROUP_NAME, general_write_handler, general_read_handler) WITH_RANGE(0, RETRO_LANGUAGE_LAST-1, 1, true, true) WITH_FLAGS(SD_FLAG_ALLOW_INPUT) END_SUB_GROUP() END_GROUP() diff --git a/settings_data.h b/settings_data.h index 1ee240e6a4..5194951585 100644 --- a/settings_data.h +++ b/settings_data.h @@ -47,11 +47,12 @@ enum setting_type enum setting_flags { - SD_FLAG_PATH_DIR = 1, - SD_FLAG_PATH_FILE = 2, - SD_FLAG_ALLOW_EMPTY = 4, - SD_FLAG_VALUE_DESC = 8, - SD_FLAG_HAS_RANGE = 16 + SD_FLAG_PATH_DIR = (1 << 0), + SD_FLAG_PATH_FILE = (1 << 1), + SD_FLAG_ALLOW_EMPTY = (1 << 2), + SD_FLAG_VALUE_DESC = (1 << 3), + SD_FLAG_HAS_RANGE = (1 << 4), + SD_FLAG_ALLOW_INPUT = (1 << 5), }; typedef struct rarch_setting_t