diff --git a/intl/msg_hash_us.h b/intl/msg_hash_us.h index 1674d599ae..f68fd02e85 100644 --- a/intl/msg_hash_us.h +++ b/intl/msg_hash_us.h @@ -8362,6 +8362,10 @@ MSG_HASH( MENU_ENUM_LABEL_VALUE_OZONE_COLOR_THEME_GRUVBOX_DARK, "Gruvbox Dark" ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_OZONE_COLOR_THEME_BOYSENBERRY, + "Boysenberry" + ) MSG_HASH( MENU_ENUM_LABEL_VALUE_LEFT_THUMBNAILS_OZONE, "Second Thumbnail" diff --git a/menu/drivers/ozone/ozone_theme.c b/menu/drivers/ozone/ozone_theme.c index c5ccb98e3f..6c5b9df203 100644 --- a/menu/drivers/ozone/ozone_theme.c +++ b/menu/drivers/ozone/ozone_theme.c @@ -133,6 +133,34 @@ static float ozone_background_libretro_running_gruvbox_dark[16] = { 0.1568627f, 0.1568627f, 0.1568627f, 1.0f, }; +static float ozone_background_libretro_running_boysenberry[16] = { + 0.27058823529, 0.09803921568, 0.14117647058, 0.75f, + 0.27058823529, 0.09803921568, 0.14117647058, 0.75f, + 0.27058823529, 0.09803921568, 0.14117647058, 0.75f, + 0.27058823529, 0.09803921568, 0.14117647058, 0.75f, +}; + +static float ozone_sidebar_background_boysenberry[16] = { + 0.27058823529, 0.09803921568, 0.14117647058, 1.00, + 0.27058823529, 0.09803921568, 0.14117647058, 1.00, + 0.27058823529, 0.09803921568, 0.14117647058, 1.00, + 0.27058823529, 0.09803921568, 0.14117647058, 1.00, +}; + +static float ozone_sidebar_gradient_top_boysenberry[16] = { + 0.27058823529, 0.09803921568, 0.14117647058, 1.00, + 0.27058823529, 0.09803921568, 0.14117647058, 1.00, + 0.19215686274, 0.0, 0.04705882352, 1.00, + 0.19215686274, 0.0, 0.04705882352, 1.00, +}; + +static float ozone_sidebar_gradient_bottom_boysenberry[16] = { + 0.19215686274, 0.0, 0.04705882352, 1.00, + 0.19215686274, 0.0, 0.04705882352, 1.00, + 0.27058823529, 0.09803921568, 0.14117647058, 1.00, + 0.27058823529, 0.09803921568, 0.14117647058, 1.00, +}; + static float ozone_border_0_light[16] = COLOR_HEX_TO_FLOAT(0x50EFD9, 1.00); static float ozone_border_1_light[16] = COLOR_HEX_TO_FLOAT(0x0DB6D5, 1.00); @@ -146,6 +174,9 @@ static float ozone_border_1_nord[16] = COLOR_HEX_TO_FLOAT(0x88C0D0, 1.0f); static float ozone_border_0_gruvbox_dark[16] = COLOR_HEX_TO_FLOAT(0xAF3A03, 1.0f); static float ozone_border_1_gruvbox_dark[16] = COLOR_HEX_TO_FLOAT(0xFE8019, 1.0f); +static float ozone_border_0_boysenberry[16] = COLOR_HEX_TO_FLOAT(0x50EFD9, 1.00); +static float ozone_border_1_boysenberry[16] = COLOR_HEX_TO_FLOAT(0x0DB6D5, 1.00); + ozone_theme_t ozone_theme_light = { COLOR_HEX_TO_FLOAT(0xEBEBEB, 1.00), ozone_background_libretro_running_light, @@ -272,12 +303,48 @@ ozone_theme_t ozone_theme_gruvbox_dark = { "gruvbox_dark" /* name */ }; +ozone_theme_t ozone_theme_boysenberry = { + /* Background color */ + COLOR_HEX_TO_FLOAT(0x31000C, 1.0f), /* background */ + ozone_background_libretro_running_boysenberry, /* background_libretro_running */ + + /* Float colors for quads and icons */ + COLOR_HEX_TO_FLOAT(0x85535F, 1.0f), /* header_footer_separator */ + COLOR_HEX_TO_FLOAT(0xEBDBB2, 1.0f), /* text */ + COLOR_HEX_TO_FLOAT(0x4E2A35, 1.0f), /* selection */ + COLOR_HEX_TO_FLOAT(0xD599FF, 1.0f), /* selection_border */ + COLOR_HEX_TO_FLOAT(0x73434C, 1.0f), /* entries_border */ + COLOR_HEX_TO_FLOAT(0xFEBCFF, 1.0f), /* entries_icon */ + COLOR_HEX_TO_FLOAT(0xD599FF, 1.0f), /* text_selected */ + COLOR_HEX_TO_FLOAT(0x32302F, 1.0f), /* message_background */ + + /* RGBA colors for text */ + 0xFEBCFFFF, /* text_rgba */ + 0xFEBCFFFF, /* text_selected_rgba */ + 0xD599FFFF, /* text_sublabel_rgba */ + + /* Sidebar color */ + ozone_sidebar_background_boysenberry, /* sidebar_background */ + ozone_sidebar_gradient_top_boysenberry, /* sidebar_top_gradient */ + ozone_sidebar_gradient_bottom_boysenberry, /* sidebar_bottom_gradient */ + + /* Fancy cursor colors */ + ozone_border_0_boysenberry, /* cursor_border_0 */ + ozone_border_1_boysenberry, /* cursor_border_1 */ + + {0}, /* textures */ + + "boysenberry" /* name */ +}; + ozone_theme_t *ozone_themes[] = { &ozone_theme_light, &ozone_theme_dark, &ozone_theme_nord, - &ozone_theme_gruvbox_dark + &ozone_theme_gruvbox_dark, + &ozone_theme_boysenberry + }; /* TODO/FIXME - global variables referenced outside */ @@ -310,6 +377,9 @@ void ozone_set_color_theme(ozone_handle_t *ozone, unsigned color_theme) case 3: theme = &ozone_theme_gruvbox_dark; break; + case 4: + theme = &ozone_theme_boysenberry; + break; default: break; } diff --git a/menu/drivers/ozone/ozone_theme.h b/menu/drivers/ozone/ozone_theme.h index df1cac1683..d5293be630 100644 --- a/menu/drivers/ozone/ozone_theme.h +++ b/menu/drivers/ozone/ozone_theme.h @@ -68,6 +68,7 @@ extern ozone_theme_t ozone_theme_light; extern ozone_theme_t ozone_theme_dark; extern ozone_theme_t ozone_theme_nord; extern ozone_theme_t ozone_theme_gruvbox_dark; +extern ozone_theme_t ozone_theme_boysenberry; extern ozone_theme_t *ozone_themes[]; diff --git a/menu/menu_setting.c b/menu/menu_setting.c index 98ec0a8391..1be994469f 100644 --- a/menu/menu_setting.c +++ b/menu/menu_setting.c @@ -4482,6 +4482,11 @@ static void setting_get_string_representation_uint_ozone_menu_color_theme( msg_hash_to_str( MENU_ENUM_LABEL_VALUE_OZONE_COLOR_THEME_GRUVBOX_DARK), len); break; + case 4: + strlcpy(s, + msg_hash_to_str( + MENU_ENUM_LABEL_VALUE_OZONE_COLOR_THEME_BOYSENBERRY), len); + break; case 0: default: strlcpy(s, @@ -14678,7 +14683,7 @@ static bool setting_append_list( (*list)[list_info->index - 1].action_ok = &setting_action_ok_uint; (*list)[list_info->index - 1].get_string_representation = &setting_get_string_representation_uint_ozone_menu_color_theme; - menu_settings_list_current_add_range(list, list_info, 0, 3, 1, true, true); + menu_settings_list_current_add_range(list, list_info, 0, 4, 1, true, true); (*list)[list_info->index - 1].ui_type = ST_UI_TYPE_UINT_COMBOBOX; CONFIG_BOOL( diff --git a/msg_hash.h b/msg_hash.h index 45088b146f..14bc3502c8 100644 --- a/msg_hash.h +++ b/msg_hash.h @@ -577,6 +577,7 @@ enum msg_hash_enums MENU_ENUM_LABEL_VALUE_OZONE_COLOR_THEME_BASIC_BLACK, MENU_ENUM_LABEL_VALUE_OZONE_COLOR_THEME_NORD, MENU_ENUM_LABEL_VALUE_OZONE_COLOR_THEME_GRUVBOX_DARK, + MENU_ENUM_LABEL_VALUE_OZONE_COLOR_THEME_BOYSENBERRY, MENU_ENUM_LABEL_VALUE_XMB_ICON_THEME_MONOCHROME, MENU_ENUM_LABEL_VALUE_XMB_ICON_THEME_MONOCHROME_INVERTED,