Add common Thumbnail Background option for all menu drivers

This commit is contained in:
sonninnos 2025-05-03 18:54:23 +03:00
parent 2a225a20dc
commit e3583cbcbb
12 changed files with 226 additions and 100 deletions

View File

@ -156,6 +156,7 @@
* > Helps to unify menu appearance when viewing
* thumbnails of different sizes */
#define DEFAULT_MATERIALUI_THUMBNAIL_BACKGROUND_ENABLE true
#define DEFAULT_MENU_THUMBNAIL_BACKGROUND_ENABLE false
#define DEFAULT_SCREEN_BRIGHTNESS 100

View File

@ -2072,6 +2072,7 @@ static struct config_bool_setting *populate_settings_bool(
SETTING_BOOL("menu_navigation_wraparound_enable", &settings->bools.menu_navigation_wraparound_enable, true, true, false);
SETTING_BOOL("menu_navigation_browser_filter_supported_extensions_enable", &settings->bools.menu_navigation_browser_filter_supported_extensions_enable, true, true, false);
SETTING_BOOL("menu_show_advanced_settings", &settings->bools.menu_show_advanced_settings, true, DEFAULT_SHOW_ADVANCED_SETTINGS, false);
SETTING_BOOL("menu_thumbnail_background_enable", &settings->bools.menu_thumbnail_background_enable, true, DEFAULT_MENU_THUMBNAIL_BACKGROUND_ENABLE, false);
#ifdef HAVE_MATERIALUI
SETTING_BOOL("materialui_icons_enable", &settings->bools.menu_materialui_icons_enable, true, DEFAULT_MATERIALUI_ICONS_ENABLE, false);
SETTING_BOOL("materialui_switch_icons", &settings->bools.menu_materialui_switch_icons, true, DEFAULT_MATERIALUI_SWITCH_ICONS, false);

View File

@ -803,6 +803,7 @@ typedef struct settings
bool menu_materialui_auto_rotate_nav_bar;
bool menu_materialui_dual_thumbnail_list_view_enable;
bool menu_materialui_thumbnail_background_enable;
bool menu_thumbnail_background_enable;
bool menu_rgui_background_filler_thickness_enable;
bool menu_rgui_border_filler_thickness_enable;
bool menu_rgui_border_filler_enable;

View File

@ -5222,6 +5222,10 @@ MSG_HASH(
MENU_ENUM_LABEL_MATERIALUI_THUMBNAIL_BACKGROUND_ENABLE,
"materialui_thumbnail_background_enable"
)
MSG_HASH(
MENU_ENUM_LABEL_MENU_THUMBNAIL_BACKGROUND_ENABLE,
"menu_thumbnail_background_enable"
)
MSG_HASH(
MENU_ENUM_LABEL_RENAME_ENTRY,
"rename_entry"

View File

@ -7198,6 +7198,14 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_MENU_THUMBNAIL_UPSCALE_THRESHOLD,
"Automatically upscale thumbnail images with a width/height smaller than the specified value. Improves picture quality. Has a moderate performance impact."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_MENU_THUMBNAIL_BACKGROUND_ENABLE,
"Thumbnail Backgrounds"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_MENU_THUMBNAIL_BACKGROUND_ENABLE,
"Enables padding of unused space in thumbnail images with a solid background. This ensures a uniform display size for all images, improving menu appearance when viewing mixed content thumbnails with varying base dimensions."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_MENU_TICKER_TYPE,
"Ticker Text Animation"
@ -12610,7 +12618,7 @@ MSG_HASH(
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_MATERIALUI_THUMBNAIL_BACKGROUND_ENABLE,
"Draw Thumbnail Backgrounds"
"Thumbnail Backgrounds"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_MATERIALUI_THUMBNAIL_BACKGROUND_ENABLE,

View File

@ -950,6 +950,7 @@ DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_ozone_truncate_playlist_name,
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_ozone_sort_after_truncate_playlist_name, MENU_ENUM_SUBLABEL_OZONE_SORT_AFTER_TRUNCATE_PLAYLIST_NAME)
#endif
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_menu_thumbnail_upscale_threshold, MENU_ENUM_SUBLABEL_MENU_THUMBNAIL_UPSCALE_THRESHOLD)
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_menu_thumbnail_background_enable, MENU_ENUM_SUBLABEL_MENU_THUMBNAIL_BACKGROUND_ENABLE)
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_timedate_enable, MENU_ENUM_SUBLABEL_TIMEDATE_ENABLE)
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_timedate_style, MENU_ENUM_SUBLABEL_TIMEDATE_STYLE)
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_timedate_date_separator, MENU_ENUM_SUBLABEL_TIMEDATE_DATE_SEPARATOR)
@ -2577,6 +2578,9 @@ int menu_cbs_init_bind_sublabel(menu_file_list_cbs_t *cbs,
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_materialui_thumbnail_background_enable);
#endif
break;
case MENU_ENUM_LABEL_MENU_THUMBNAIL_BACKGROUND_ENABLE:
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_menu_thumbnail_background_enable);
break;
case MENU_ENUM_LABEL_SCREEN_RESOLUTION:
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_screen_resolution);
break;

