mirror of
https://github.com/libretro/RetroArch
synced 2025-04-15 23:42:30 +00:00
Create menu_driver_is_alive
This commit is contained in:
parent
9152d7e9c4
commit
0d5b3b9273
@ -1878,7 +1878,7 @@ bool command_event(enum event_command cmd, void *data)
|
|||||||
return command_event_resize_windowed_scale();
|
return command_event_resize_windowed_scale();
|
||||||
case CMD_EVENT_MENU_TOGGLE:
|
case CMD_EVENT_MENU_TOGGLE:
|
||||||
#ifdef HAVE_MENU
|
#ifdef HAVE_MENU
|
||||||
if (menu_driver_ctl(RARCH_MENU_CTL_IS_ALIVE, NULL))
|
if (menu_driver_is_alive())
|
||||||
rarch_ctl(RARCH_CTL_MENU_RUNNING_FINISHED, NULL);
|
rarch_ctl(RARCH_CTL_MENU_RUNNING_FINISHED, NULL);
|
||||||
else
|
else
|
||||||
rarch_ctl(RARCH_CTL_MENU_RUNNING, NULL);
|
rarch_ctl(RARCH_CTL_MENU_RUNNING, NULL);
|
||||||
@ -1969,7 +1969,7 @@ bool command_event(enum event_command cmd, void *data)
|
|||||||
command_event(CMD_EVENT_GAME_FOCUS_TOGGLE, (void*)(intptr_t)-1);
|
command_event(CMD_EVENT_GAME_FOCUS_TOGGLE, (void*)(intptr_t)-1);
|
||||||
#ifdef HAVE_MENU
|
#ifdef HAVE_MENU
|
||||||
menu_display_set_framebuffer_dirty_flag();
|
menu_display_set_framebuffer_dirty_flag();
|
||||||
if (menu_driver_ctl(RARCH_MENU_CTL_IS_ALIVE, NULL))
|
if (menu_driver_is_alive())
|
||||||
command_event(CMD_EVENT_VIDEO_SET_BLOCKING_STATE, NULL);
|
command_event(CMD_EVENT_VIDEO_SET_BLOCKING_STATE, NULL);
|
||||||
#endif
|
#endif
|
||||||
break;
|
break;
|
||||||
@ -2382,7 +2382,7 @@ bool command_event(enum event_command cmd, void *data)
|
|||||||
#ifdef HAVE_MENU
|
#ifdef HAVE_MENU
|
||||||
settings_t *settings = config_get_ptr();
|
settings_t *settings = config_get_ptr();
|
||||||
|
|
||||||
if (menu_driver_ctl(RARCH_MENU_CTL_IS_ALIVE, NULL))
|
if (menu_driver_is_alive())
|
||||||
{
|
{
|
||||||
if (settings->menu.pause_libretro)
|
if (settings->menu.pause_libretro)
|
||||||
command_event(CMD_EVENT_AUDIO_STOP, NULL);
|
command_event(CMD_EVENT_AUDIO_STOP, NULL);
|
||||||
|
@ -542,7 +542,7 @@ LRESULT CALLBACK WndProcGDI(HWND hwnd, UINT message,
|
|||||||
HDC hdc = BeginPaint(hwnd, &ps);
|
HDC hdc = BeginPaint(hwnd, &ps);
|
||||||
|
|
||||||
#ifdef HAVE_MENU
|
#ifdef HAVE_MENU
|
||||||
if (menu_driver_ctl(RARCH_MENU_CTL_IS_ALIVE, NULL) && !gdi_has_menu_frame())
|
if (menu_driver_is_alive() && !gdi_has_menu_frame())
|
||||||
{
|
{
|
||||||
RECT rect;
|
RECT rect;
|
||||||
GetClientRect(hwnd, &rect);
|
GetClientRect(hwnd, &rect);
|
||||||
|
@ -2291,7 +2291,7 @@ void video_driver_build_info(video_frame_info_t *video_info)
|
|||||||
|
|
||||||
video_info->libretro_running = false;
|
video_info->libretro_running = false;
|
||||||
#ifdef HAVE_MENU
|
#ifdef HAVE_MENU
|
||||||
video_info->menu_is_alive = menu_driver_ctl(RARCH_MENU_CTL_IS_ALIVE, NULL);
|
video_info->menu_is_alive = menu_driver_is_alive();
|
||||||
video_info->menu_footer_opacity = settings->menu.footer.opacity;
|
video_info->menu_footer_opacity = settings->menu.footer.opacity;
|
||||||
video_info->menu_header_opacity = settings->menu.header.opacity;
|
video_info->menu_header_opacity = settings->menu.header.opacity;
|
||||||
video_info->materialui_color_theme = settings->menu.materialui.menu_color_theme;
|
video_info->materialui_color_theme = settings->menu.materialui.menu_color_theme;
|
||||||
|
@ -181,7 +181,7 @@ static void ps3_joypad_poll(void)
|
|||||||
*state_cur |= (state_tmp.button[CELL_PAD_BTN_OFFSET_DIGITAL2] & CELL_PAD_CTRL_TRIANGLE) ? (UINT64_C(1) << RETRO_DEVICE_ID_JOYPAD_X) : 0;
|
*state_cur |= (state_tmp.button[CELL_PAD_BTN_OFFSET_DIGITAL2] & CELL_PAD_CTRL_TRIANGLE) ? (UINT64_C(1) << RETRO_DEVICE_ID_JOYPAD_X) : 0;
|
||||||
*state_cur |= (state_tmp.button[CELL_PAD_BTN_OFFSET_DIGITAL2] & CELL_PAD_CTRL_SQUARE) ? (UINT64_C(1) << RETRO_DEVICE_ID_JOYPAD_Y) : 0;
|
*state_cur |= (state_tmp.button[CELL_PAD_BTN_OFFSET_DIGITAL2] & CELL_PAD_CTRL_SQUARE) ? (UINT64_C(1) << RETRO_DEVICE_ID_JOYPAD_Y) : 0;
|
||||||
|
|
||||||
if (menu_driver_ctl(RARCH_MENU_CTL_IS_ALIVE, NULL))
|
if (menu_driver_is_alive())
|
||||||
{
|
{
|
||||||
int value = 0;
|
int value = 0;
|
||||||
if (cellSysutilGetSystemParamInt(CELL_SYSUTIL_SYSTEMPARAM_ID_ENTER_BUTTON_ASSIGN, &value) == 0)
|
if (cellSysutilGetSystemParamInt(CELL_SYSUTIL_SYSTEMPARAM_ID_ENTER_BUTTON_ASSIGN, &value) == 0)
|
||||||
|
@ -250,7 +250,7 @@ static void psp_joypad_poll(void)
|
|||||||
#endif
|
#endif
|
||||||
#if defined(VITA)
|
#if defined(VITA)
|
||||||
if (psp2_model == SCE_KERNEL_MODEL_VITA
|
if (psp2_model == SCE_KERNEL_MODEL_VITA
|
||||||
&& !menu_driver_ctl(RARCH_MENU_CTL_IS_ALIVE, NULL)
|
&& !menu_driver_is_alive()
|
||||||
&& settings->input.backtouch_enable)
|
&& settings->input.backtouch_enable)
|
||||||
{
|
{
|
||||||
unsigned i;
|
unsigned i;
|
||||||
|
@ -487,7 +487,7 @@ void input_overlay_loaded(void *task_data, void *user_data, const char *err)
|
|||||||
|
|
||||||
#ifdef HAVE_MENU
|
#ifdef HAVE_MENU
|
||||||
/* We can't display when the menu is up */
|
/* We can't display when the menu is up */
|
||||||
if (data->hide_in_menu && menu_driver_ctl(RARCH_MENU_CTL_IS_ALIVE, NULL))
|
if (data->hide_in_menu && menu_driver_is_alive())
|
||||||
{
|
{
|
||||||
if (data->overlay_enable)
|
if (data->overlay_enable)
|
||||||
goto abort_load;
|
goto abort_load;
|
||||||
|
@ -415,7 +415,7 @@ static void rgui_render(void *data)
|
|||||||
msg_force = menu_display_get_msg_force();
|
msg_force = menu_display_get_msg_force();
|
||||||
|
|
||||||
if (menu_entries_ctl(MENU_ENTRIES_CTL_NEEDS_REFRESH, NULL)
|
if (menu_entries_ctl(MENU_ENTRIES_CTL_NEEDS_REFRESH, NULL)
|
||||||
&& menu_driver_ctl(RARCH_MENU_CTL_IS_ALIVE, NULL) && !msg_force)
|
&& menu_driver_is_alive() && !msg_force)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (runloop_ctl(RUNLOOP_CTL_IS_IDLE, NULL))
|
if (runloop_ctl(RUNLOOP_CTL_IS_IDLE, NULL))
|
||||||
|
@ -539,7 +539,7 @@ static void xui_render(void *data)
|
|||||||
|
|
||||||
if (
|
if (
|
||||||
menu_entries_ctl(MENU_ENTRIES_CTL_NEEDS_REFRESH, NULL)
|
menu_entries_ctl(MENU_ENTRIES_CTL_NEEDS_REFRESH, NULL)
|
||||||
&& menu_driver_ctl(RARCH_MENU_CTL_IS_ALIVE, NULL)
|
&& menu_driver_is_alive()
|
||||||
&& !msg_force
|
&& !msg_force
|
||||||
)
|
)
|
||||||
return;
|
return;
|
||||||
|
@ -304,10 +304,7 @@ const char *menu_driver_ident(void)
|
|||||||
|
|
||||||
void menu_driver_frame(video_frame_info_t *video_info)
|
void menu_driver_frame(video_frame_info_t *video_info)
|
||||||
{
|
{
|
||||||
if (!menu_driver_alive)
|
if (menu_driver_alive && menu_driver_ctx->frame)
|
||||||
return;
|
|
||||||
|
|
||||||
if (menu_driver_ctx->frame)
|
|
||||||
menu_driver_ctx->frame(menu_userdata, video_info);
|
menu_driver_ctx->frame(menu_userdata, video_info);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -376,6 +373,11 @@ bool menu_driver_render(bool is_idle)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool menu_driver_is_alive(void)
|
||||||
|
{
|
||||||
|
return menu_driver_alive;
|
||||||
|
}
|
||||||
|
|
||||||
bool menu_driver_ctl(enum rarch_menu_ctl_state state, void *data)
|
bool menu_driver_ctl(enum rarch_menu_ctl_state state, void *data)
|
||||||
{
|
{
|
||||||
switch (state)
|
switch (state)
|
||||||
@ -507,8 +509,6 @@ bool menu_driver_ctl(enum rarch_menu_ctl_state state, void *data)
|
|||||||
case RARCH_MENU_CTL_UNSET_TOGGLE:
|
case RARCH_MENU_CTL_UNSET_TOGGLE:
|
||||||
menu_driver_toggle(false);
|
menu_driver_toggle(false);
|
||||||
break;
|
break;
|
||||||
case RARCH_MENU_CTL_IS_ALIVE:
|
|
||||||
return menu_driver_alive;
|
|
||||||
case RARCH_MENU_CTL_SET_OWN_DRIVER:
|
case RARCH_MENU_CTL_SET_OWN_DRIVER:
|
||||||
menu_driver_data_own = true;
|
menu_driver_data_own = true;
|
||||||
break;
|
break;
|
||||||
|
@ -104,7 +104,6 @@ enum rarch_menu_ctl_state
|
|||||||
RARCH_MENU_CTL_IS_TOGGLE,
|
RARCH_MENU_CTL_IS_TOGGLE,
|
||||||
RARCH_MENU_CTL_SET_TOGGLE,
|
RARCH_MENU_CTL_SET_TOGGLE,
|
||||||
RARCH_MENU_CTL_UNSET_TOGGLE,
|
RARCH_MENU_CTL_UNSET_TOGGLE,
|
||||||
RARCH_MENU_CTL_IS_ALIVE,
|
|
||||||
RARCH_MENU_CTL_DESTROY,
|
RARCH_MENU_CTL_DESTROY,
|
||||||
RARCH_MENU_CTL_IS_SET_TEXTURE,
|
RARCH_MENU_CTL_IS_SET_TEXTURE,
|
||||||
RARCH_MENU_CTL_SET_OWN_DRIVER,
|
RARCH_MENU_CTL_SET_OWN_DRIVER,
|
||||||
@ -392,6 +391,8 @@ void menu_driver_set_binding_state(bool on);
|
|||||||
|
|
||||||
void menu_driver_frame(video_frame_info_t *video_info);
|
void menu_driver_frame(video_frame_info_t *video_info);
|
||||||
|
|
||||||
|
bool menu_driver_is_alive(void);
|
||||||
|
|
||||||
extern menu_ctx_driver_t menu_ctx_xui;
|
extern menu_ctx_driver_t menu_ctx_xui;
|
||||||
extern menu_ctx_driver_t menu_ctx_rgui;
|
extern menu_ctx_driver_t menu_ctx_rgui;
|
||||||
extern menu_ctx_driver_t menu_ctx_mui;
|
extern menu_ctx_driver_t menu_ctx_mui;
|
||||||
|
@ -1080,7 +1080,7 @@ bool retroarch_main_init(int argc, char *argv[])
|
|||||||
{
|
{
|
||||||
#ifdef HAVE_MENU
|
#ifdef HAVE_MENU
|
||||||
/* Check if menu was active prior to core initialization */
|
/* Check if menu was active prior to core initialization */
|
||||||
if (menu_driver_ctl(RARCH_MENU_CTL_IS_ALIVE, NULL))
|
if (menu_driver_is_alive())
|
||||||
{
|
{
|
||||||
/* Attempt initializing dummy core */
|
/* Attempt initializing dummy core */
|
||||||
current_core_type = CORE_TYPE_DUMMY;
|
current_core_type = CORE_TYPE_DUMMY;
|
||||||
|
12
runloop.c
12
runloop.c
@ -706,7 +706,7 @@ static enum runloop_state runloop_check_state(
|
|||||||
|
|
||||||
if (runloop_cmd_triggered(trigger_input, RARCH_FULLSCREEN_TOGGLE_KEY))
|
if (runloop_cmd_triggered(trigger_input, RARCH_FULLSCREEN_TOGGLE_KEY))
|
||||||
{
|
{
|
||||||
bool fullscreen_toggled = !runloop_paused || menu_driver_ctl(RARCH_MENU_CTL_IS_ALIVE, NULL);
|
bool fullscreen_toggled = !runloop_paused || menu_driver_is_alive();
|
||||||
|
|
||||||
if (fullscreen_toggled)
|
if (fullscreen_toggled)
|
||||||
command_event(CMD_EVENT_FULLSCREEN_TOGGLE, NULL);
|
command_event(CMD_EVENT_FULLSCREEN_TOGGLE, NULL);
|
||||||
@ -757,7 +757,7 @@ static enum runloop_state runloop_check_state(
|
|||||||
}
|
}
|
||||||
|
|
||||||
#ifdef HAVE_MENU
|
#ifdef HAVE_MENU
|
||||||
if (menu_driver_ctl(RARCH_MENU_CTL_IS_ALIVE, NULL))
|
if (menu_driver_is_alive())
|
||||||
{
|
{
|
||||||
menu_ctx_iterate_t iter;
|
menu_ctx_iterate_t iter;
|
||||||
core_poll();
|
core_poll();
|
||||||
@ -794,7 +794,7 @@ static enum runloop_state runloop_check_state(
|
|||||||
#ifdef HAVE_MENU
|
#ifdef HAVE_MENU
|
||||||
if (menu_event_kb_is_set(RETROK_F1) == 1)
|
if (menu_event_kb_is_set(RETROK_F1) == 1)
|
||||||
{
|
{
|
||||||
if (menu_driver_ctl(RARCH_MENU_CTL_IS_ALIVE, NULL))
|
if (menu_driver_is_alive())
|
||||||
{
|
{
|
||||||
if (rarch_ctl(RARCH_CTL_IS_INITED, NULL) &&
|
if (rarch_ctl(RARCH_CTL_IS_INITED, NULL) &&
|
||||||
!rarch_ctl(RARCH_CTL_IS_DUMMY_CORE, NULL))
|
!rarch_ctl(RARCH_CTL_IS_DUMMY_CORE, NULL))
|
||||||
@ -808,7 +808,7 @@ static enum runloop_state runloop_check_state(
|
|||||||
runloop_cmd_triggered(trigger_input, RARCH_MENU_TOGGLE)) ||
|
runloop_cmd_triggered(trigger_input, RARCH_MENU_TOGGLE)) ||
|
||||||
rarch_ctl(RARCH_CTL_IS_DUMMY_CORE, NULL))
|
rarch_ctl(RARCH_CTL_IS_DUMMY_CORE, NULL))
|
||||||
{
|
{
|
||||||
if (menu_driver_ctl(RARCH_MENU_CTL_IS_ALIVE, NULL))
|
if (menu_driver_is_alive())
|
||||||
{
|
{
|
||||||
if (rarch_ctl(RARCH_CTL_IS_INITED, NULL) &&
|
if (rarch_ctl(RARCH_CTL_IS_INITED, NULL) &&
|
||||||
!rarch_ctl(RARCH_CTL_IS_DUMMY_CORE, NULL))
|
!rarch_ctl(RARCH_CTL_IS_DUMMY_CORE, NULL))
|
||||||
@ -823,7 +823,7 @@ static enum runloop_state runloop_check_state(
|
|||||||
else
|
else
|
||||||
menu_event_kb_set(false, RETROK_F1);
|
menu_event_kb_set(false, RETROK_F1);
|
||||||
|
|
||||||
if (menu_driver_ctl(RARCH_MENU_CTL_IS_ALIVE, NULL))
|
if (menu_driver_is_alive())
|
||||||
{
|
{
|
||||||
if (!settings->menu.throttle_framerate && !settings->fastforward_ratio)
|
if (!settings->menu.throttle_framerate && !settings->fastforward_ratio)
|
||||||
return RUNLOOP_STATE_MENU_ITERATE;
|
return RUNLOOP_STATE_MENU_ITERATE;
|
||||||
@ -1043,7 +1043,7 @@ int runloop_iterate(unsigned *sleep_ms)
|
|||||||
settings_t *settings = config_get_ptr();
|
settings_t *settings = config_get_ptr();
|
||||||
uint64_t old_input = last_input;
|
uint64_t old_input = last_input;
|
||||||
#ifdef HAVE_MENU
|
#ifdef HAVE_MENU
|
||||||
bool menu_is_alive = menu_driver_ctl(RARCH_MENU_CTL_IS_ALIVE, NULL);
|
bool menu_is_alive = menu_driver_is_alive();
|
||||||
#else
|
#else
|
||||||
bool menu_is_alive = false;
|
bool menu_is_alive = false;
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
x
Reference in New Issue
Block a user