From cd77db37dfb73b71813a5235642bd099d1068384 Mon Sep 17 00:00:00 2001 From: sonninnos Date: Sat, 6 Feb 2021 03:13:03 +0200 Subject: [PATCH] (XMB+OZONE) Proper control port icons --- menu/drivers/ozone/ozone_texture.c | 13 ++++++++++++- menu/drivers/xmb.c | 12 +++++++++++- menu/menu_displaylist.c | 2 +- menu/menu_driver.h | 1 + 4 files changed, 25 insertions(+), 3 deletions(-) diff --git a/menu/drivers/ozone/ozone_texture.c b/menu/drivers/ozone/ozone_texture.c index deb5b9b41f..3c8a0e4ad3 100644 --- a/menu/drivers/ozone/ozone_texture.c +++ b/menu/drivers/ozone/ozone_texture.c @@ -442,6 +442,8 @@ uintptr_t ozone_entries_icon_get_texture(ozone_handle_t *ozone, #endif case MENU_SETTING_ACTION: return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_SETTING]; + case MENU_SETTINGS_INPUT_LIBRETRO_DEVICE: + return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_SETTING]; case MENU_SETTINGS_INPUT_ANALOG_DPAD_MODE: return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_INPUT_ADC]; } @@ -471,10 +473,12 @@ uintptr_t ozone_entries_icon_get_texture(ozone_handle_t *ozone, if (type < MENU_SETTINGS_INPUT_DESC_BEGIN) { input_id = MENU_SETTINGS_INPUT_BEGIN; + if (type == input_id) + return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_SETTING]; if (type == input_id + 1) return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_INPUT_ADC]; #ifdef HAVE_LIBNX - // account for the additional split joycon option in Input User # Binds + /* account for the additional split joycon option in Input User # Binds */ input_id++; #endif if (type == input_id + 2) @@ -560,6 +564,13 @@ uintptr_t ozone_entries_icon_get_texture(ozone_handle_t *ozone, if (type == (input_id + 23)) return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_INPUT_STCK_U]; } + + if ( + (type >= MENU_SETTINGS_REMAPPING_PORT_BEGIN) && + (type <= MENU_SETTINGS_REMAPPING_PORT_END) + ) + return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_INPUT_SETTINGS]; + return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_SUBSETTING]; } diff --git a/menu/drivers/xmb.c b/menu/drivers/xmb.c index c26828cc9a..2048952c50 100644 --- a/menu/drivers/xmb.c +++ b/menu/drivers/xmb.c @@ -2876,6 +2876,8 @@ static uintptr_t xmb_icon_get_id(xmb_handle_t *xmb, case MENU_ROOM_RELAY: return xmb->textures.list[XMB_TEXTURE_ROOM_RELAY]; #endif + case MENU_SETTINGS_INPUT_LIBRETRO_DEVICE: + return xmb->textures.list[XMB_TEXTURE_SETTING]; case MENU_SETTINGS_INPUT_ANALOG_DPAD_MODE: return xmb->textures.list[XMB_TEXTURE_INPUT_ADC]; } @@ -2905,10 +2907,12 @@ static uintptr_t xmb_icon_get_id(xmb_handle_t *xmb, /* Input User # Binds only */ { input_id = MENU_SETTINGS_INPUT_BEGIN; + if ( type == input_id) + return xmb->textures.list[XMB_TEXTURE_SETTING]; if ( type == input_id + 1) return xmb->textures.list[XMB_TEXTURE_INPUT_ADC]; #ifdef HAVE_LIBNX - // account for the additional split joycon option in Input # Binds + /* account for the additional split joycon option in Input # Binds */ input_id++; #endif if ( type == input_id + 2) @@ -2995,6 +2999,12 @@ static uintptr_t xmb_icon_get_id(xmb_handle_t *xmb, return xmb->textures.list[XMB_TEXTURE_INPUT_STCK_U]; } + if ( + (type >= MENU_SETTINGS_REMAPPING_PORT_BEGIN) && + (type <= MENU_SETTINGS_REMAPPING_PORT_END) + ) + return xmb->textures.list[XMB_TEXTURE_INPUT_SETTINGS]; + if (checked) return xmb->textures.list[XMB_TEXTURE_CHECKMARK]; diff --git a/menu/menu_displaylist.c b/menu/menu_displaylist.c index c44be1939d..cd51acd7b6 100644 --- a/menu/menu_displaylist.c +++ b/menu/menu_displaylist.c @@ -9478,7 +9478,7 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, msg_hash_to_str(MENU_ENUM_LABEL_INPUT_PLAYER_ANALOG_DPAD_MODE), val); if (MENU_DISPLAYLIST_PARSE_SETTINGS(list, - key_type, PARSE_ONLY_UINT, true, 0) == 0) + key_type, PARSE_ONLY_UINT, true, MENU_SETTINGS_INPUT_LIBRETRO_DEVICE) == 0) count++; if (MENU_DISPLAYLIST_PARSE_SETTINGS(list, key_analog, PARSE_ONLY_UINT, true, MENU_SETTINGS_INPUT_ANALOG_DPAD_MODE) == 0) diff --git a/menu/menu_driver.h b/menu/menu_driver.h index 50bb073d97..6afdd4aabc 100644 --- a/menu/menu_driver.h +++ b/menu/menu_driver.h @@ -182,6 +182,7 @@ enum menu_settings_type MENU_SETTINGS_CHEAT_BEGIN, MENU_SETTINGS_CHEAT_END = MENU_SETTINGS_CHEAT_BEGIN + (MAX_CHEAT_COUNTERS - 1), + MENU_SETTINGS_INPUT_LIBRETRO_DEVICE, MENU_SETTINGS_INPUT_ANALOG_DPAD_MODE, MENU_SETTINGS_INPUT_BEGIN, MENU_SETTINGS_INPUT_END = MENU_SETTINGS_INPUT_BEGIN + RARCH_CUSTOM_BIND_LIST_END + 6,