Create task_push_load_content_from_cli

This commit is contained in:
twinaphex 2017-02-21 16:59:48 +01:00
parent 1ec7b79ad6
commit 8206a751f0
3 changed files with 33 additions and 12 deletions

View File

@ -110,12 +110,11 @@ int rarch_main(int argc, char *argv[], void *data)
info.args = args;
info.environ_get = frontend_driver_environment_get_ptr();
if (!task_push_content_load_default(
if (!task_push_load_content_from_cli(
NULL,
NULL,
&info,
CORE_TYPE_PLAIN,
CONTENT_MODE_LOAD_FROM_CLI,
NULL,
NULL))
return 1;

View File

@ -1489,6 +1489,27 @@ bool task_push_content_load_content_with_new_core_from_companion_ui(
return true;
}
bool task_push_load_content_from_cli(
const char *core_path,
const char *fullpath,
content_ctx_info_t *content_info,
enum rarch_core_type type,
retro_task_callback_t cb,
void *user_data)
{
/* Load content */
if (!task_load_content_callback(content_info, true, true))
return false;
/* Push quick menu onto menu stack */
#ifdef HAVE_MENU
if (type != CORE_TYPE_DUMMY)
menu_driver_ctl(RARCH_MENU_CTL_SET_PENDING_QUICK_MENU, NULL);
#endif
return true;
}
bool task_push_content_load_default(
const char *core_path,
const char *fullpath,
@ -1498,9 +1519,6 @@ bool task_push_content_load_default(
retro_task_callback_t cb,
void *user_data)
{
bool loading_from_cli = false;
bool loading_from_menu = task_loading_from_menu(mode);
/* Clear content path */
switch (mode)
{
@ -1546,9 +1564,6 @@ bool task_push_content_load_default(
/* Load content */
switch (mode)
{
case CONTENT_MODE_LOAD_FROM_CLI:
loading_from_cli = true;
/* fall-through */
#if defined(HAVE_NETWORKING) && defined(HAVE_NETWORKGAMEPAD)
case CONTENT_MODE_LOAD_NOTHING_WITH_NET_RETROPAD_CORE_FROM_MENU:
#endif
@ -1559,10 +1574,10 @@ bool task_push_content_load_default(
case CONTENT_MODE_LOAD_CONTENT_WITH_CURRENT_CORE_FROM_COMPANION_UI:
case CONTENT_MODE_LOAD_CONTENT_WITH_FFMPEG_CORE_FROM_MENU:
case CONTENT_MODE_LOAD_CONTENT_WITH_IMAGEVIEWER_CORE_FROM_MENU:
if (!task_load_content_callback(content_info, true, loading_from_cli))
if (!task_load_content_callback(content_info, true, false))
{
#ifdef HAVE_MENU
if (loading_from_menu)
if (task_loading_from_menu(mode))
rarch_ctl(RARCH_CTL_MENU_RUNNING, NULL);
#endif
return false;
@ -1575,7 +1590,7 @@ bool task_push_content_load_default(
/* Push quick menu onto menu stack */
#ifdef HAVE_MENU
if (type != CORE_TYPE_DUMMY && !loading_from_cli)
if (type != CORE_TYPE_DUMMY)
menu_driver_ctl(RARCH_MENU_CTL_SET_PENDING_QUICK_MENU, NULL);
#endif

View File

@ -38,7 +38,6 @@ typedef int (*transfer_cb_t)(void *data, size_t len);
enum content_mode_load
{
CONTENT_MODE_LOAD_NONE = 0,
CONTENT_MODE_LOAD_FROM_CLI,
CONTENT_MODE_LOAD_NOTHING_WITH_NET_RETROPAD_CORE_FROM_MENU,
CONTENT_MODE_LOAD_NOTHING_WITH_VIDEO_PROCESSOR_CORE_FROM_MENU,
CONTENT_MODE_LOAD_CONTENT_WITH_CURRENT_CORE_FROM_MENU,
@ -138,6 +137,14 @@ bool task_push_decompress(
retro_task_callback_t cb,
void *user_data);
bool task_push_load_content_from_cli(
const char *core_path,
const char *fullpath,
content_ctx_info_t *content_info,
enum rarch_core_type type,
retro_task_callback_t cb,
void *user_data);
bool task_push_load_new_core(
const char *core_path,
const char *fullpath,