Create RARCH_CMD_LOAD_CORE

This commit is contained in:
twinaphex 2014-07-22 03:34:28 +02:00
parent d1a85b6d95
commit 176b4f91b6
5 changed files with 11 additions and 13 deletions

View File

@ -2621,10 +2621,9 @@ static int menu_common_iterate(unsigned action)
}
else if (menu_type == MENU_SETTINGS_CORE)
{
#if defined(HAVE_DYNAMIC)
fill_pathname_join(g_settings.libretro, dir, path, sizeof(g_settings.libretro));
menu_update_system_info(driver.menu, &driver.menu->load_no_rom);
rarch_main_command(RARCH_CMD_LOAD_CORE);
#if defined(HAVE_DYNAMIC)
// No ROM needed for this core, load game immediately.
if (driver.menu->load_no_rom)
{
@ -2637,13 +2636,9 @@ static int menu_common_iterate(unsigned action)
// Core selection on non-console just updates directory listing.
// Will take affect on new ROM load.
#elif defined(RARCH_CONSOLE)
rarch_environment_cb(RETRO_ENVIRONMENT_SET_LIBRETRO_PATH, (void*)path);
#if defined(GEKKO) && defined(HW_RVL)
fill_pathname_join(g_extern.fullpath, g_defaults.core_dir,
SALAMANDER_FILE, sizeof(g_extern.fullpath));
#else
fill_pathname_join(g_settings.libretro, dir, path, sizeof(g_settings.libretro));
#endif
g_extern.lifecycle_state &= ~(1ULL << MODE_GAME);
g_extern.lifecycle_state |= (1ULL << MODE_EXITSPAWN);
@ -2807,7 +2802,7 @@ static int menu_common_iterate(unsigned action)
if (ret == -1)
{
menu_update_system_info(driver.menu, &driver.menu->load_no_rom);
rarch_main_command(RARCH_CMD_LOAD_CORE);
if (driver.menu_ctx && driver.menu_ctx->backend && driver.menu_ctx->backend->defer_decision_automatic)
driver.menu_ctx->backend->defer_decision_automatic();
}

View File

@ -346,11 +346,8 @@ static int menu_lakka_iterate(unsigned action)
strlcpy(g_settings.libretro, active_category->libretro, sizeof(g_settings.libretro));
#ifdef HAVE_DYNAMIC
menu_update_system_info(driver.menu, &driver.menu->load_no_rom);
rarch_main_command(RARCH_CMD_LOAD_CORE);
g_extern.lifecycle_state |= (1ULL << MODE_LOAD_GAME);
#else
rarch_environment_cb(RETRO_ENVIRONMENT_SET_LIBRETRO_PATH, (void*)g_settings.libretro);
rarch_environment_cb(RETRO_ENVIRONMENT_EXEC, (void*)g_extern.fullpath);
#endif
}
return -1;

View File

@ -444,7 +444,7 @@ void load_menu_game_new_core(void)
return;
#ifdef HAVE_DYNAMIC
menu_update_system_info(driver.menu, &driver.menu->load_no_rom);
rarch_main_command(RARCH_CMD_LOAD_CORE);
g_extern.lifecycle_state |= (1ULL << MODE_LOAD_GAME);
#else
rarch_environment_cb(RETRO_ENVIRONMENT_SET_LIBRETRO_PATH, (void*)g_settings.libretro);

View File

@ -91,6 +91,7 @@ enum basic_event
{
RARCH_CMD_RESET = 1,
RARCH_CMD_LOAD_CONTENT,
RARCH_CMD_LOAD_CORE,
RARCH_CMD_LOAD_STATE,
RARCH_CMD_SAVE_STATE,
RARCH_CMD_TAKE_SCREENSHOT,

View File

@ -3086,6 +3086,11 @@ void rarch_main_command(unsigned action)
case RARCH_CMD_LOAD_CONTENT:
#ifdef HAVE_MENU
load_menu_game_new_core();
#endif
break;
case RARCH_CMD_LOAD_CORE:
#ifdef HAVE_MENU
menu_update_system_info(driver.menu, &driver.menu->load_no_rom);
#endif
break;
case RARCH_CMD_LOAD_STATE: