Create task_load_content_callback function
This commit is contained in:
parent
0e24e2a9ef
commit
a7592c2db7
|
@ -1378,86 +1378,9 @@ bool task_push_content_load_content_with_new_core_from_menu(
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool task_push_content_load_default(
|
static bool task_load_content_callback(
|
||||||
const char *core_path,
|
|
||||||
const char *fullpath,
|
|
||||||
content_ctx_info_t *content_info,
|
content_ctx_info_t *content_info,
|
||||||
enum rarch_core_type type,
|
enum content_mode_load mode)
|
||||||
enum content_mode_load mode,
|
|
||||||
retro_task_callback_t cb,
|
|
||||||
void *user_data)
|
|
||||||
{
|
|
||||||
/* Clear content path */
|
|
||||||
switch (mode)
|
|
||||||
{
|
|
||||||
case CONTENT_MODE_LOAD_NOTHING_WITH_VIDEO_PROCESSOR_CORE_FROM_MENU:
|
|
||||||
case CONTENT_MODE_LOAD_NOTHING_WITH_NET_RETROPAD_CORE_FROM_MENU:
|
|
||||||
path_clear(RARCH_PATH_CONTENT);
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Set content path */
|
|
||||||
switch (mode)
|
|
||||||
{
|
|
||||||
case CONTENT_MODE_LOAD_CONTENT_WITH_CURRENT_CORE_FROM_MENU:
|
|
||||||
case CONTENT_MODE_LOAD_CONTENT_WITH_CURRENT_CORE_FROM_COMPANION_UI:
|
|
||||||
case CONTENT_MODE_LOAD_CONTENT_WITH_NEW_CORE_FROM_COMPANION_UI:
|
|
||||||
case CONTENT_MODE_LOAD_CONTENT_WITH_FFMPEG_CORE_FROM_MENU:
|
|
||||||
case CONTENT_MODE_LOAD_CONTENT_WITH_IMAGEVIEWER_CORE_FROM_MENU:
|
|
||||||
path_set(RARCH_PATH_CONTENT, fullpath);
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Set libretro core path */
|
|
||||||
switch (mode)
|
|
||||||
{
|
|
||||||
case CONTENT_MODE_LOAD_CONTENT_WITH_NEW_CORE_FROM_COMPANION_UI:
|
|
||||||
runloop_ctl(RUNLOOP_CTL_SET_LIBRETRO_PATH, (void*)core_path);
|
|
||||||
#ifdef HAVE_DYNAMIC
|
|
||||||
command_event(CMD_EVENT_LOAD_CORE, NULL);
|
|
||||||
#endif
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Preliminary stuff that has to be done before we
|
|
||||||
* load the actual content. Can differ per mode. */
|
|
||||||
switch (mode)
|
|
||||||
{
|
|
||||||
case CONTENT_MODE_LOAD_NOTHING_WITH_NET_RETROPAD_CORE_FROM_MENU:
|
|
||||||
#if defined(HAVE_NETWORKING) && defined(HAVE_NETWORKGAMEPAD)
|
|
||||||
retroarch_set_current_core_type(CORE_TYPE_NETRETROPAD, true);
|
|
||||||
break;
|
|
||||||
#endif
|
|
||||||
case CONTENT_MODE_LOAD_NOTHING_WITH_VIDEO_PROCESSOR_CORE_FROM_MENU:
|
|
||||||
#ifdef HAVE_VIDEO_PROCESSOR
|
|
||||||
retroarch_set_current_core_type(CORE_TYPE_VIDEO_PROCESSOR, true);
|
|
||||||
break;
|
|
||||||
#endif
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Load content */
|
|
||||||
switch (mode)
|
|
||||||
{
|
|
||||||
case CONTENT_MODE_LOAD_FROM_CLI:
|
|
||||||
#if defined(HAVE_NETWORKING) && defined(HAVE_NETWORKGAMEPAD)
|
|
||||||
case CONTENT_MODE_LOAD_NOTHING_WITH_NET_RETROPAD_CORE_FROM_MENU:
|
|
||||||
#endif
|
|
||||||
#ifdef HAVE_VIDEO_PROCESSOR
|
|
||||||
case CONTENT_MODE_LOAD_NOTHING_WITH_VIDEO_PROCESSOR_CORE_FROM_MENU:
|
|
||||||
#endif
|
|
||||||
case CONTENT_MODE_LOAD_CONTENT_WITH_CURRENT_CORE_FROM_MENU:
|
|
||||||
case CONTENT_MODE_LOAD_CONTENT_WITH_CURRENT_CORE_FROM_COMPANION_UI:
|
|
||||||
case CONTENT_MODE_LOAD_CONTENT_WITH_NEW_CORE_FROM_COMPANION_UI:
|
|
||||||
case CONTENT_MODE_LOAD_CONTENT_WITH_FFMPEG_CORE_FROM_MENU:
|
|
||||||
case CONTENT_MODE_LOAD_CONTENT_WITH_IMAGEVIEWER_CORE_FROM_MENU:
|
|
||||||
{
|
{
|
||||||
content_information_ctx_t content_ctx;
|
content_information_ctx_t content_ctx;
|
||||||
|
|
||||||
|
@ -1556,7 +1479,92 @@ bool task_push_content_load_default(
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool task_push_content_load_default(
|
||||||
|
const char *core_path,
|
||||||
|
const char *fullpath,
|
||||||
|
content_ctx_info_t *content_info,
|
||||||
|
enum rarch_core_type type,
|
||||||
|
enum content_mode_load mode,
|
||||||
|
retro_task_callback_t cb,
|
||||||
|
void *user_data)
|
||||||
|
{
|
||||||
|
/* Clear content path */
|
||||||
|
switch (mode)
|
||||||
|
{
|
||||||
|
case CONTENT_MODE_LOAD_NOTHING_WITH_VIDEO_PROCESSOR_CORE_FROM_MENU:
|
||||||
|
case CONTENT_MODE_LOAD_NOTHING_WITH_NET_RETROPAD_CORE_FROM_MENU:
|
||||||
|
path_clear(RARCH_PATH_CONTENT);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Set content path */
|
||||||
|
switch (mode)
|
||||||
|
{
|
||||||
|
case CONTENT_MODE_LOAD_CONTENT_WITH_CURRENT_CORE_FROM_MENU:
|
||||||
|
case CONTENT_MODE_LOAD_CONTENT_WITH_CURRENT_CORE_FROM_COMPANION_UI:
|
||||||
|
case CONTENT_MODE_LOAD_CONTENT_WITH_NEW_CORE_FROM_COMPANION_UI:
|
||||||
|
case CONTENT_MODE_LOAD_CONTENT_WITH_FFMPEG_CORE_FROM_MENU:
|
||||||
|
case CONTENT_MODE_LOAD_CONTENT_WITH_IMAGEVIEWER_CORE_FROM_MENU:
|
||||||
|
path_set(RARCH_PATH_CONTENT, fullpath);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Set libretro core path */
|
||||||
|
switch (mode)
|
||||||
|
{
|
||||||
|
case CONTENT_MODE_LOAD_CONTENT_WITH_NEW_CORE_FROM_COMPANION_UI:
|
||||||
|
runloop_ctl(RUNLOOP_CTL_SET_LIBRETRO_PATH, (void*)core_path);
|
||||||
|
#ifdef HAVE_DYNAMIC
|
||||||
|
command_event(CMD_EVENT_LOAD_CORE, NULL);
|
||||||
|
#endif
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Preliminary stuff that has to be done before we
|
||||||
|
* load the actual content. Can differ per mode. */
|
||||||
|
switch (mode)
|
||||||
|
{
|
||||||
|
case CONTENT_MODE_LOAD_NOTHING_WITH_NET_RETROPAD_CORE_FROM_MENU:
|
||||||
|
#if defined(HAVE_NETWORKING) && defined(HAVE_NETWORKGAMEPAD)
|
||||||
|
retroarch_set_current_core_type(CORE_TYPE_NETRETROPAD, true);
|
||||||
|
break;
|
||||||
|
#endif
|
||||||
|
case CONTENT_MODE_LOAD_NOTHING_WITH_VIDEO_PROCESSOR_CORE_FROM_MENU:
|
||||||
|
#ifdef HAVE_VIDEO_PROCESSOR
|
||||||
|
retroarch_set_current_core_type(CORE_TYPE_VIDEO_PROCESSOR, true);
|
||||||
|
break;
|
||||||
|
#endif
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Load content */
|
||||||
|
switch (mode)
|
||||||
|
{
|
||||||
|
case CONTENT_MODE_LOAD_FROM_CLI:
|
||||||
|
#if defined(HAVE_NETWORKING) && defined(HAVE_NETWORKGAMEPAD)
|
||||||
|
case CONTENT_MODE_LOAD_NOTHING_WITH_NET_RETROPAD_CORE_FROM_MENU:
|
||||||
|
#endif
|
||||||
|
#ifdef HAVE_VIDEO_PROCESSOR
|
||||||
|
case CONTENT_MODE_LOAD_NOTHING_WITH_VIDEO_PROCESSOR_CORE_FROM_MENU:
|
||||||
|
#endif
|
||||||
|
case CONTENT_MODE_LOAD_CONTENT_WITH_CURRENT_CORE_FROM_MENU:
|
||||||
|
case CONTENT_MODE_LOAD_CONTENT_WITH_CURRENT_CORE_FROM_COMPANION_UI:
|
||||||
|
case CONTENT_MODE_LOAD_CONTENT_WITH_NEW_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, mode))
|
||||||
|
return false;
|
||||||
break;
|
break;
|
||||||
case CONTENT_MODE_LOAD_NONE:
|
case CONTENT_MODE_LOAD_NONE:
|
||||||
default:
|
default:
|
||||||
|
|
Loading…
Reference in New Issue