Create CONTENT_MODE_LOAD_NOTHING_WITH_NEW_CORE_FROM_MENU

This commit is contained in:
twinaphex 2016-06-15 18:17:01 +02:00
parent 49ceee1206
commit a8042bdc0c
3 changed files with 25 additions and 6 deletions

View File

@ -863,12 +863,14 @@ static int generic_action_ok(const char *path,
case ACTION_OK_LOAD_CORE: case ACTION_OK_LOAD_CORE:
flush_char = NULL; flush_char = NULL;
flush_type = MENU_SETTINGS; flush_type = MENU_SETTINGS;
runloop_ctl(RUNLOOP_CTL_SET_LIBRETRO_PATH, action_path);
if (command_event(CMD_EVENT_LOAD_CORE, NULL)) if (task_push_content_load_default(action_path,
NULL, NULL, CORE_TYPE_PLAIN,
CONTENT_MODE_LOAD_NOTHING_WITH_NEW_CORE_FROM_MENU,
NULL, NULL))
{ {
#ifndef HAVE_DYNAMIC #ifndef HAVE_DYNAMIC
if (frontend_driver_set_fork(FRONTEND_FORK_CORE)) ret = -1;
ret = -1;
#endif #endif
} }
break; break;

View File

@ -1713,6 +1713,7 @@ bool task_push_content_load_default(
/* First we determine if we are loading from a menu */ /* First we determine if we are loading from a menu */
switch (mode) switch (mode)
{ {
case CONTENT_MODE_LOAD_NOTHING_WITH_NEW_CORE_FROM_MENU:
#if defined(HAVE_NETPLAY) && defined(HAVE_NETWORKGAMEPAD) #if defined(HAVE_NETPLAY) && defined(HAVE_NETWORKGAMEPAD)
case CONTENT_MODE_LOAD_NOTHING_WITH_NET_RETROPAD_CORE_FROM_MENU: case CONTENT_MODE_LOAD_NOTHING_WITH_NET_RETROPAD_CORE_FROM_MENU:
#endif #endif
@ -1782,6 +1783,7 @@ bool task_push_content_load_default(
/* Set libretro core path */ /* Set libretro core path */
switch (mode) switch (mode)
{ {
case CONTENT_MODE_LOAD_NOTHING_WITH_NEW_CORE_FROM_MENU:
case CONTENT_MODE_LOAD_CONTENT_WITH_NEW_CORE_FROM_MENU: case CONTENT_MODE_LOAD_CONTENT_WITH_NEW_CORE_FROM_MENU:
case CONTENT_MODE_LOAD_CONTENT_WITH_NEW_CORE_FROM_COMPANION_UI: case CONTENT_MODE_LOAD_CONTENT_WITH_NEW_CORE_FROM_COMPANION_UI:
case CONTENT_MODE_LOAD_CONTENT_FROM_PLAYLIST_FROM_MENU: case CONTENT_MODE_LOAD_CONTENT_FROM_PLAYLIST_FROM_MENU:
@ -1822,17 +1824,29 @@ bool task_push_content_load_default(
/* Load core */ /* Load core */
switch (mode) switch (mode)
{ {
case CONTENT_MODE_LOAD_NOTHING_WITH_NEW_CORE_FROM_MENU:
#ifdef HAVE_DYNAMIC
case CONTENT_MODE_LOAD_CONTENT_WITH_NEW_CORE_FROM_MENU: case CONTENT_MODE_LOAD_CONTENT_WITH_NEW_CORE_FROM_MENU:
case CONTENT_MODE_LOAD_CONTENT_WITH_NEW_CORE_FROM_COMPANION_UI: case CONTENT_MODE_LOAD_CONTENT_WITH_NEW_CORE_FROM_COMPANION_UI:
case CONTENT_MODE_LOAD_CONTENT_FROM_PLAYLIST_FROM_MENU: case CONTENT_MODE_LOAD_CONTENT_FROM_PLAYLIST_FROM_MENU:
#ifdef HAVE_DYNAMIC
command_event(CMD_EVENT_LOAD_CORE, NULL);
#endif #endif
command_event(CMD_EVENT_LOAD_CORE, NULL);
break; break;
default: default:
break; break;
} }
#ifndef HAVE_DYNAMIC
/* Fork core? */
switch (mode)
{
default:
if (!frontend_driver_set_fork(FRONTEND_FORK_CORE))
return false;
break;
}
#endif
/* Preliminary stuff that has to be done before we /* Preliminary stuff that has to be done before we
* load the actual content. Can differ per mode. */ * load the actual content. Can differ per mode. */
switch (mode) switch (mode)
@ -1898,6 +1912,8 @@ bool task_push_content_load_default(
case CONTENT_MODE_LOAD_NOTHING_WITH_NET_RETROPAD_CORE_FROM_MENU: case CONTENT_MODE_LOAD_NOTHING_WITH_NET_RETROPAD_CORE_FROM_MENU:
#endif #endif
break; break;
case CONTENT_MODE_LOAD_NOTHING_WITH_NEW_CORE_FROM_MENU:
break;
default: default:
#ifdef HAVE_MENU #ifdef HAVE_MENU
if (type != CORE_TYPE_DUMMY && mode != CONTENT_MODE_LOAD_FROM_CLI) if (type != CORE_TYPE_DUMMY && mode != CONTENT_MODE_LOAD_FROM_CLI)

View File

@ -36,6 +36,7 @@ enum content_mode_load
CONTENT_MODE_LOAD_NOTHING_WITH_DUMMY_CORE, CONTENT_MODE_LOAD_NOTHING_WITH_DUMMY_CORE,
CONTENT_MODE_LOAD_FROM_CLI, CONTENT_MODE_LOAD_FROM_CLI,
CONTENT_MODE_LOAD_NOTHING_WITH_CURRENT_CORE_FROM_MENU, CONTENT_MODE_LOAD_NOTHING_WITH_CURRENT_CORE_FROM_MENU,
CONTENT_MODE_LOAD_NOTHING_WITH_NEW_CORE_FROM_MENU,
CONTENT_MODE_LOAD_NOTHING_WITH_NET_RETROPAD_CORE_FROM_MENU, CONTENT_MODE_LOAD_NOTHING_WITH_NET_RETROPAD_CORE_FROM_MENU,
CONTENT_MODE_LOAD_CONTENT_WITH_CURRENT_CORE_FROM_MENU, CONTENT_MODE_LOAD_CONTENT_WITH_CURRENT_CORE_FROM_MENU,
CONTENT_MODE_LOAD_CONTENT_WITH_NEW_CORE_FROM_MENU, CONTENT_MODE_LOAD_CONTENT_WITH_NEW_CORE_FROM_MENU,