- Create menu_display_shader_pipeline_active ; don't make menu wallpaper

opacity active when shader pipeline is activated in xMB
- reduce dependency on hash_label
This commit is contained in:
twinaphex 2016-07-09 16:33:55 +02:00
parent f8d844e150
commit 5be5409431
3 changed files with 39 additions and 17 deletions

View File

@ -476,6 +476,16 @@ void menu_display_draw(menu_display_ctx_draw_t *draw)
menu_disp->draw(draw);
}
bool menu_display_shader_pipeline_active(void)
{
settings_t *settings = config_get_ptr();
if (!string_is_equal(settings->menu.driver, "xmb"))
return false;
if (settings->menu.xmb.shader_pipeline == 2)
return false;
return true;
}
void menu_display_draw_pipeline(menu_display_ctx_draw_t *draw)
{
if (!menu_disp || !draw || !menu_disp->draw_pipeline)
@ -488,6 +498,7 @@ void menu_display_draw_bg(menu_display_ctx_draw_t *draw)
static struct video_coords coords;
const float *new_vertex = NULL;
const float *new_tex_coord = NULL;
settings_t *settings = config_get_ptr();
if (!menu_disp || !draw)
return;
@ -507,11 +518,8 @@ void menu_display_draw_bg(menu_display_ctx_draw_t *draw)
draw->coords = &coords;
if (!menu_display_libretro_running())
{
settings_t *settings = config_get_ptr();
if (!menu_display_libretro_running() && !menu_display_shader_pipeline_active())
menu_display_set_alpha(draw->color, settings->menu.wallpaper.opacity);
}
if (!draw->texture)
draw->texture = menu_display_white_texture;

View File

@ -201,6 +201,8 @@ void menu_display_draw_cursor(
void menu_display_draw_text(const char *msg, int width, int height,
struct font_params *params);
bool menu_display_shader_pipeline_active(void);
void menu_display_set_alpha(float *color, float alpha_value);
bool menu_display_font(enum application_special_type type);

View File

@ -3432,21 +3432,33 @@ static int menu_displaylist_parse_generic(
break;
case RARCH_PLAIN_FILE:
default:
switch (hash_label)
if (type == DISPLAYLIST_CORES_DETECTED)
{
case MENU_LABEL_DETECT_CORE_LIST:
case MENU_LABEL_DOWNLOADED_FILE_DETECT_CORE_LIST:
if (path_is_compressed_file(str_list->elems[i].data))
{
/* in case of deferred_core_list we have to interpret
* every archive as an archive to disallow instant loading
*/
file_type = FILE_TYPE_CARCHIVE;
break;
}
default:
/* in case of deferred_core_list we have to interpret
* every archive as an archive to disallow instant loading
*/
if (path_is_compressed_file(str_list->elems[i].data))
file_type = FILE_TYPE_CARCHIVE;
else
file_type = (enum msg_file_type)info->type_default;
break;
}
else
{
switch (hash_label)
{
case MENU_LABEL_DOWNLOADED_FILE_DETECT_CORE_LIST:
if (path_is_compressed_file(str_list->elems[i].data))
{
/* in case of deferred_core_list we have to interpret
* every archive as an archive to disallow instant loading
*/
file_type = FILE_TYPE_CARCHIVE;
break;
}
default:
file_type = (enum msg_file_type)info->type_default;
break;
}
}
break;
}