mirror of
https://github.com/libretro/RetroArch
synced 2025-02-21 09:39:56 +00:00
Revert "(GX) Declutter message queue code in RGUI"
This reverts commit 28b79e587291327e3058c7c746cb26026b517642.
This commit is contained in:
parent
28b79e5872
commit
0ed0295629
@ -135,6 +135,7 @@ struct rgui_handle
|
|||||||
rgui_list_t *folder_buf;
|
rgui_list_t *folder_buf;
|
||||||
int directory_ptr;
|
int directory_ptr;
|
||||||
bool need_refresh;
|
bool need_refresh;
|
||||||
|
bool msg_force;
|
||||||
|
|
||||||
char path_buf[PATH_MAX];
|
char path_buf[PATH_MAX];
|
||||||
|
|
||||||
@ -361,6 +362,11 @@ static void render_messagebox(rgui_handle_t *rgui, const char *message)
|
|||||||
|
|
||||||
static void render_text(rgui_handle_t *rgui)
|
static void render_text(rgui_handle_t *rgui)
|
||||||
{
|
{
|
||||||
|
if (rgui->need_refresh &&
|
||||||
|
(g_extern.lifecycle_mode_state & (1ULL << MODE_MENU))
|
||||||
|
&& !rgui->msg_force)
|
||||||
|
return;
|
||||||
|
|
||||||
size_t begin = rgui->directory_ptr >= TERM_HEIGHT / 2 ?
|
size_t begin = rgui->directory_ptr >= TERM_HEIGHT / 2 ?
|
||||||
rgui->directory_ptr - TERM_HEIGHT / 2 : 0;
|
rgui->directory_ptr - TERM_HEIGHT / 2 : 0;
|
||||||
size_t end = rgui->directory_ptr + TERM_HEIGHT <= rgui_list_size(rgui->folder_buf) ?
|
size_t end = rgui->directory_ptr + TERM_HEIGHT <= rgui_list_size(rgui->folder_buf) ?
|
||||||
@ -533,7 +539,22 @@ static void render_text(rgui_handle_t *rgui)
|
|||||||
blit_line(rgui, x, y, message, i == rgui->directory_ptr);
|
blit_line(rgui, x, y, message, i == rgui->directory_ptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
render_messagebox(rgui, msg_queue_pull(g_extern.msg_queue));
|
const char *message_queue;
|
||||||
|
#ifdef GEKKO
|
||||||
|
gx_video_t *gx = (gx_video_t*)driver.video_data;
|
||||||
|
if (rgui->msg_force)
|
||||||
|
{
|
||||||
|
message_queue = msg_queue_pull(g_extern.msg_queue);
|
||||||
|
rgui->msg_force = false;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
message_queue = gx->msg;
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
message_queue = msg_queue_pull(g_extern.msg_queue);
|
||||||
|
#endif
|
||||||
|
render_messagebox(rgui, message_queue);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef GEKKO
|
#ifdef GEKKO
|
||||||
@ -980,6 +1001,11 @@ int rgui_viewport_iterate(rgui_handle_t *rgui, rgui_action_t action)
|
|||||||
case RGUI_ACTION_SETTINGS:
|
case RGUI_ACTION_SETTINGS:
|
||||||
rgui_list_pop(rgui->path_stack);
|
rgui_list_pop(rgui->path_stack);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case RGUI_ACTION_MESSAGE:
|
||||||
|
rgui->msg_force = true;
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -1064,6 +1090,11 @@ int rgui_settings_iterate(rgui_handle_t *rgui, rgui_action_t action)
|
|||||||
rgui->directory_ptr = 0;
|
rgui->directory_ptr = 0;
|
||||||
rgui->need_refresh = true;
|
rgui->need_refresh = true;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case RGUI_ACTION_MESSAGE:
|
||||||
|
rgui->msg_force = true;
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -1186,6 +1217,7 @@ int rgui_iterate(rgui_handle_t *rgui, rgui_action_t action)
|
|||||||
console_load_game(rgui->path_buf);
|
console_load_game(rgui->path_buf);
|
||||||
rmenu_settings_msg(S_MSG_LOADING_ROM, S_DELAY_1);
|
rmenu_settings_msg(S_MSG_LOADING_ROM, S_DELAY_1);
|
||||||
rgui->need_refresh = true; // in case of zip extract
|
rgui->need_refresh = true; // in case of zip extract
|
||||||
|
rgui->msg_force = true;
|
||||||
ret = -1;
|
ret = -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1210,6 +1242,11 @@ int rgui_iterate(rgui_handle_t *rgui, rgui_action_t action)
|
|||||||
rgui->directory_ptr = 0;
|
rgui->directory_ptr = 0;
|
||||||
}
|
}
|
||||||
return rgui_settings_iterate(rgui, RGUI_ACTION_REFRESH);
|
return rgui_settings_iterate(rgui, RGUI_ACTION_REFRESH);
|
||||||
|
|
||||||
|
case RGUI_ACTION_MESSAGE:
|
||||||
|
rgui->msg_force = true;
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -874,6 +874,11 @@ static bool gx_frame(void *data, const void *frame,
|
|||||||
|
|
||||||
(void)data;
|
(void)data;
|
||||||
|
|
||||||
|
if (msg)
|
||||||
|
snprintf(gx->msg, sizeof(gx->msg), "%s", msg);
|
||||||
|
else
|
||||||
|
gx->msg[0] = 0;
|
||||||
|
|
||||||
if(!frame && !(lifecycle_mode_state & (1ULL << MODE_MENU_DRAW)))
|
if(!frame && !(lifecycle_mode_state & (1ULL << MODE_MENU_DRAW)))
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user