View File

@ -6157,6 +6157,7 @@ static void ozone_draw_thumbnail_bar(
int bottom_row_y_position = 0;
bool show_right_thumbnail = false;
bool show_left_thumbnail = false;
bool thumbnail_background = settings->bools.menu_thumbnail_background_enable;
unsigned sidebar_height = video_height
- ozone->dimensions.header_height
- ozone->dimensions.sidebar_gradient_height * 2
@ -6264,6 +6265,7 @@ static void ozone_draw_thumbnail_bar(
+ (int)(1.5f * (float)ozone->dimensions.sidebar_entry_icon_padding);
right_thumbnail_alignment = GFX_THUMBNAIL_ALIGN_CENTRE;
show_left_thumbnail = false;
if (thumbnail_height > thumbnail_width)
{
@ -6326,6 +6328,32 @@ static void ozone_draw_thumbnail_bar(
/* > If we have a right thumbnail, show it */
if (show_right_thumbnail)
{
if (thumbnail_background)
{
float background_color[16] = {
0.0f, 0.0f, 0.0f, 1.0f,
0.0f, 0.0f, 0.0f, 1.0f,
0.0f, 0.0f, 0.0f, 1.0f,
0.0f, 0.0f, 0.0f, 1.0f,
};
right_thumbnail_alignment = GFX_THUMBNAIL_ALIGN_CENTRE;
gfx_display_draw_quad(
p_disp,
userdata,
video_width,
video_height,
thumbnail_x_position,
right_thumbnail_y_position,
thumbnail_width,
thumbnail_height,
video_width,
video_height,
background_color,
NULL);
}
gfx_thumbnail_draw(
userdata,
video_width,
@ -6410,6 +6438,32 @@ static void ozone_draw_thumbnail_bar(
left_thumbnail_alpha = 1.0f;
}
if (thumbnail_background)
{
float background_color[16] = {
0.0f, 0.0f, 0.0f, 1.0f,
0.0f, 0.0f, 0.0f, 1.0f,
0.0f, 0.0f, 0.0f, 1.0f,
0.0f, 0.0f, 0.0f, 1.0f,
};
left_thumbnail_alignment = GFX_THUMBNAIL_ALIGN_CENTRE;
gfx_display_draw_quad(
p_disp,
userdata,
video_width,
video_height,
thumbnail_x_position,
left_thumbnail_y_position,
thumbnail_width,
thumbnail_height,
video_width,
video_height,
background_color,
NULL);
}
/* Note: This is a NOOP when alpha is zero
* (i.e. no performance impact when content
* metadata override is fully active) */

View File

@ -2827,7 +2827,8 @@ static void rgui_render_mini_thumbnail(
unsigned fb_width,
unsigned fb_height,
size_t fb_pitch,
bool menu_rgui_swap_thumbnails)
bool swap_thumbnails,
bool thumbnail_background)
{
if (thumbnail->is_valid && frame_buf_data && thumbnail->data)
{
@ -2848,18 +2849,19 @@ static void rgui_render_mini_thumbnail(
fb_x_offset = (rgui->term_layout.start_x + term_width) -
(thumbnail->width + ((thumbnail_fullwidth - thumbnail->width) >> 1));
if ( ((thumbnail_id == GFX_THUMBNAIL_RIGHT) && !menu_rgui_swap_thumbnails)
|| ((thumbnail_id == GFX_THUMBNAIL_LEFT) && menu_rgui_swap_thumbnails))
if ( ((thumbnail_id == GFX_THUMBNAIL_RIGHT) && !swap_thumbnails)
|| ((thumbnail_id == GFX_THUMBNAIL_LEFT) && swap_thumbnails))
fb_y_offset = rgui->term_layout.start_y + ((thumbnail->max_height - thumbnail->height) >> 1);
else
fb_y_offset = (rgui->term_layout.start_y + term_height) -
(thumbnail->height + ((thumbnail->max_height - thumbnail->height) >> 1));
/* Draw background */
if (thumbnail_background)
rgui_fill_rect(frame_buf_data, fb_width, fb_height,
rgui->term_layout.start_x + term_width - thumbnail_fullwidth,
( ((thumbnail_id == GFX_THUMBNAIL_RIGHT) && !menu_rgui_swap_thumbnails)
|| ((thumbnail_id == GFX_THUMBNAIL_LEFT) && menu_rgui_swap_thumbnails))
( ((thumbnail_id == GFX_THUMBNAIL_RIGHT) && !swap_thumbnails)
|| ((thumbnail_id == GFX_THUMBNAIL_LEFT) && swap_thumbnails))
? fb_y_offset : fb_y_offset - ((thumbnail->max_height - thumbnail->height) >> 1),
thumbnail_fullwidth, thumbnail->max_height,
rgui->colors.shadow_color,
@ -5018,6 +5020,7 @@ static void rgui_render(void *data, unsigned width, unsigned height,
bool rgui_inline_thumbnails = settings->bools.menu_rgui_inline_thumbnails || (rgui->flags & RGUI_FLAG_IS_QUICK_MENU);
bool menu_battery_level_enable = settings->bools.menu_battery_level_enable;
bool use_smooth_ticker = settings->bools.menu_ticker_smooth;
bool thumbnail_background = settings->bools.menu_thumbnail_background_enable;
bool rgui_swap_thumbnails = settings->bools.menu_rgui_swap_thumbnails;
bool rgui_full_width_layout = settings->bools.menu_rgui_full_width_layout;
bool rgui_switch_icons = settings->bools.menu_rgui_switch_icons;
@ -5717,7 +5720,7 @@ static void rgui_render(void *data, unsigned width, unsigned height,
rgui->frame_buf.data,
(rgui_swap_thumbnails) ? GFX_THUMBNAIL_RIGHT : GFX_THUMBNAIL_LEFT,
fb_width, fb_height, fb_pitch,
rgui_swap_thumbnails);
rgui_swap_thumbnails, thumbnail_background);
}
else if (show_mini_thumbnails)
{
@ -5728,13 +5731,13 @@ static void rgui_render(void *data, unsigned width, unsigned height,
rgui->frame_buf.data,
GFX_THUMBNAIL_RIGHT,
fb_width, fb_height, fb_pitch,
rgui_swap_thumbnails);
rgui_swap_thumbnails, thumbnail_background);
if (show_left_thumbnail && thumbnail2)
rgui_render_mini_thumbnail(rgui, thumbnail2,
rgui->frame_buf.data,
GFX_THUMBNAIL_LEFT,
fb_width, fb_height, fb_pitch,
rgui_swap_thumbnails);
rgui_swap_thumbnails, thumbnail_background);
}
/* Print menu sublabel/core name (if required) */

View File

@ -7967,13 +7967,19 @@ static void xmb_frame(void *data, video_frame_info_t *video_info)
}
else if (xmb->fullscreen_thumbnails_available && !xmb->show_fullscreen_thumbnails)
{
float background_color[16] = {
0.0f, 0.0f, 0.0f, 1.0f,
0.0f, 0.0f, 0.0f, 1.0f,
0.0f, 0.0f, 0.0f, 1.0f,
0.0f, 0.0f, 0.0f, 1.0f,
};
bool thumbnail_background = settings->bools.menu_thumbnail_background_enable;
bool show_right_thumbnail =
(gfx_thumbnail_is_enabled(menu_st->thumbnail_path_data, GFX_THUMBNAIL_RIGHT))
&& ( (xmb->thumbnails.right.status == GFX_THUMBNAIL_STATUS_AVAILABLE)
|| ( xmb->thumbnails.right.status < GFX_THUMBNAIL_STATUS_AVAILABLE
&& xmb->thumbnails_right_status_prev <= GFX_THUMBNAIL_STATUS_AVAILABLE
&& xmb->thumbnails_right_status_prev != GFX_THUMBNAIL_STATUS_UNKNOWN));
bool show_left_thumbnail =
(gfx_thumbnail_is_enabled(menu_st->thumbnail_path_data, GFX_THUMBNAIL_LEFT))
&& ( (xmb->thumbnails.left.status == GFX_THUMBNAIL_STATUS_AVAILABLE)
@ -8005,14 +8011,9 @@ static void xmb_frame(void *data, video_frame_info_t *video_info)
float right_thumb_y = thumb_y_base + thumb_y_offset;
float left_thumb_y = thumb_y_base + thumb_height + (xmb->icon_size / 8) + thumb_y_offset;
float background_color[16] = {
0.0f, 0.0f, 0.0f, 1.0f,
0.0f, 0.0f, 0.0f, 1.0f,
0.0f, 0.0f, 0.0f, 1.0f,
0.0f, 0.0f, 0.0f, 1.0f,
};
/* Darken background */
if (thumbnail_background)
{
gfx_display_draw_quad(
p_disp,
userdata,
@ -8040,6 +8041,7 @@ static void xmb_frame(void *data, video_frame_info_t *video_info)
video_height,
background_color,
NULL);
}
gfx_thumbnail_draw(
userdata,
@ -8076,17 +8078,31 @@ static void xmb_frame(void *data, video_frame_info_t *video_info)
+ ((thumb_width - scaled_thumb_width) / 2.0f);
float thumb_y = xmb->margins_screen_top + (xmb->icon_size / 1.5f);
if (thumbnail_background)
gfx_display_draw_quad(
p_disp,
userdata,
video_width,
video_height,
thumb_x,
thumb_y,
scaled_thumb_width,
scaled_thumb_height,
video_width,
video_height,
background_color,
NULL);
gfx_thumbnail_draw(
userdata,
video_width,
video_height,
show_right_thumbnail
? &xmb->thumbnails.right : &xmb->thumbnails.left,
(show_right_thumbnail) ? &xmb->thumbnails.right : &xmb->thumbnails.left,
thumb_x,
thumb_y,
scaled_thumb_width > 0.0f ? (unsigned)scaled_thumb_width : 0,
scaled_thumb_height > 0.0f ? (unsigned)scaled_thumb_height : 0,
GFX_THUMBNAIL_ALIGN_TOP,
(scaled_thumb_width > 0.0f) ? (unsigned)scaled_thumb_width : 0,
(scaled_thumb_height > 0.0f) ? (unsigned)scaled_thumb_height : 0,
(thumbnail_background) ? GFX_THUMBNAIL_ALIGN_CENTRE : GFX_THUMBNAIL_ALIGN_TOP,
1.0f, 1.0f, &thumbnail_shadow);
}
}
@ -8103,6 +8119,21 @@ static void xmb_frame(void *data, video_frame_info_t *video_info)
+ ((thumb_width - scaled_thumb_width) / 2.0f);
float thumb_y = xmb->margins_screen_top + (xmb->icon_size / 1.5f);
if (thumbnail_background)
gfx_display_draw_quad(
p_disp,
userdata,
video_width,
video_height,
thumb_x,
thumb_y,
scaled_thumb_width,
scaled_thumb_height,
video_width,
video_height,
background_color,
NULL);
gfx_thumbnail_draw(
userdata,
video_width,
@ -8112,7 +8143,7 @@ static void xmb_frame(void *data, video_frame_info_t *video_info)
thumb_y,
(scaled_thumb_width > 0.0f) ? (unsigned)scaled_thumb_width : 0,
(scaled_thumb_height > 0.0f) ? (unsigned)scaled_thumb_height : 0,
GFX_THUMBNAIL_ALIGN_TOP,
(thumbnail_background) ? GFX_THUMBNAIL_ALIGN_CENTRE : GFX_THUMBNAIL_ALIGN_TOP,
1.0f, 1.0f, &thumbnail_shadow);
}
@ -8129,6 +8160,21 @@ static void xmb_frame(void *data, video_frame_info_t *video_info)
+ ((thumb_width - scaled_thumb_width) / 2.0f);
float thumb_y = xmb->margins_screen_top + xmb->icon_size + y_offset;
if (thumbnail_background)
gfx_display_draw_quad(
p_disp,
userdata,
video_width,
video_height,
thumb_x,
thumb_y,
scaled_thumb_width,
scaled_thumb_height,
video_width,
video_height,
background_color,
NULL);
gfx_thumbnail_draw(
userdata,
video_width,
@ -8136,9 +8182,9 @@ static void xmb_frame(void *data, video_frame_info_t *video_info)
&xmb->thumbnails.left,
thumb_x,
thumb_y,
scaled_thumb_width > 0.0f ? (unsigned)scaled_thumb_width : 0,
scaled_thumb_height > 0.0f ? (unsigned)scaled_thumb_height : 0,
GFX_THUMBNAIL_ALIGN_TOP,
(scaled_thumb_width > 0.0f) ? (unsigned)scaled_thumb_width : 0,
(scaled_thumb_height > 0.0f) ? (unsigned)scaled_thumb_height : 0,
(thumbnail_background) ? GFX_THUMBNAIL_ALIGN_CENTRE : GFX_THUMBNAIL_ALIGN_TOP,
1.0f, 1.0f, &thumbnail_shadow);
}
}
@ -8162,19 +8208,36 @@ static void xmb_frame(void *data, video_frame_info_t *video_info)
/* Very small thumbnails look ridiculous
* > Impose a minimum size limit */
if (thumb_height > xmb->icon_size)
{
if (thumbnail_background)
gfx_display_draw_quad(
p_disp,
userdata,
video_width,
video_height,
thumb_x,
thumb_y,
scaled_thumb_width,
scaled_thumb_height,
video_width,
video_height,
background_color,
NULL);
gfx_thumbnail_draw(
userdata,
video_width,
video_height,
show_left_thumbnail ? &xmb->thumbnails.left : &xmb->thumbnails.right,
(show_left_thumbnail) ? &xmb->thumbnails.left : &xmb->thumbnails.right,
thumb_x,
thumb_y,
scaled_thumb_width > 0.0f ? (unsigned)scaled_thumb_width : 0,
scaled_thumb_height > 0.0f ? (unsigned)scaled_thumb_height : 0,
GFX_THUMBNAIL_ALIGN_TOP,
(scaled_thumb_width > 0.0f) ? (unsigned)scaled_thumb_width : 0,
(scaled_thumb_height > 0.0f) ? (unsigned)scaled_thumb_height : 0,
(thumbnail_background) ? GFX_THUMBNAIL_ALIGN_CENTRE : GFX_THUMBNAIL_ALIGN_TOP,
1.0f, 1.0f, &thumbnail_shadow);
}
}
}
/**************************/
/* Draw thumbnails: END */

View File

@ -11641,6 +11641,7 @@ unsigned menu_displaylist_build_list(
{MENU_ENUM_LABEL_MENU_RGUI_SWAP_THUMBNAILS, PARSE_ONLY_BOOL, true},
{MENU_ENUM_LABEL_MENU_RGUI_THUMBNAIL_DOWNSCALER, PARSE_ONLY_UINT, true},
{MENU_ENUM_LABEL_MENU_RGUI_THUMBNAIL_DELAY, PARSE_ONLY_UINT, true},
{MENU_ENUM_LABEL_MENU_THUMBNAIL_BACKGROUND_ENABLE, PARSE_ONLY_BOOL, true},
{MENU_ENUM_LABEL_XMB_FONT, PARSE_ONLY_PATH, true},
{MENU_ENUM_LABEL_MENU_FONT_COLOR_RED, PARSE_ONLY_UINT, true},
{MENU_ENUM_LABEL_MENU_FONT_COLOR_GREEN, PARSE_ONLY_UINT, true},

View File

@ -19670,41 +19670,6 @@ static bool setting_append_list(
general_write_handler,
general_read_handler,
SD_FLAG_NONE);
/* TODO: These should be removed entirely, but just
* comment out for now in case users complain...
CONFIG_FLOAT(
list, list_info,
&settings->floats.menu_header_opacity,
MENU_ENUM_LABEL_MATERIALUI_MENU_HEADER_OPACITY,
MENU_ENUM_LABEL_VALUE_MATERIALUI_MENU_HEADER_OPACITY,
DEFAULT_MENU_HEADER_OPACITY,
"%.3f",
&group_info,
&subgroup_info,
parent_group,
general_write_handler,
general_read_handler);
(*list)[list_info->index - 1].action_ok = &setting_action_ok_uint;
menu_settings_list_current_add_range(list, list_info, 0.0, 1.0, 0.010, true, true);
CONFIG_FLOAT(
list, list_info,
&settings->floats.menu_footer_opacity,
MENU_ENUM_LABEL_MATERIALUI_MENU_FOOTER_OPACITY,
MENU_ENUM_LABEL_VALUE_MATERIALUI_MENU_FOOTER_OPACITY,
DEFAULT_MENU_FOOTER_OPACITY,
"%.3f",
&group_info,
&subgroup_info,
parent_group,
general_write_handler,
general_read_handler);
(*list)[list_info->index - 1].action_ok = &setting_action_ok_uint;
menu_settings_list_current_add_range(list, list_info, 0.0, 1.0, 0.010, true, true);
(*list)[list_info->index - 1].ui_type
= ST_UI_TYPE_FLOAT_SLIDER_AND_SPINBOX;
*/
}
#endif
@ -19823,6 +19788,26 @@ static bool setting_append_list(
SD_FLAG_NONE);
}
if ( string_is_equal(settings->arrays.menu_driver, "xmb")
|| string_is_equal(settings->arrays.menu_driver, "ozone")
|| string_is_equal(settings->arrays.menu_driver, "rgui"))
{
CONFIG_BOOL(
list, list_info,
&settings->bools.menu_thumbnail_background_enable,
MENU_ENUM_LABEL_MENU_THUMBNAIL_BACKGROUND_ENABLE,
MENU_ENUM_LABEL_VALUE_MENU_THUMBNAIL_BACKGROUND_ENABLE,
DEFAULT_MENU_THUMBNAIL_BACKGROUND_ENABLE,
MENU_ENUM_LABEL_VALUE_OFF,
MENU_ENUM_LABEL_VALUE_ON,
&group_info,
&subgroup_info,
parent_group,
general_write_handler,
general_read_handler,
SD_FLAG_NONE);
}
if ( string_is_equal(settings->arrays.menu_driver, "xmb")
|| string_is_equal(settings->arrays.menu_driver, "ozone")
|| string_is_equal(settings->arrays.menu_driver, "rgui")

View File

@ -781,8 +781,8 @@ enum msg_hash_enums
MENU_LABEL(VIDEO_SHADERS_ENABLE),
MENU_LABEL(MATERIALUI_MENU_HEADER_OPACITY),
MENU_LABEL(MATERIALUI_MENU_FOOTER_OPACITY),
MENU_LABEL(MATERIALUI_MENU_HEADER_OPACITY), /* Deprecated */
MENU_LABEL(MATERIALUI_MENU_FOOTER_OPACITY), /* Deprecated */
MENU_ENUM_LABEL_VALUE_MATERIALUI_MENU_COLOR_THEME_BLUE,
MENU_ENUM_LABEL_VALUE_MATERIALUI_MENU_COLOR_THEME_BLUE_GREY,
MENU_ENUM_LABEL_VALUE_MATERIALUI_MENU_COLOR_THEME_RED,
@ -1658,6 +1658,7 @@ enum msg_hash_enums
MENU_LABEL(MENU_XMB_TITLE_MARGIN),
MENU_LABEL(MENU_XMB_TITLE_MARGIN_HORIZONTAL_OFFSET),
MENU_LABEL(MENU_THUMBNAIL_UPSCALE_THRESHOLD),
MENU_LABEL(MENU_THUMBNAIL_BACKGROUND_ENABLE),
MENU_LABEL(MENU_RGUI_INLINE_THUMBNAILS),
MENU_LABEL(MENU_RGUI_SWAP_THUMBNAILS),
MENU_LABEL(MENU_RGUI_THUMBNAIL_DOWNSCALER),