diff --git a/intl/msg_hash_us.h b/intl/msg_hash_us.h index 0b6cd3d0cf..c5f065bc76 100644 --- a/intl/msg_hash_us.h +++ b/intl/msg_hash_us.h @@ -8556,6 +8556,10 @@ MSG_HASH( MENU_ENUM_LABEL_VALUE_OZONE_COLOR_THEME_HACKING_THE_KERNEL, "Hacking the Kernel" ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_OZONE_COLOR_THEME_TWILIGHT_ZONE, + "Twilight Zone" + ) 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 b1e1bfb80d..6bbc07ae20 100644 --- a/menu/drivers/ozone/ozone_theme.c +++ b/menu/drivers/ozone/ozone_theme.c @@ -189,6 +189,34 @@ static float ozone_sidebar_gradient_bottom_hacking_the_kernel[16] = { 0.0, 0.13333333, 0.0, 1.0f, }; +static float ozone_background_libretro_running_twilight_zone[16] = { + 0.0078431, 0.0, 0.0156862, 0.75f, + 0.0078431, 0.0, 0.0156862, 0.75f, + 0.0078431, 0.0, 0.0156862, 1.0f, + 0.0078431, 0.0, 0.0156862, 1.0f, +}; + +static float ozone_sidebar_background_twilight_zone[16] = { + 0.0078431, 0.0, 0.0156862, 1.0f, + 0.0078431, 0.0, 0.0156862, 1.0f, + 0.0078431, 0.0, 0.0156862, 1.0f, + 0.0078431, 0.0, 0.0156862, 1.0f, +}; + +static float ozone_sidebar_gradient_top_twilight_zone[16] = { + 0.0078431, 0.0, 0.0156862, 1.0f, + 0.0078431, 0.0, 0.0156862, 1.0f, + 0.0078431, 0.0, 0.0156862, 1.0f, + 0.0078431, 0.0, 0.0156862, 1.0f, +}; + +static float ozone_sidebar_gradient_bottom_twilight_zone[16] = { + 0.0078431, 0.0, 0.0156862, 1.0f, + 0.0078431, 0.0, 0.0156862, 1.0f, + 0.0078431, 0.0, 0.0156862, 1.0f, + 0.0078431, 0.0, 0.0156862, 1.0f, +}; + 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); @@ -205,8 +233,11 @@ 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); -static float ozone_border_0_hacking_the_kernel[16] = COLOR_HEX_TO_FLOAT(0x008c00, 1.0f); -static float ozone_border_1_hacking_the_kernel[16] = COLOR_HEX_TO_FLOAT(0x00e000, 1.0f); +static float ozone_border_0_hacking_the_kernel[16] = COLOR_HEX_TO_FLOAT(0x008C00, 1.0f); +static float ozone_border_1_hacking_the_kernel[16] = COLOR_HEX_TO_FLOAT(0x00E000, 1.0f); + +static float ozone_border_0_twilight_zone[16] = COLOR_HEX_TO_FLOAT(0xC3A0E0, 1.0f); +static float ozone_border_1_twilight_zone[16] = COLOR_HEX_TO_FLOAT(0x9B61CC, 1.0f); ozone_theme_t ozone_theme_light = { @@ -337,23 +368,23 @@ ozone_theme_t ozone_theme_gruvbox_dark = { ozone_theme_t ozone_theme_boysenberry = { /* Background color */ - COLOR_HEX_TO_FLOAT(0x31000C, 1.0f), /* background */ + 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 */ + 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 */ + 0xFEBCFFFF, /* text_rgba */ + 0xFEBCFFFF, /* text_selected_rgba */ + 0xD599FFFF, /* text_sublabel_rgba */ /* Sidebar color */ ozone_sidebar_background_boysenberry, /* sidebar_background */ @@ -364,30 +395,30 @@ ozone_theme_t ozone_theme_boysenberry = { ozone_border_0_boysenberry, /* cursor_border_0 */ ozone_border_1_boysenberry, /* cursor_border_1 */ - {0}, /* textures */ + {0}, /* textures */ "boysenberry" /* name */ }; ozone_theme_t ozone_theme_hacking_the_kernel = { /* Background color */ - COLOR_HEX_TO_FLOAT(0x001100, 1.0f), /* background */ + COLOR_HEX_TO_FLOAT(0x001100, 1.0f), /* background */ ozone_background_libretro_running_hacking_the_kernel, /* background_libretro_running */ /* Float colors for quads and icons */ - COLOR_HEX_TO_FLOAT(0x17C936, 1.0f), /* header_footer_separator */ - COLOR_HEX_TO_FLOAT(0x00FF29, 1.0f), /* text */ - COLOR_HEX_TO_FLOAT(0x003400, 1.0f), /* selection */ - COLOR_HEX_TO_FLOAT(0x1BDA3C, 1.0f), /* selection_border */ - COLOR_HEX_TO_FLOAT(0x008C00, 0.1f), /* entries_border */ - COLOR_HEX_TO_FLOAT(0x00FF00, 1.0f), /* entries_icon */ - COLOR_HEX_TO_FLOAT(0x8EC07C, 1.0f), /* text_selected */ - COLOR_HEX_TO_FLOAT(0x0D0E0F, 1.0f), /* message_background */ + COLOR_HEX_TO_FLOAT(0x17C936, 1.0f), /* header_footer_separator */ + COLOR_HEX_TO_FLOAT(0x00FF29, 1.0f), /* text */ + COLOR_HEX_TO_FLOAT(0x003400, 1.0f), /* selection */ + COLOR_HEX_TO_FLOAT(0x1BDA3C, 1.0f), /* selection_border */ + COLOR_HEX_TO_FLOAT(0x008C00, 0.1f), /* entries_border */ + COLOR_HEX_TO_FLOAT(0x00FF00, 1.0f), /* entries_icon */ + COLOR_HEX_TO_FLOAT(0x8EC07C, 1.0f), /* text_selected */ + COLOR_HEX_TO_FLOAT(0x0D0E0F, 1.0f), /* message_background */ /* RGBA colors for text */ - 0x00E528FF, /* text_rgba */ - 0x83FF83FF, /* text_selected_rgba */ - 0x53E63DFF, /* text_sublabel_rgba */ + 0x00E528FF, /* text_rgba */ + 0x83FF83FF, /* text_selected_rgba */ + 0x53E63DFF, /* text_sublabel_rgba */ /* Sidebar color */ ozone_sidebar_background_hacking_the_kernel, /* sidebar_background */ @@ -398,11 +429,45 @@ ozone_theme_t ozone_theme_hacking_the_kernel = { ozone_border_0_hacking_the_kernel, /* cursor_border_0 */ ozone_border_1_hacking_the_kernel, /* cursor_border_1 */ - {0}, /* textures */ + {0}, /* textures */ "hacking_the_kernel" /* name */ }; +ozone_theme_t ozone_theme_twilight_zone = { + /* Background color */ + COLOR_HEX_TO_FLOAT(0x020004, 1.0f), /* background */ + ozone_background_libretro_running_twilight_zone, /* background_libretro_running */ + + /* Float colors for quads and icons */ + COLOR_HEX_TO_FLOAT(0x5B5069, 1.0f), /* header_footer_separator */ + COLOR_HEX_TO_FLOAT(0xF7F0FA, 1.0f), /* text */ + COLOR_HEX_TO_FLOAT(0x232038, 1.0f), /* selection */ + COLOR_HEX_TO_FLOAT(0x9B61CC, 1.0f), /* selection_border */ + COLOR_HEX_TO_FLOAT(0xC27AFF, 1.0f), /* entries_border */ + COLOR_HEX_TO_FLOAT(0xFFFFFF, 1.0f), /* entries_icon */ + COLOR_HEX_TO_FLOAT(0xB78CC8, 1.0f), /* text_selected */ + COLOR_HEX_TO_FLOAT(0xB78CC8, 1.0f), /* message_background */ + + /* RGBA colors for text */ + 0xFDFCFEFF, /* text_rgba */ + 0xB78CC8FF, /* text_selected_rgba */ + 0x9A6C99FF, /* text_sublabel_rgba */ + + /* Sidebar color */ + ozone_sidebar_background_twilight_zone, /* sidebar_background */ + ozone_sidebar_gradient_top_twilight_zone, /* sidebar_top_gradient */ + ozone_sidebar_gradient_bottom_twilight_zone, /* sidebar_bottom_gradient */ + + /* Fancy cursor colors */ + ozone_border_0_twilight_zone, /* cursor_border_0 */ + ozone_border_1_twilight_zone, /* cursor_border_1 */ + + {0}, /* textures */ + + "twilight_zone" /* name */ +}; + ozone_theme_t *ozone_themes[] = { &ozone_theme_light, @@ -410,7 +475,8 @@ ozone_theme_t *ozone_themes[] = { &ozone_theme_nord, &ozone_theme_gruvbox_dark, &ozone_theme_boysenberry, - &ozone_theme_hacking_the_kernel + &ozone_theme_hacking_the_kernel, + &ozone_theme_twilight_zone }; @@ -449,7 +515,10 @@ void ozone_set_color_theme(ozone_handle_t *ozone, unsigned color_theme) break; case 5: theme = &ozone_theme_hacking_the_kernel; - break; + break; + case 6: + theme = &ozone_theme_twilight_zone; + break; default: break; } diff --git a/menu/drivers/ozone/ozone_theme.h b/menu/drivers/ozone/ozone_theme.h index 0b09e9db15..fb3c1132ce 100644 --- a/menu/drivers/ozone/ozone_theme.h +++ b/menu/drivers/ozone/ozone_theme.h @@ -70,6 +70,7 @@ 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_theme_hacking_the_kernel; +extern ozone_theme_t ozone_theme_twilight_zone; extern ozone_theme_t *ozone_themes[]; diff --git a/menu/menu_setting.c b/menu/menu_setting.c index ab37f5cc9f..393e4995cd 100644 --- a/menu/menu_setting.c +++ b/menu/menu_setting.c @@ -4598,7 +4598,12 @@ static void setting_get_string_representation_uint_ozone_menu_color_theme( strlcpy(s, msg_hash_to_str( MENU_ENUM_LABEL_VALUE_OZONE_COLOR_THEME_HACKING_THE_KERNEL), len); - break; + break; + case 6: + strlcpy(s, + msg_hash_to_str( + MENU_ENUM_LABEL_VALUE_OZONE_COLOR_THEME_TWILIGHT_ZONE), len); + break; case 0: default: strlcpy(s, @@ -15120,7 +15125,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, 5, 1, true, true); + menu_settings_list_current_add_range(list, list_info, 0, 6, 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 2ff99df6de..15ffe6a3c3 100644 --- a/msg_hash.h +++ b/msg_hash.h @@ -578,7 +578,8 @@ enum msg_hash_enums 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_OZONE_COLOR_THEME_HACKING_THE_KERNEL, + MENU_ENUM_LABEL_VALUE_OZONE_COLOR_THEME_HACKING_THE_KERNEL, + MENU_ENUM_LABEL_VALUE_OZONE_COLOR_THEME_TWILIGHT_ZONE, MENU_ENUM_LABEL_VALUE_XMB_ICON_THEME_MONOCHROME, MENU_ENUM_LABEL_VALUE_XMB_ICON_THEME_MONOCHROME_INVERTED,