Create CORE_INFO_CTL_LOAD

This commit is contained in:
twinaphex 2016-02-07 17:26:10 +01:00
parent e566665885
commit d3b9356958
3 changed files with 22 additions and 11 deletions

View File

@ -989,8 +989,7 @@ bool event_cmd_ctl(enum event_command cmd, void *data)
if (menu_driver_ctl(RARCH_MENU_CTL_LOAD_NO_CONTENT_GET, &ptr))
{
core_info_list_t *core_info_list = NULL;
core_info_t *core_info = NULL;
core_info_ctx_find_t info_find;
#if defined(HAVE_DYNAMIC)
if (!(*settings->libretro))
@ -999,16 +998,9 @@ bool event_cmd_ctl(enum event_command cmd, void *data)
libretro_get_system_info(settings->libretro, system,
ptr);
#endif
core_info_ctl(CORE_INFO_CTL_LIST_GET, &core_info_list);
info_find.path = settings->libretro;
if (!core_info_list)
return false;
/* Load core info file */
core_info_ctl(CORE_INFO_CTL_CURRENT_CORE_GET, &core_info);
if (!core_info_list_get_info(core_info_list,
core_info, settings->libretro))
if (!core_info_ctl(CORE_INFO_CTL_LOAD, &info_find))
return false;
}
#endif

View File

@ -711,6 +711,24 @@ bool core_info_ctl(enum core_info_state state, void *data)
return false;
}
break;
case CORE_INFO_CTL_LOAD:
{
core_info_t *core_info = NULL;
core_info_ctx_find_t *info = (core_info_ctx_find_t*)data;
if (!info)
return false;
core_info_ctl(CORE_INFO_CTL_CURRENT_CORE_GET, &core_info);
if (!core_info_curr_list)
return false;
if (!core_info_list_get_info(core_info_curr_list,
core_info, info->path))
return false;
}
break;
case CORE_INFO_CTL_NONE:
default:
break;

View File

@ -34,6 +34,7 @@ enum core_info_state
CORE_INFO_CTL_CURRENT_CORE_FREE,
CORE_INFO_CTL_CURRENT_CORE_INIT,
CORE_INFO_CTL_CURRENT_CORE_GET,
CORE_INFO_CTL_LOAD,
CORE_INFO_CTL_FIND
};