diff --git a/command.c b/command.c index 4259459032..beabb1c5d5 100644 --- a/command.c +++ b/command.c @@ -70,6 +70,7 @@ #ifdef HAVE_MENU #include "menu/menu_driver.h" +#include "menu/menu_content.h" #include "menu/menu_display.h" #include "menu/menu_shader.h" #endif @@ -1559,8 +1560,13 @@ static bool command_event_cmd_exec(void *data) } #if defined(HAVE_DYNAMIC) - if (!rarch_ctl(RARCH_CTL_LOAD_CONTENT, NULL)) +#ifdef HAVE_MENU + if (!menu_content_ctl(MENU_CONTENT_CTL_LOAD, NULL)) + { + rarch_ctl(RARCH_CTL_MENU_RUNNING, NULL); return false; + } +#endif #else frontend_driver_set_fork(FRONTEND_FORK_CORE_WITH_ARGS); #endif @@ -1620,15 +1626,16 @@ bool command_event(enum event_command cmd, void *data) #ifdef HAVE_DYNAMIC command_event(CMD_EVENT_LOAD_CORE, NULL); #endif - rarch_ctl(RARCH_CTL_LOAD_CONTENT, NULL); - break; -#ifdef HAVE_FFMPEG + /* fall-through */ case CMD_EVENT_LOAD_CONTENT_FFMPEG: - rarch_ctl(RARCH_CTL_LOAD_CONTENT_FFMPEG, NULL); - break; -#endif case CMD_EVENT_LOAD_CONTENT_IMAGEVIEWER: - rarch_ctl(RARCH_CTL_LOAD_CONTENT_IMAGEVIEWER, NULL); +#ifdef HAVE_MENU + if (!menu_content_ctl(MENU_CONTENT_CTL_LOAD, NULL)) + { + rarch_ctl(RARCH_CTL_MENU_RUNNING, NULL); + return false; + } +#endif break; case CMD_EVENT_LOAD_CONTENT: { diff --git a/retroarch.c b/retroarch.c index dd6801fc3d..85f46f4072 100644 --- a/retroarch.c +++ b/retroarch.c @@ -1513,18 +1513,6 @@ bool rarch_ctl(enum rarch_ctl_state state, void *data) #ifdef HAVE_OVERLAY if (settings->input.overlay_hide_in_menu) command_event(CMD_EVENT_OVERLAY_DEINIT, NULL); -#endif - break; - case RARCH_CTL_LOAD_CONTENT: - case RARCH_CTL_LOAD_CONTENT_FFMPEG: - case RARCH_CTL_LOAD_CONTENT_IMAGEVIEWER: -#ifdef HAVE_MENU - /* If content loading fails, we go back to menu. */ - if (!menu_content_ctl(MENU_CONTENT_CTL_LOAD, NULL)) - { - rarch_ctl(RARCH_CTL_MENU_RUNNING, NULL); - return false; - } #endif break; case RARCH_CTL_MENU_RUNNING_FINISHED: diff --git a/retroarch.h b/retroarch.h index 253c659105..7b5e9bb023 100644 --- a/retroarch.h +++ b/retroarch.h @@ -80,12 +80,6 @@ enum rarch_ctl_state RARCH_CTL_DESTROY, - RARCH_CTL_LOAD_CONTENT, - - RARCH_CTL_LOAD_CONTENT_FFMPEG, - - RARCH_CTL_LOAD_CONTENT_IMAGEVIEWER, - RARCH_CTL_MENU_RUNNING, RARCH_CTL_MENU_RUNNING_FINISHED, diff --git a/runloop.c b/runloop.c index 2bd9e449eb..dd257f8460 100644 --- a/runloop.c +++ b/runloop.c @@ -60,6 +60,7 @@ #ifdef HAVE_MENU #include "menu/menu_driver.h" +#include "menu/menu_content.h" #endif #ifdef HAVE_NETPLAY @@ -1052,7 +1053,13 @@ bool runloop_ctl(enum runloop_ctl_state state, void *data) runloop_ctl(RUNLOOP_CTL_TASK_INIT, NULL); runloop_ctl(RUNLOOP_CTL_CLEAR_CONTENT_PATH, NULL); - rarch_ctl(RARCH_CTL_LOAD_CONTENT, NULL); +#ifdef HAVE_MENU + if (!menu_content_ctl(MENU_CONTENT_CTL_LOAD, NULL)) + { + rarch_ctl(RARCH_CTL_MENU_RUNNING, NULL); + return false; + } +#endif break; case RUNLOOP_CTL_SET_CORE_SHUTDOWN: runloop_core_shutdown_initiated = true;