diff --git a/menu/cbs/menu_cbs_get_value.c b/menu/cbs/menu_cbs_get_value.c index 3753f2b89a..1c784a0058 100644 --- a/menu/cbs/menu_cbs_get_value.c +++ b/menu/cbs/menu_cbs_get_value.c @@ -518,9 +518,8 @@ static void menu_action_setting_disp_set_label_input_desc( if (!settings) return; - user_idx = (type - MENU_SETTINGS_INPUT_DESC_BEGIN) / (RARCH_FIRST_CUSTOM_BIND + 8); - btn_idx = (type - MENU_SETTINGS_INPUT_DESC_BEGIN) - (RARCH_FIRST_CUSTOM_BIND + 8) * user_idx; - + user_idx = (type - MENU_SETTINGS_INPUT_DESC_BEGIN) / (RARCH_FIRST_CUSTOM_BIND + 8); + btn_idx = (type - MENU_SETTINGS_INPUT_DESC_BEGIN) - (RARCH_FIRST_CUSTOM_BIND + 8) * user_idx; remap_idx = settings->uints.input_remap_ids[user_idx][btn_idx]; @@ -571,7 +570,6 @@ static void menu_action_setting_disp_set_label_input_desc_kbd( user_idx = (type - MENU_SETTINGS_INPUT_DESC_KBD_BEGIN) / RARCH_FIRST_CUSTOM_BIND; btn_idx = (type - MENU_SETTINGS_INPUT_DESC_KBD_BEGIN) - RARCH_FIRST_CUSTOM_BIND * user_idx; - remap_id = settings->uints.input_keymapper_ids[user_idx][btn_idx]; @@ -607,7 +605,6 @@ static void menu_action_setting_disp_set_label_cheat( if (cheat_index < cheat_manager_get_buf_size()) { if (cheat_manager_state.cheats[cheat_index].handler == CHEAT_HANDLER_TYPE_EMU) - { snprintf(s, len, "(%s) : %s", cheat_manager_get_code_state(cheat_index) ? msg_hash_to_str(MENU_ENUM_LABEL_VALUE_ON) : @@ -616,16 +613,13 @@ static void menu_action_setting_disp_set_label_cheat( ? cheat_manager_get_code(cheat_index) : msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NOT_AVAILABLE) ); - } else - { snprintf(s, len, "(%s) : %08X", cheat_manager_get_code_state(cheat_index) ? msg_hash_to_str(MENU_ENUM_LABEL_VALUE_ON) : msg_hash_to_str(MENU_ENUM_LABEL_VALUE_OFF), cheat_manager_state.cheats[cheat_index].address ); - } } *w = 19; strlcpy(s2, path, len2); @@ -816,131 +810,6 @@ static void menu_action_setting_disp_set_label_wifi_is_online( strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_ONLINE), len); } -static void menu_action_setting_disp_set_label_xmb_layout( - file_list_t* list, - unsigned *w, unsigned type, unsigned i, - const char *label, - char *s, size_t len, - const char *entry_label, - const char *path, - char *s2, size_t len2) -{ - settings_t *settings = config_get_ptr(); - - strlcpy(s2, path, len2); - *w = 19; - - if (!settings) - return; - - switch (settings->uints.menu_xmb_layout) - { - case 0: - strlcpy(s, "Auto", len); - break; - case 1: - strlcpy(s, "Console", len); - break; - case 2: - strlcpy(s, "Handheld", len); - break; - } -} - -static void menu_action_setting_disp_set_label_xmb_menu_color_theme( - file_list_t* list, - unsigned *w, unsigned type, unsigned i, - const char *label, - char *s, size_t len, - const char *entry_label, - const char *path, - char *s2, size_t len2) -{ - settings_t *settings = config_get_ptr(); - - strlcpy(s2, path, len2); - *w = 19; - - if (!settings) - return; - - switch (settings->uints.menu_xmb_color_theme) - { - case XMB_THEME_WALLPAPER: - strlcpy(s, - msg_hash_to_str( - MENU_ENUM_LABEL_VALUE_XMB_MENU_COLOR_THEME_PLAIN), - len); - break; - case XMB_THEME_LEGACY_RED: - strlcpy(s, - msg_hash_to_str( - MENU_ENUM_LABEL_VALUE_XMB_MENU_COLOR_THEME_LEGACY_RED), - len); - break; - case XMB_THEME_DARK_PURPLE: - strlcpy(s, - msg_hash_to_str( - MENU_ENUM_LABEL_VALUE_XMB_MENU_COLOR_THEME_DARK_PURPLE), - len); - break; - case XMB_THEME_MIDNIGHT_BLUE: - strlcpy(s, - msg_hash_to_str( - MENU_ENUM_LABEL_VALUE_XMB_MENU_COLOR_THEME_MIDNIGHT_BLUE), - len); - break; - case XMB_THEME_GOLDEN: - strlcpy(s, - msg_hash_to_str( - MENU_ENUM_LABEL_VALUE_XMB_MENU_COLOR_THEME_GOLDEN), - len); - break; - case XMB_THEME_ELECTRIC_BLUE: - strlcpy(s, - msg_hash_to_str( - MENU_ENUM_LABEL_VALUE_XMB_MENU_COLOR_THEME_ELECTRIC_BLUE), - len); - break; - case XMB_THEME_APPLE_GREEN: - strlcpy(s, - msg_hash_to_str( - MENU_ENUM_LABEL_VALUE_XMB_MENU_COLOR_THEME_APPLE_GREEN), - len); - break; - case XMB_THEME_UNDERSEA: - strlcpy(s, - msg_hash_to_str( - MENU_ENUM_LABEL_VALUE_XMB_MENU_COLOR_THEME_UNDERSEA), - len); - break; - case XMB_THEME_VOLCANIC_RED: - strlcpy(s, - msg_hash_to_str( - MENU_ENUM_LABEL_VALUE_XMB_MENU_COLOR_THEME_VOLCANIC_RED), - len); - break; - case XMB_THEME_DARK: - strlcpy(s, - msg_hash_to_str( - MENU_ENUM_LABEL_VALUE_XMB_MENU_COLOR_THEME_DARK), - len); - break; - case XMB_THEME_LIGHT: - strlcpy(s, - msg_hash_to_str( - MENU_ENUM_LABEL_VALUE_XMB_MENU_COLOR_THEME_LIGHT), - len); - break; - case XMB_THEME_MORNING_BLUE: - strlcpy(s, - msg_hash_to_str( - MENU_ENUM_LABEL_VALUE_XMB_MENU_COLOR_THEME_MORNING_BLUE), - len); - break; - } -} - static void menu_action_setting_disp_set_label_materialui_menu_color_theme( file_list_t* list, unsigned *w, unsigned type, unsigned i, @@ -1721,18 +1590,10 @@ static int menu_cbs_init_bind_get_string_representation_compare_label( BIND_ACTION_GET_VALUE(cbs, menu_action_setting_disp_set_label_state); break; - case MENU_ENUM_LABEL_XMB_LAYOUT: - BIND_ACTION_GET_VALUE(cbs, - menu_action_setting_disp_set_label_xmb_layout); - break; case MENU_ENUM_LABEL_CONNECT_WIFI: BIND_ACTION_GET_VALUE(cbs, menu_action_setting_disp_set_label_wifi_is_online); break; - case MENU_ENUM_LABEL_XMB_MENU_COLOR_THEME: - BIND_ACTION_GET_VALUE(cbs, - menu_action_setting_disp_set_label_xmb_menu_color_theme); - break; case MENU_ENUM_LABEL_MATERIALUI_MENU_COLOR_THEME: BIND_ACTION_GET_VALUE(cbs, menu_action_setting_disp_set_label_materialui_menu_color_theme); diff --git a/menu/menu_setting.c b/menu/menu_setting.c index 5a900bc6bf..fc72d08921 100644 --- a/menu/menu_setting.c +++ b/menu/menu_setting.c @@ -246,6 +246,111 @@ static void setting_get_string_representation_uint_xmb_icon_theme(void *data, } } +static void setting_get_string_representation_uint_xmb_layout(void *data, + char *s, size_t len) +{ + rarch_setting_t *setting = (rarch_setting_t*)data; + if (!setting) + return; + + switch (*setting->value.target.unsigned_integer) + { + case 0: + strlcpy(s, "Auto", len); + break; + case 1: + strlcpy(s, "Console", len); + break; + case 2: + strlcpy(s, "Handheld", len); + break; + } +} + +static void setting_get_string_representation_uint_xmb_menu_color_theme(void *data, + char *s, size_t len) +{ + rarch_setting_t *setting = (rarch_setting_t*)data; + if (!setting) + return; + + switch (*setting->value.target.unsigned_integer) + { + case XMB_THEME_WALLPAPER: + strlcpy(s, + msg_hash_to_str( + MENU_ENUM_LABEL_VALUE_XMB_MENU_COLOR_THEME_PLAIN), + len); + break; + case XMB_THEME_LEGACY_RED: + strlcpy(s, + msg_hash_to_str( + MENU_ENUM_LABEL_VALUE_XMB_MENU_COLOR_THEME_LEGACY_RED), + len); + break; + case XMB_THEME_DARK_PURPLE: + strlcpy(s, + msg_hash_to_str( + MENU_ENUM_LABEL_VALUE_XMB_MENU_COLOR_THEME_DARK_PURPLE), + len); + break; + case XMB_THEME_MIDNIGHT_BLUE: + strlcpy(s, + msg_hash_to_str( + MENU_ENUM_LABEL_VALUE_XMB_MENU_COLOR_THEME_MIDNIGHT_BLUE), + len); + break; + case XMB_THEME_GOLDEN: + strlcpy(s, + msg_hash_to_str( + MENU_ENUM_LABEL_VALUE_XMB_MENU_COLOR_THEME_GOLDEN), + len); + break; + case XMB_THEME_ELECTRIC_BLUE: + strlcpy(s, + msg_hash_to_str( + MENU_ENUM_LABEL_VALUE_XMB_MENU_COLOR_THEME_ELECTRIC_BLUE), + len); + break; + case XMB_THEME_APPLE_GREEN: + strlcpy(s, + msg_hash_to_str( + MENU_ENUM_LABEL_VALUE_XMB_MENU_COLOR_THEME_APPLE_GREEN), + len); + break; + case XMB_THEME_UNDERSEA: + strlcpy(s, + msg_hash_to_str( + MENU_ENUM_LABEL_VALUE_XMB_MENU_COLOR_THEME_UNDERSEA), + len); + break; + case XMB_THEME_VOLCANIC_RED: + strlcpy(s, + msg_hash_to_str( + MENU_ENUM_LABEL_VALUE_XMB_MENU_COLOR_THEME_VOLCANIC_RED), + len); + break; + case XMB_THEME_DARK: + strlcpy(s, + msg_hash_to_str( + MENU_ENUM_LABEL_VALUE_XMB_MENU_COLOR_THEME_DARK), + len); + break; + case XMB_THEME_LIGHT: + strlcpy(s, + msg_hash_to_str( + MENU_ENUM_LABEL_VALUE_XMB_MENU_COLOR_THEME_LIGHT), + len); + break; + case XMB_THEME_MORNING_BLUE: + strlcpy(s, + msg_hash_to_str( + MENU_ENUM_LABEL_VALUE_XMB_MENU_COLOR_THEME_MORNING_BLUE), + len); + break; + } +} + static void setting_get_string_representation_uint_xmb_shader_pipeline(void *data, char *s, size_t len) { @@ -6745,6 +6850,8 @@ static bool setting_append_list( parent_group, general_write_handler, general_read_handler); + (*list)[list_info->index - 1].get_string_representation = + &setting_get_string_representation_uint_xmb_layout; menu_settings_list_current_add_range(list, list_info, 0, 2, 1, true, true); menu_settings_list_current_add_cmd(list, list_info, CMD_EVENT_REINIT); @@ -6811,6 +6918,9 @@ static bool setting_append_list( parent_group, general_write_handler, general_read_handler); + (*list)[list_info->index - 1].action_ok = &setting_action_ok_uint; + (*list)[list_info->index - 1].get_string_representation = + &setting_get_string_representation_uint_xmb_menu_color_theme; menu_settings_list_current_add_range(list, list_info, 0, XMB_THEME_LAST-1, 1, true, true); } #endif