diff --git a/command.c b/command.c index 27ebfdeb72..1d92f19e78 100644 --- a/command.c +++ b/command.c @@ -1052,7 +1052,7 @@ static void command_event_init_controllers(void) } } -static void command_event_deinit_core(bool reinit) +void command_event_deinit_core(bool reinit) { #ifdef HAVE_CHEEVOS cheevos_unload(); @@ -1205,7 +1205,7 @@ error: free(state_base); } -static bool event_init_content(void) +bool event_init_content(void) { bool contentless = false; bool is_inited = false; diff --git a/command.h b/command.h index 86efe07bb0..eebc622f7c 100644 --- a/command.h +++ b/command.h @@ -273,6 +273,9 @@ void command_playlist_update_write( const char *label, const char *path); +bool event_init_content(void); +void command_event_deinit_core(bool reinit); + RETRO_END_DECLS #endif diff --git a/menu/cbs/menu_cbs_ok.c b/menu/cbs/menu_cbs_ok.c index 1152d04992..1454bb8996 100644 --- a/menu/cbs/menu_cbs_ok.c +++ b/menu/cbs/menu_cbs_ok.c @@ -459,7 +459,14 @@ int generic_action_ok_displaylist_push(const char *path, case ACTION_OK_DL_SUBSYSTEM_LOAD: filebrowser_clear_type(); path_set(RARCH_PATH_SUBSYSTEM, pending_subsystem_ident); - path_set_special((char**)pending_subsystem_roms, pending_subsystem_rom_num); + /* hardcoded to 2 for testing */ + char* roms[2] = { pending_subsystem_roms[0], pending_subsystem_roms[1] }; + path_set_special(roms, pending_subsystem_rom_num); + content_ctx_info_t content_info = {0}; + task_push_load_content_with_core_from_menu( + NULL, &content_info, + CORE_TYPE_PLAIN, NULL, NULL); + break; case ACTION_OK_DL_CHEAT_FILE: filebrowser_clear_type();