Add parameter to function signature of menu_iterate
This commit is contained in:
parent
180cddfc35
commit
8bf28544ef
|
@ -100,7 +100,7 @@ bool menu_load_content(enum rarch_core_type type)
|
||||||
if (disp)
|
if (disp)
|
||||||
disp->msg_force = true;
|
disp->msg_force = true;
|
||||||
|
|
||||||
menu_iterate(MENU_ACTION_NOOP);
|
menu_iterate(true, MENU_ACTION_NOOP);
|
||||||
menu_iterate_main_render();
|
menu_iterate_main_render();
|
||||||
|
|
||||||
if (!(main_load_content(0, NULL, NULL, menu_environment_get,
|
if (!(main_load_content(0, NULL, NULL, menu_environment_get,
|
||||||
|
|
|
@ -165,13 +165,14 @@ void *menu_init(const void *data);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* menu_iterate:
|
* menu_iterate:
|
||||||
|
* @render_this_frame : Render this frame or not
|
||||||
* @action : Associated action for this frame
|
* @action : Associated action for this frame
|
||||||
*
|
*
|
||||||
* Runs RetroArch menu for one frame.
|
* Runs RetroArch menu for one frame.
|
||||||
*
|
*
|
||||||
* Returns: 0 on success, -1 if we need to quit out of the loop.
|
* Returns: 0 on success, -1 if we need to quit out of the loop.
|
||||||
**/
|
**/
|
||||||
int menu_iterate(unsigned action);
|
int menu_iterate(bool render_this_frame, unsigned action);
|
||||||
|
|
||||||
int menu_iterate_main_render(void);
|
int menu_iterate_main_render(void);
|
||||||
|
|
||||||
|
|
|
@ -423,7 +423,7 @@ static enum action_iterate_type action_iterate_type(uint32_t hash)
|
||||||
*
|
*
|
||||||
* Returns: 0 on success, -1 if we need to quit out of the loop.
|
* Returns: 0 on success, -1 if we need to quit out of the loop.
|
||||||
**/
|
**/
|
||||||
int menu_iterate(unsigned action)
|
int menu_iterate(bool render_this_frame, unsigned action)
|
||||||
{
|
{
|
||||||
menu_entry_t entry;
|
menu_entry_t entry;
|
||||||
enum action_iterate_type iterate_type;
|
enum action_iterate_type iterate_type;
|
||||||
|
@ -455,13 +455,17 @@ int menu_iterate(unsigned action)
|
||||||
iterate_type = action_iterate_type(hash);
|
iterate_type = action_iterate_type(hash);
|
||||||
|
|
||||||
if (action != MENU_ACTION_NOOP || menu_entries_needs_refresh() || menu_display_update_pending())
|
if (action != MENU_ACTION_NOOP || menu_entries_needs_refresh() || menu_display_update_pending())
|
||||||
menu->state.fb_is_dirty = true;
|
{
|
||||||
|
if (render_this_frame)
|
||||||
|
menu->state.fb_is_dirty = true;
|
||||||
|
}
|
||||||
|
|
||||||
switch (iterate_type)
|
switch (iterate_type)
|
||||||
{
|
{
|
||||||
case ITERATE_TYPE_HELP:
|
case ITERATE_TYPE_HELP:
|
||||||
ret = action_iterate_help(menu->state.msg, sizeof(menu->state.msg), label);
|
ret = action_iterate_help(menu->state.msg, sizeof(menu->state.msg), label);
|
||||||
menu->state.do_render = true;
|
if (render_this_frame)
|
||||||
|
menu->state.do_render = true;
|
||||||
menu->state.pop_selected = NULL;
|
menu->state.pop_selected = NULL;
|
||||||
menu->state.do_messagebox = true;
|
menu->state.do_messagebox = true;
|
||||||
menu->state.do_pop_stack = true;
|
menu->state.do_pop_stack = true;
|
||||||
|
@ -474,17 +478,20 @@ int menu_iterate(unsigned action)
|
||||||
menu_list_pop_stack(menu_list);
|
menu_list_pop_stack(menu_list);
|
||||||
else
|
else
|
||||||
menu->state.do_messagebox = true;
|
menu->state.do_messagebox = true;
|
||||||
menu->state.do_render = true;
|
if (render_this_frame)
|
||||||
|
menu->state.do_render = true;
|
||||||
break;
|
break;
|
||||||
case ITERATE_TYPE_VIEWPORT:
|
case ITERATE_TYPE_VIEWPORT:
|
||||||
ret = action_iterate_menu_viewport(menu->state.msg, sizeof(menu->state.msg), label, action, hash);
|
ret = action_iterate_menu_viewport(menu->state.msg, sizeof(menu->state.msg), label, action, hash);
|
||||||
menu->state.do_render = true;
|
if (render_this_frame)
|
||||||
|
menu->state.do_render = true;
|
||||||
menu->state.do_messagebox = true;
|
menu->state.do_messagebox = true;
|
||||||
break;
|
break;
|
||||||
case ITERATE_TYPE_INFO:
|
case ITERATE_TYPE_INFO:
|
||||||
ret = action_iterate_info(menu->state.msg, sizeof(menu->state.msg), label);
|
ret = action_iterate_info(menu->state.msg, sizeof(menu->state.msg), label);
|
||||||
menu->state.pop_selected = &nav->selection_ptr;
|
menu->state.pop_selected = &nav->selection_ptr;
|
||||||
menu->state.do_render = true;
|
if (render_this_frame)
|
||||||
|
menu->state.do_render = true;
|
||||||
menu->state.do_messagebox = true;
|
menu->state.do_messagebox = true;
|
||||||
menu->state.do_pop_stack = true;
|
menu->state.do_pop_stack = true;
|
||||||
menu->state.do_post_iterate = true;
|
menu->state.do_post_iterate = true;
|
||||||
|
@ -507,7 +514,8 @@ int menu_iterate(unsigned action)
|
||||||
goto end;
|
goto end;
|
||||||
|
|
||||||
menu->state.do_post_iterate = true;
|
menu->state.do_post_iterate = true;
|
||||||
menu->state.do_render = true;
|
if (render_this_frame)
|
||||||
|
menu->state.do_render = true;
|
||||||
|
|
||||||
/* Have to defer it so we let settings refresh. */
|
/* Have to defer it so we let settings refresh. */
|
||||||
if (menu->push_help_screen)
|
if (menu->push_help_screen)
|
||||||
|
|
|
@ -1039,7 +1039,7 @@ int rarch_main_iterate(void)
|
||||||
{
|
{
|
||||||
menu_handle_t *menu = menu_driver_get_ptr();
|
menu_handle_t *menu = menu_driver_get_ptr();
|
||||||
if (menu)
|
if (menu)
|
||||||
if (menu_iterate(menu_input_frame(input, trigger_input)) == -1)
|
if (menu_iterate(true, menu_input_frame(input, trigger_input)) == -1)
|
||||||
rarch_main_set_state(RARCH_ACTION_STATE_MENU_RUNNING_FINISHED);
|
rarch_main_set_state(RARCH_ACTION_STATE_MENU_RUNNING_FINISHED);
|
||||||
|
|
||||||
if (!input && settings->menu.pause_libretro)
|
if (!input && settings->menu.pause_libretro)
|
||||||
|
|
|
@ -62,6 +62,8 @@ static void rarch_draw(void)
|
||||||
bool iterate = iterate_observer && !(rarch_main_is_paused());
|
bool iterate = iterate_observer && !(rarch_main_is_paused());
|
||||||
int ret = iterate ? rarch_main_iterate() : 0;
|
int ret = iterate ? rarch_main_iterate() : 0;
|
||||||
|
|
||||||
|
if (ret == 0)
|
||||||
|
menu_iterate(false, MENU_ACTION_NOOP);
|
||||||
rarch_main_data_iterate();
|
rarch_main_data_iterate();
|
||||||
|
|
||||||
if (ret == -1)
|
if (ret == -1)
|
||||||
|
@ -478,7 +480,7 @@ static int ui_companion_cocoatouch_iterate(void *data, unsigned action)
|
||||||
|
|
||||||
static int ui_companion_cocoatouch_iterate_menu(void *data, unsigned action)
|
static int ui_companion_cocoatouch_iterate_menu(void *data, unsigned action)
|
||||||
{
|
{
|
||||||
menu_iterate(MENU_ACTION_NOOP);
|
menu_iterate(false, MENU_ACTION_NOOP);
|
||||||
rarch_main_set_state(RARCH_ACTION_STATE_MENU_RUNNING_FINISHED);
|
rarch_main_set_state(RARCH_ACTION_STATE_MENU_RUNNING_FINISHED);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue