From 9062b61511e914f4a2b725dc283c626f657a6760 Mon Sep 17 00:00:00 2001 From: sonninnos Date: Thu, 25 Mar 2021 18:45:31 +0200 Subject: [PATCH] Separate 'Turbo Fire' menu --- intl/msg_hash_lbl.h | 8 ++ intl/msg_hash_us.h | 8 ++ menu/cbs/menu_cbs_deferred_push.c | 6 +- menu/cbs/menu_cbs_ok.c | 5 + menu/cbs/menu_cbs_sublabel.c | 6 +- menu/cbs/menu_cbs_title.c | 2 + menu/drivers/ozone/ozone_texture.c | 2 + menu/drivers/xmb.c | 2 + menu/menu_cbs.h | 1 + menu/menu_displaylist.c | 46 +++++--- menu/menu_displaylist.h | 1 + menu/menu_setting.c | 173 +++++++++++++++++------------ msg_hash.h | 2 + 13 files changed, 170 insertions(+), 92 deletions(-) diff --git a/intl/msg_hash_lbl.h b/intl/msg_hash_lbl.h index 751b9c91e6..a18aea217a 100644 --- a/intl/msg_hash_lbl.h +++ b/intl/msg_hash_lbl.h @@ -864,6 +864,10 @@ MSG_HASH( MENU_ENUM_LABEL_DEFERRED_INPUT_SETTINGS_LIST, "deferred_input_settings_list" ) +MSG_HASH( + MENU_ENUM_LABEL_DEFERRED_INPUT_TURBO_FIRE_SETTINGS_LIST, + "deferred_input_turbo_fire_settings_list" + ) MSG_HASH( MENU_ENUM_LABEL_DEFERRED_INPUT_HAPTIC_FEEDBACK_SETTINGS_LIST, "deferred_input_haptic_feedback_settings_list" @@ -4894,6 +4898,10 @@ MSG_HASH( MENU_ENUM_LABEL_INPUT_MENU_SETTINGS, "input_menu_settings" ) +MSG_HASH( + MENU_ENUM_LABEL_INPUT_TURBO_FIRE_SETTINGS, + "input_turbo_fire_settings" + ) MSG_HASH( MENU_ENUM_LABEL_INPUT_HAPTIC_FEEDBACK_SETTINGS, "input_haptic_feedback_settings" diff --git a/intl/msg_hash_us.h b/intl/msg_hash_us.h index 188d7ad5f2..46fb268262 100644 --- a/intl/msg_hash_us.h +++ b/intl/msg_hash_us.h @@ -2160,6 +2160,14 @@ MSG_HASH( MENU_ENUM_SUBLABEL_INPUT_TURBO_DEFAULT_BUTTON, "Default active button for Turbo Mode 'Single Button'." ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_INPUT_TURBO_FIRE_SETTINGS, + "Turbo Fire" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_INPUT_TURBO_FIRE_SETTINGS, + "Change turbo fire settings." + ) MSG_HASH( MENU_ENUM_LABEL_VALUE_INPUT_HAPTIC_FEEDBACK_SETTINGS, "Haptic Feedback/Vibration" diff --git a/menu/cbs/menu_cbs_deferred_push.c b/menu/cbs/menu_cbs_deferred_push.c index 08ba8df289..e501810a01 100644 --- a/menu/cbs/menu_cbs_deferred_push.c +++ b/menu/cbs/menu_cbs_deferred_push.c @@ -211,9 +211,10 @@ GENERIC_DEFERRED_PUSH(deferred_push_audio_synchronization_settings_list, GENERIC_DEFERRED_PUSH(deferred_push_audio_mixer_settings_list, DISPLAYLIST_AUDIO_MIXER_SETTINGS_LIST) GENERIC_DEFERRED_PUSH(deferred_push_input_settings_list, DISPLAYLIST_INPUT_SETTINGS_LIST) GENERIC_DEFERRED_PUSH(deferred_push_input_menu_settings_list, DISPLAYLIST_INPUT_MENU_SETTINGS_LIST) -GENERIC_DEFERRED_PUSH(deferred_push_input_haptic_feedback_settings_list, DISPLAYLIST_INPUT_HAPTIC_FEEDBACK_SETTINGS_LIST) +GENERIC_DEFERRED_PUSH(deferred_push_input_turbo_fire_settings_list, DISPLAYLIST_INPUT_TURBO_FIRE_SETTINGS_LIST) +GENERIC_DEFERRED_PUSH(deferred_push_input_haptic_feedback_settings_list, DISPLAYLIST_INPUT_HAPTIC_FEEDBACK_SETTINGS_LIST) GENERIC_DEFERRED_PUSH(deferred_push_ai_service_settings_list, DISPLAYLIST_AI_SERVICE_SETTINGS_LIST) -GENERIC_DEFERRED_PUSH(deferred_push_accessibility_settings_list, DISPLAYLIST_ACCESSIBILITY_SETTINGS_LIST) +GENERIC_DEFERRED_PUSH(deferred_push_accessibility_settings_list, DISPLAYLIST_ACCESSIBILITY_SETTINGS_LIST) GENERIC_DEFERRED_PUSH(deferred_push_latency_settings_list, DISPLAYLIST_LATENCY_SETTINGS_LIST) GENERIC_DEFERRED_PUSH(deferred_push_recording_settings_list, DISPLAYLIST_RECORDING_SETTINGS_LIST) GENERIC_DEFERRED_PUSH(deferred_push_playlist_settings_list, DISPLAYLIST_PLAYLIST_SETTINGS_LIST) @@ -741,6 +742,7 @@ static int menu_cbs_init_bind_deferred_push_compare_label( {MENU_ENUM_LABEL_DEFERRED_EXPLORE_LIST, deferred_explore_list}, {MENU_ENUM_LABEL_DEFERRED_INPUT_SETTINGS_LIST, deferred_push_input_settings_list}, {MENU_ENUM_LABEL_DEFERRED_INPUT_MENU_SETTINGS_LIST, deferred_push_input_menu_settings_list}, + {MENU_ENUM_LABEL_DEFERRED_INPUT_TURBO_FIRE_SETTINGS_LIST, deferred_push_input_turbo_fire_settings_list}, {MENU_ENUM_LABEL_DEFERRED_INPUT_HAPTIC_FEEDBACK_SETTINGS_LIST, deferred_push_input_haptic_feedback_settings_list}, {MENU_ENUM_LABEL_DEFERRED_AI_SERVICE_SETTINGS_LIST, deferred_push_ai_service_settings_list}, {MENU_ENUM_LABEL_DEFERRED_ACCESSIBILITY_SETTINGS_LIST, deferred_push_accessibility_settings_list}, diff --git a/menu/cbs/menu_cbs_ok.c b/menu/cbs/menu_cbs_ok.c index be2355f543..0d1bcc7284 100644 --- a/menu/cbs/menu_cbs_ok.c +++ b/menu/cbs/menu_cbs_ok.c @@ -298,6 +298,8 @@ static enum msg_hash_enums action_ok_dl_to_enum(unsigned lbl) return MENU_ENUM_LABEL_DEFERRED_INPUT_SETTINGS_LIST; case ACTION_OK_DL_INPUT_MENU_SETTINGS_LIST: return MENU_ENUM_LABEL_DEFERRED_INPUT_MENU_SETTINGS_LIST; + case ACTION_OK_DL_INPUT_TURBO_FIRE_SETTINGS_LIST: + return MENU_ENUM_LABEL_DEFERRED_INPUT_TURBO_FIRE_SETTINGS_LIST; case ACTION_OK_DL_INPUT_HAPTIC_FEEDBACK_SETTINGS_LIST: return MENU_ENUM_LABEL_DEFERRED_INPUT_HAPTIC_FEEDBACK_SETTINGS_LIST; case ACTION_OK_DL_LATENCY_SETTINGS_LIST: @@ -1432,6 +1434,7 @@ int generic_action_ok_displaylist_push(const char *path, case ACTION_OK_DL_ACHIEVEMENTS_HARDCORE_PAUSE_LIST: case ACTION_OK_DL_INPUT_SETTINGS_LIST: case ACTION_OK_DL_INPUT_MENU_SETTINGS_LIST: + case ACTION_OK_DL_INPUT_TURBO_FIRE_SETTINGS_LIST: case ACTION_OK_DL_INPUT_HAPTIC_FEEDBACK_SETTINGS_LIST: case ACTION_OK_DL_LATENCY_SETTINGS_LIST: case ACTION_OK_DL_DRIVER_SETTINGS_LIST: @@ -5607,6 +5610,7 @@ DEFAULT_ACTION_OK_FUNC(action_ok_push_ai_service_settings_list, ACTION_OK_DL_AI_ DEFAULT_ACTION_OK_FUNC(action_ok_push_accessibility_settings_list, ACTION_OK_DL_ACCESSIBILITY_SETTINGS_LIST) DEFAULT_ACTION_OK_FUNC(action_ok_push_input_settings_list, ACTION_OK_DL_INPUT_SETTINGS_LIST) DEFAULT_ACTION_OK_FUNC(action_ok_push_input_menu_settings_list, ACTION_OK_DL_INPUT_MENU_SETTINGS_LIST) +DEFAULT_ACTION_OK_FUNC(action_ok_push_input_turbo_fire_settings_list, ACTION_OK_DL_INPUT_TURBO_FIRE_SETTINGS_LIST) DEFAULT_ACTION_OK_FUNC(action_ok_push_input_haptic_feedback_settings_list, ACTION_OK_DL_INPUT_HAPTIC_FEEDBACK_SETTINGS_LIST) DEFAULT_ACTION_OK_FUNC(action_ok_push_latency_settings_list, ACTION_OK_DL_LATENCY_SETTINGS_LIST) DEFAULT_ACTION_OK_FUNC(action_ok_push_recording_settings_list, ACTION_OK_DL_RECORDING_SETTINGS_LIST) @@ -7664,6 +7668,7 @@ static int menu_cbs_init_bind_ok_compare_label(menu_file_list_cbs_t *cbs, {MENU_ENUM_LABEL_AI_SERVICE_SETTINGS, action_ok_push_ai_service_settings_list}, {MENU_ENUM_LABEL_INPUT_SETTINGS, action_ok_push_input_settings_list}, {MENU_ENUM_LABEL_INPUT_MENU_SETTINGS, action_ok_push_input_menu_settings_list}, + {MENU_ENUM_LABEL_INPUT_TURBO_FIRE_SETTINGS, action_ok_push_input_turbo_fire_settings_list}, {MENU_ENUM_LABEL_INPUT_HAPTIC_FEEDBACK_SETTINGS, action_ok_push_input_haptic_feedback_settings_list}, {MENU_ENUM_LABEL_DRIVER_SETTINGS, action_ok_push_driver_settings_list}, {MENU_ENUM_LABEL_VIDEO_SETTINGS, action_ok_push_video_settings_list}, diff --git a/menu/cbs/menu_cbs_sublabel.c b/menu/cbs/menu_cbs_sublabel.c index baf0747311..50221cbb60 100644 --- a/menu/cbs/menu_cbs_sublabel.c +++ b/menu/cbs/menu_cbs_sublabel.c @@ -214,7 +214,8 @@ DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_mixer_settings_list, MENU_ #endif DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_input_settings_list, MENU_ENUM_SUBLABEL_INPUT_SETTINGS) DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_input_menu_settings_list, MENU_ENUM_SUBLABEL_INPUT_MENU_SETTINGS) -DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_input_haptic_feedback_settings_list, MENU_ENUM_SUBLABEL_INPUT_HAPTIC_FEEDBACK_SETTINGS) +DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_input_turbo_fire_settings_list, MENU_ENUM_SUBLABEL_INPUT_TURBO_FIRE_SETTINGS) +DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_input_haptic_feedback_settings_list,MENU_ENUM_SUBLABEL_INPUT_HAPTIC_FEEDBACK_SETTINGS) DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_latency_settings_list, MENU_ENUM_SUBLABEL_LATENCY_SETTINGS) DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_bluetooth_settings_list, MENU_ENUM_SUBLABEL_BLUETOOTH_SETTINGS) DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_wifi_settings_list, MENU_ENUM_SUBLABEL_WIFI_SETTINGS) @@ -3838,6 +3839,9 @@ int menu_cbs_init_bind_sublabel(menu_file_list_cbs_t *cbs, case MENU_ENUM_LABEL_INPUT_MENU_SETTINGS: BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_input_menu_settings_list); break; + case MENU_ENUM_LABEL_INPUT_TURBO_FIRE_SETTINGS: + BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_input_turbo_fire_settings_list); + break; case MENU_ENUM_LABEL_INPUT_HAPTIC_FEEDBACK_SETTINGS: BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_input_haptic_feedback_settings_list); break; diff --git a/menu/cbs/menu_cbs_title.c b/menu/cbs/menu_cbs_title.c index 738900faf3..551bfc4286 100644 --- a/menu/cbs/menu_cbs_title.c +++ b/menu/cbs/menu_cbs_title.c @@ -575,6 +575,7 @@ DEFAULT_TITLE_MACRO(action_get_video_output_settings_list, MENU_ENUM_LA DEFAULT_TITLE_MACRO(action_get_video_synchronization_settings_list, MENU_ENUM_LABEL_VALUE_VIDEO_SYNCHRONIZATION_SETTINGS) DEFAULT_TITLE_MACRO(action_get_input_menu_settings_list, MENU_ENUM_LABEL_VALUE_INPUT_MENU_SETTINGS) +DEFAULT_TITLE_MACRO(action_get_input_turbo_fire_settings_list, MENU_ENUM_LABEL_VALUE_INPUT_TURBO_FIRE_SETTINGS) DEFAULT_TITLE_MACRO(action_get_input_haptic_feedback_settings_list, MENU_ENUM_LABEL_VALUE_INPUT_HAPTIC_FEEDBACK_SETTINGS) DEFAULT_TITLE_MACRO(action_get_crt_switchres_settings_list, MENU_ENUM_LABEL_VALUE_CRT_SWITCHRES_SETTINGS) @@ -978,6 +979,7 @@ static int menu_cbs_init_bind_title_compare_label(menu_file_list_cbs_t *cbs, {MENU_ENUM_LABEL_DEFERRED_VIDEO_OUTPUT_SETTINGS_LIST, action_get_video_output_settings_list}, {MENU_ENUM_LABEL_DEFERRED_VIDEO_SYNCHRONIZATION_SETTINGS_LIST, action_get_video_synchronization_settings_list}, {MENU_ENUM_LABEL_DEFERRED_INPUT_MENU_SETTINGS_LIST, action_get_input_menu_settings_list}, + {MENU_ENUM_LABEL_DEFERRED_INPUT_TURBO_FIRE_SETTINGS_LIST, action_get_input_turbo_fire_settings_list}, {MENU_ENUM_LABEL_DEFERRED_INPUT_HAPTIC_FEEDBACK_SETTINGS_LIST, action_get_input_haptic_feedback_settings_list}, {MENU_ENUM_LABEL_DEFERRED_VIDEO_WINDOWED_MODE_SETTINGS_LIST, action_get_video_windowed_mode_settings_list}, {MENU_ENUM_LABEL_DEFERRED_VIDEO_FULLSCREEN_MODE_SETTINGS_LIST, action_get_video_fullscreen_mode_settings_list}, diff --git a/menu/drivers/ozone/ozone_texture.c b/menu/drivers/ozone/ozone_texture.c index 54588032eb..19db500552 100644 --- a/menu/drivers/ozone/ozone_texture.c +++ b/menu/drivers/ozone/ozone_texture.c @@ -221,6 +221,8 @@ uintptr_t ozone_entries_icon_get_texture(ozone_handle_t *ozone, case MENU_ENUM_LABEL_INPUT_USER_16_BINDS: case MENU_ENUM_LABEL_START_NET_RETROPAD: return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_INPUT_SETTINGS]; + case MENU_ENUM_LABEL_INPUT_TURBO_FIRE_SETTINGS: + return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_INPUT_TURBO]; case MENU_ENUM_LABEL_LATENCY_SETTINGS: return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_LATENCY]; case MENU_ENUM_LABEL_SAVING_SETTINGS: diff --git a/menu/drivers/xmb.c b/menu/drivers/xmb.c index 33fda2c3f7..9cee3f649b 100644 --- a/menu/drivers/xmb.c +++ b/menu/drivers/xmb.c @@ -2657,6 +2657,8 @@ static uintptr_t xmb_icon_get_id(xmb_handle_t *xmb, case MENU_ENUM_LABEL_INPUT_USER_16_BINDS: case MENU_ENUM_LABEL_START_NET_RETROPAD: return xmb->textures.list[XMB_TEXTURE_INPUT_SETTINGS]; + case MENU_ENUM_LABEL_INPUT_TURBO_FIRE_SETTINGS: + return xmb->textures.list[XMB_TEXTURE_INPUT_TURBO]; case MENU_ENUM_LABEL_LATENCY_SETTINGS: return xmb->textures.list[XMB_TEXTURE_LATENCY]; case MENU_ENUM_LABEL_SAVING_SETTINGS: diff --git a/menu/menu_cbs.h b/menu/menu_cbs.h index 80e145a881..c3ed953708 100644 --- a/menu/menu_cbs.h +++ b/menu/menu_cbs.h @@ -96,6 +96,7 @@ enum ACTION_OK_DL_FILE_BROWSER_SELECT_FILE, ACTION_OK_DL_FILE_BROWSER_SELECT_DIR, ACTION_OK_DL_INPUT_SETTINGS_LIST, + ACTION_OK_DL_INPUT_TURBO_FIRE_SETTINGS_LIST, ACTION_OK_DL_INPUT_HAPTIC_FEEDBACK_SETTINGS_LIST, ACTION_OK_DL_REMAPPINGS_PORT_LIST, ACTION_OK_DL_INPUT_MENU_SETTINGS_LIST, diff --git a/menu/menu_displaylist.c b/menu/menu_displaylist.c index ceb7c2fa53..ccb48b80a3 100644 --- a/menu/menu_displaylist.c +++ b/menu/menu_displaylist.c @@ -5269,6 +5269,24 @@ unsigned menu_displaylist_build_list( MENU_SETTING_ACTION, 0, 0)) count++; break; + case DISPLAYLIST_INPUT_TURBO_FIRE_SETTINGS_LIST: + { + menu_displaylist_build_info_t build_list[] = { + {MENU_ENUM_LABEL_INPUT_TURBO_PERIOD, PARSE_ONLY_UINT}, + {MENU_ENUM_LABEL_INPUT_DUTY_CYCLE, PARSE_ONLY_UINT}, + {MENU_ENUM_LABEL_INPUT_TURBO_MODE, PARSE_ONLY_UINT}, + {MENU_ENUM_LABEL_INPUT_TURBO_DEFAULT_BUTTON, PARSE_ONLY_UINT}, + }; + + for (i = 0; i < ARRAY_SIZE(build_list); i++) + { + if (MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(list, + build_list[i].enum_idx, build_list[i].parse_type, + false) == 0) + count++; + } + } + break; case DISPLAYLIST_INPUT_HAPTIC_FEEDBACK_SETTINGS_LIST: { const char *input_driver_id = settings->arrays.input_driver; @@ -5910,6 +5928,13 @@ unsigned menu_displaylist_build_list( count++; #endif + if (menu_entries_append_enum(list, + msg_hash_to_str(MENU_ENUM_LABEL_VALUE_INPUT_TURBO_FIRE_SETTINGS), + msg_hash_to_str(MENU_ENUM_LABEL_INPUT_TURBO_FIRE_SETTINGS), + MENU_ENUM_LABEL_INPUT_TURBO_FIRE_SETTINGS, + MENU_SETTING_ACTION, 0, 0)) + count++; + for (p = 0; p < max_users; p++) { char val_s[16], val_d[16]; @@ -6111,22 +6136,6 @@ unsigned menu_displaylist_build_list( MENU_ENUM_LABEL_INPUT_BIND_HOLD, PARSE_ONLY_UINT, false) == 0) count++; - if (MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(list, - MENU_ENUM_LABEL_INPUT_TURBO_PERIOD, - PARSE_ONLY_UINT, false) == 0) - count++; - if (MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(list, - MENU_ENUM_LABEL_INPUT_DUTY_CYCLE, - PARSE_ONLY_UINT, false) == 0) - count++; - if (MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(list, - MENU_ENUM_LABEL_INPUT_TURBO_MODE, - PARSE_ONLY_UINT, false) == 0) - count++; - if (MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(list, - MENU_ENUM_LABEL_INPUT_TURBO_DEFAULT_BUTTON, - PARSE_ONLY_UINT, false) == 0) - count++; if (MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(list, MENU_ENUM_LABEL_INPUT_BIND_MODE, PARSE_ONLY_UINT, false) == 0) @@ -6157,6 +6166,10 @@ unsigned menu_displaylist_build_list( MENU_ENUM_LABEL_INPUT_HOTKEY_BINDS, PARSE_ACTION, false) == 0) count++; + if (MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(list, + MENU_ENUM_LABEL_INPUT_TURBO_FIRE_SETTINGS, + PARSE_ACTION, false) == 0) + count++; #ifdef HAVE_LIBNX { @@ -11255,6 +11268,7 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, case DISPLAYLIST_SHADER_PRESET_SAVE: case DISPLAYLIST_SHADER_PRESET_REMOVE: case DISPLAYLIST_INPUT_HOTKEY_BINDS_LIST: + case DISPLAYLIST_INPUT_TURBO_FIRE_SETTINGS_LIST: case DISPLAYLIST_INPUT_HAPTIC_FEEDBACK_SETTINGS_LIST: case DISPLAYLIST_PLAYLIST_SETTINGS_LIST: case DISPLAYLIST_SUBSYSTEM_SETTINGS_LIST: diff --git a/menu/menu_displaylist.h b/menu/menu_displaylist.h index 850909553f..694b649919 100644 --- a/menu/menu_displaylist.h +++ b/menu/menu_displaylist.h @@ -173,6 +173,7 @@ enum menu_displaylist_ctl_state DISPLAYLIST_AUDIO_MIXER_SETTINGS_LIST, DISPLAYLIST_CORE_SETTINGS_LIST, DISPLAYLIST_INPUT_SETTINGS_LIST, + DISPLAYLIST_INPUT_TURBO_FIRE_SETTINGS_LIST, DISPLAYLIST_INPUT_HAPTIC_FEEDBACK_SETTINGS_LIST, DISPLAYLIST_INPUT_MENU_SETTINGS_LIST, DISPLAYLIST_LATENCY_SETTINGS_LIST, diff --git a/menu/menu_setting.c b/menu/menu_setting.c index e0ee64fa95..94d449a0e5 100644 --- a/menu/menu_setting.c +++ b/menu/menu_setting.c @@ -263,6 +263,7 @@ enum settings_list_type SETTINGS_LIST_CRT_SWITCHRES, SETTINGS_LIST_AUDIO, SETTINGS_LIST_INPUT, + SETTINGS_LIST_INPUT_TURBO_FIRE, SETTINGS_LIST_INPUT_HOTKEY, SETTINGS_LIST_RECORDING, SETTINGS_LIST_FRAME_THROTTLING, @@ -6268,7 +6269,7 @@ static void setting_get_string_representation_turbo_default_button( switch (*setting->value.target.unsigned_integer) { case INPUT_TURBO_DEFAULT_BUTTON_B: - strlcpy(s, "B / Fire", len); + strlcpy(s, "B", len); break; case INPUT_TURBO_DEFAULT_BUTTON_Y: strlcpy(s, "Y", len); @@ -12360,45 +12361,17 @@ static bool setting_append_list( menu_settings_list_current_add_range(list, list_info, 1, 10, 1, true, true); SETTINGS_DATA_LIST_CURRENT_ADD_FLAGS(list, list_info, SD_FLAG_ADVANCED); - CONFIG_UINT( - list, list_info, - &settings->uints.input_turbo_period, - MENU_ENUM_LABEL_INPUT_TURBO_PERIOD, - MENU_ENUM_LABEL_VALUE_INPUT_TURBO_PERIOD, - turbo_period, - &group_info, - &subgroup_info, - parent_group, - general_write_handler, - general_read_handler); - (*list)[list_info->index - 1].action_ok = &setting_action_ok_uint; - (*list)[list_info->index - 1].offset_by = 1; - menu_settings_list_current_add_range(list, list_info, 1, 100, 1, true, true); - SETTINGS_DATA_LIST_CURRENT_ADD_FLAGS(list, list_info, SD_FLAG_ADVANCED); - - CONFIG_UINT( - list, list_info, - &settings->uints.input_turbo_duty_cycle, - MENU_ENUM_LABEL_INPUT_DUTY_CYCLE, - MENU_ENUM_LABEL_VALUE_INPUT_DUTY_CYCLE, - turbo_duty_cycle, - &group_info, - &subgroup_info, - parent_group, - general_write_handler, - general_read_handler); - (*list)[list_info->index - 1].action_ok = &setting_action_ok_uint; - (*list)[list_info->index - 1].offset_by = 1; - menu_settings_list_current_add_range(list, list_info, 1, 100, 1, true, true); - SETTINGS_DATA_LIST_CURRENT_ADD_FLAGS(list, list_info, SD_FLAG_ADVANCED); - - CONFIG_ACTION( - list, list_info, - MENU_ENUM_LABEL_INPUT_HAPTIC_FEEDBACK_SETTINGS, - MENU_ENUM_LABEL_VALUE_INPUT_HAPTIC_FEEDBACK_SETTINGS, - &group_info, - &subgroup_info, - parent_group); + if (string_is_equal(settings->arrays.input_driver, "android") || + string_is_equal(settings->arrays.input_joypad_driver, "sdl_dingux")) + { + CONFIG_ACTION( + list, list_info, + MENU_ENUM_LABEL_INPUT_HAPTIC_FEEDBACK_SETTINGS, + MENU_ENUM_LABEL_VALUE_INPUT_HAPTIC_FEEDBACK_SETTINGS, + &group_info, + &subgroup_info, + parent_group); + } CONFIG_ACTION( list, list_info, @@ -12408,39 +12381,6 @@ static bool setting_append_list( &subgroup_info, parent_group); - CONFIG_UINT( - list, list_info, - &settings->uints.input_turbo_mode, - MENU_ENUM_LABEL_INPUT_TURBO_MODE, - MENU_ENUM_LABEL_VALUE_INPUT_TURBO_MODE, - turbo_mode, - &group_info, - &subgroup_info, - parent_group, - general_write_handler, - general_read_handler); - (*list)[list_info->index - 1].ui_type = ST_UI_TYPE_UINT_COMBOBOX; - (*list)[list_info->index - 1].action_ok = &setting_action_ok_uint; - (*list)[list_info->index - 1].get_string_representation = - &setting_get_string_representation_turbo_mode; - menu_settings_list_current_add_range(list, list_info, 0, (INPUT_TURBO_MODE_LAST-1), 1, true, true); - - CONFIG_UINT( - list, list_info, - &settings->uints.input_turbo_default_button, - MENU_ENUM_LABEL_INPUT_TURBO_DEFAULT_BUTTON, - MENU_ENUM_LABEL_VALUE_INPUT_TURBO_DEFAULT_BUTTON, - turbo_default_btn, - &group_info, - &subgroup_info, - parent_group, - general_write_handler, - general_read_handler); - (*list)[list_info->index - 1].ui_type = ST_UI_TYPE_UINT_COMBOBOX; - (*list)[list_info->index - 1].action_ok = &setting_action_ok_uint; - (*list)[list_info->index - 1].get_string_representation = - &setting_get_string_representation_turbo_default_button; - menu_settings_list_current_add_range(list, list_info, 0, (INPUT_TURBO_DEFAULT_BUTTON_LAST-1), 1, true, true); END_SUB_GROUP(list, list_info, parent_group); @@ -12454,6 +12394,14 @@ static bool setting_append_list( &subgroup_info, parent_group); + CONFIG_ACTION( + list, list_info, + MENU_ENUM_LABEL_INPUT_TURBO_FIRE_SETTINGS, + MENU_ENUM_LABEL_VALUE_INPUT_TURBO_FIRE_SETTINGS, + &group_info, + &subgroup_info, + parent_group); + for (user = 0; user < MAX_USERS; user++) { static char binds_list[MAX_USERS][255]; @@ -12482,6 +12430,84 @@ static bool setting_append_list( END_GROUP(list, list_info, parent_group); } break; + case SETTINGS_LIST_INPUT_TURBO_FIRE: + START_GROUP(list, list_info, &group_info, + msg_hash_to_str(MENU_ENUM_LABEL_VALUE_INPUT_TURBO_FIRE_SETTINGS), + parent_group); + parent_group = msg_hash_to_str(MENU_ENUM_LABEL_INPUT_TURBO_FIRE_SETTINGS); + + START_SUB_GROUP(list, list_info, "State", &group_info, &subgroup_info, parent_group); + + CONFIG_UINT( + list, list_info, + &settings->uints.input_turbo_period, + MENU_ENUM_LABEL_INPUT_TURBO_PERIOD, + MENU_ENUM_LABEL_VALUE_INPUT_TURBO_PERIOD, + turbo_period, + &group_info, + &subgroup_info, + parent_group, + general_write_handler, + general_read_handler); + (*list)[list_info->index - 1].action_ok = &setting_action_ok_uint; + (*list)[list_info->index - 1].offset_by = 1; + menu_settings_list_current_add_range(list, list_info, 1, 100, 1, true, true); + SETTINGS_DATA_LIST_CURRENT_ADD_FLAGS(list, list_info, SD_FLAG_ADVANCED); + + CONFIG_UINT( + list, list_info, + &settings->uints.input_turbo_duty_cycle, + MENU_ENUM_LABEL_INPUT_DUTY_CYCLE, + MENU_ENUM_LABEL_VALUE_INPUT_DUTY_CYCLE, + turbo_duty_cycle, + &group_info, + &subgroup_info, + parent_group, + general_write_handler, + general_read_handler); + (*list)[list_info->index - 1].action_ok = &setting_action_ok_uint; + (*list)[list_info->index - 1].offset_by = 1; + menu_settings_list_current_add_range(list, list_info, 1, 100, 1, true, true); + SETTINGS_DATA_LIST_CURRENT_ADD_FLAGS(list, list_info, SD_FLAG_ADVANCED); + + CONFIG_UINT( + list, list_info, + &settings->uints.input_turbo_mode, + MENU_ENUM_LABEL_INPUT_TURBO_MODE, + MENU_ENUM_LABEL_VALUE_INPUT_TURBO_MODE, + turbo_mode, + &group_info, + &subgroup_info, + parent_group, + general_write_handler, + general_read_handler); + (*list)[list_info->index - 1].ui_type = ST_UI_TYPE_UINT_COMBOBOX; + (*list)[list_info->index - 1].action_ok = &setting_action_ok_uint; + (*list)[list_info->index - 1].get_string_representation = + &setting_get_string_representation_turbo_mode; + menu_settings_list_current_add_range(list, list_info, 0, (INPUT_TURBO_MODE_LAST-1), 1, true, true); + + CONFIG_UINT( + list, list_info, + &settings->uints.input_turbo_default_button, + MENU_ENUM_LABEL_INPUT_TURBO_DEFAULT_BUTTON, + MENU_ENUM_LABEL_VALUE_INPUT_TURBO_DEFAULT_BUTTON, + turbo_default_btn, + &group_info, + &subgroup_info, + parent_group, + general_write_handler, + general_read_handler); + (*list)[list_info->index - 1].ui_type = ST_UI_TYPE_UINT_COMBOBOX; + (*list)[list_info->index - 1].action_ok = &setting_action_ok_uint; + (*list)[list_info->index - 1].get_string_representation = + &setting_get_string_representation_turbo_default_button; + menu_settings_list_current_add_range(list, list_info, 0, (INPUT_TURBO_DEFAULT_BUTTON_LAST-1), 1, true, true); + + END_SUB_GROUP(list, list_info, parent_group); + + END_GROUP(list, list_info, parent_group); + break; case SETTINGS_LIST_RECORDING: START_GROUP(list, list_info, &group_info, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_RECORDING_SETTINGS), @@ -19322,6 +19348,7 @@ static rarch_setting_t *menu_setting_new_internal(rarch_setting_info_t *list_inf SETTINGS_LIST_CRT_SWITCHRES, SETTINGS_LIST_AUDIO, SETTINGS_LIST_INPUT, + SETTINGS_LIST_INPUT_TURBO_FIRE, SETTINGS_LIST_INPUT_HOTKEY, SETTINGS_LIST_RECORDING, SETTINGS_LIST_FRAME_THROTTLING, diff --git a/msg_hash.h b/msg_hash.h index e095ef3436..368298c47b 100644 --- a/msg_hash.h +++ b/msg_hash.h @@ -1479,6 +1479,7 @@ enum msg_hash_enums MENU_ENUM_LABEL_DEFERRED_PLAYLIST_MANAGER_LIST, MENU_ENUM_LABEL_DEFERRED_PLAYLIST_MANAGER_SETTINGS, MENU_ENUM_LABEL_DEFERRED_INPUT_SETTINGS_LIST, + MENU_ENUM_LABEL_DEFERRED_INPUT_TURBO_FIRE_SETTINGS_LIST, MENU_ENUM_LABEL_DEFERRED_INPUT_HAPTIC_FEEDBACK_SETTINGS_LIST, MENU_ENUM_LABEL_DEFERRED_INPUT_MENU_SETTINGS_LIST, MENU_ENUM_LABEL_DEFERRED_LATENCY_SETTINGS_LIST, @@ -2041,6 +2042,7 @@ enum msg_hash_enums MENU_LABEL(MAIN_MENU), MENU_LABEL(INPUT_SETTINGS), MENU_LABEL(INPUT_MENU_SETTINGS), + MENU_LABEL(INPUT_TURBO_FIRE_SETTINGS), MENU_LABEL(INPUT_HAPTIC_FEEDBACK_SETTINGS), MENU_LABEL(ACCESSIBILITY_SETTINGS), MENU_LABEL(ACCESSIBILITY_ENABLED),