diff --git a/console/rarch_console.h b/console/rarch_console.h index d661702955..b9aa683741 100644 --- a/console/rarch_console.h +++ b/console/rarch_console.h @@ -36,9 +36,6 @@ typedef struct char filesystem_root_dir[MAXIMUM_PATH]; char input_presets_dir[MAXIMUM_PATH]; char screenshots_dir[MAXIMUM_PATH]; -#ifdef HAVE_MULTIMAN - char multiman_self_file[MAXIMUM_PATH]; -#endif char port_dir[MAXIMUM_PATH]; char savestate_dir[MAXIMUM_PATH]; #if defined(HAVE_CG) || defined(HAVE_HLSL) || defined(HAVE_GLSL) diff --git a/frontend/menu/rmenu.c b/frontend/menu/rmenu.c index d980b6cf78..32c6499ce2 100644 --- a/frontend/menu/rmenu.c +++ b/frontend/menu/rmenu.c @@ -3025,12 +3025,11 @@ int ingame_menu(void *data, void *state) case MENU_ITEM_RETURN_TO_MULTIMAN: if(input & (1ULL << RMENU_DEVICE_NAV_B)) { - RARCH_LOG("Boot Multiman: %s.\n", default_paths.multiman_self_file); - strlcpy(g_extern.fullpath, default_paths.multiman_self_file, sizeof(g_extern.fullpath)); g_extern.lifecycle_mode_state &= ~(1ULL << MODE_GAME); g_extern.lifecycle_mode_state |= (1ULL << MODE_MENU_INGAME_EXIT); g_extern.lifecycle_mode_state |= (1ULL << MODE_EXIT); g_extern.lifecycle_mode_state |= (1ULL << MODE_EXITSPAWN); + g_extern.lifecycle_mode_state |= (1ULL << MODE_EXITSPAWN_MULTIMAN); return -1; } strlcpy(strw_buffer, "Quit RetroArch and return to multiMAN.", sizeof(strw_buffer)); diff --git a/frontend/platform/platform_ps3.c b/frontend/platform/platform_ps3.c index 13248a19ee..cf831f15be 100644 --- a/frontend/platform/platform_ps3.c +++ b/frontend/platform/platform_ps3.c @@ -39,6 +39,10 @@ SYS_PROCESS_PARAM(1001, 0x100000) #else SYS_PROCESS_PARAM(1001, 0x200000) #endif + +#ifdef HAVE_MULTIMAN +#define MULTIMAN_SELF_FILE "/dev_hdd0/game/BLES80608/USRDIR/RELOAD.SELF" +#endif #ifdef IS_SALAMANDER #include @@ -216,10 +220,7 @@ static void get_environment_settings(int argc, char *argv[]) #ifdef HAVE_MULTIMAN /* not launched from external launcher, set default path */ - strlcpy(default_paths.multiman_self_file, "/dev_hdd0/game/BLES80608/USRDIR/RELOAD.SELF", - sizeof(default_paths.multiman_self_file)); - - if(path_file_exists(default_paths.multiman_self_file) && argc > 1 && path_file_exists(argv[1])) + if(path_file_exists(MULTIMAN_SELF_FILE) && argc > 1 && path_file_exists(argv[1])) { g_extern.lifecycle_mode_state |= (1ULL << MODE_EXTLAUNCH_MULTIMAN); RARCH_LOG("Started from multiMAN, auto-game start enabled.\n"); @@ -438,6 +439,13 @@ static void system_deinit_save(void) static void system_exitspawn(void) { #ifdef HAVE_RARCH_EXEC +#ifdef HAVE_MULTIMAN + if (g_extern.lifecycle_mode_state & (1ULL << MODE_EXITSPAWN_MULTIMAN)) + { + RARCH_LOG("Boot Multiman: %s.\n", MULTIMAN_SELF_FILE); + strlcpy(g_extern.fullpath, MULTIMAN_SELF_FILE, sizeof(g_extern.fullpath)); + } +#endif #ifdef IS_SALAMANDER rarch_console_exec(default_paths.libretro_path); diff --git a/general.h b/general.h index ae8f9eac6c..9c100f0f79 100644 --- a/general.h +++ b/general.h @@ -126,9 +126,8 @@ enum menu_enums MODE_EXTLAUNCH_MULTIMAN, MODE_EXIT, MODE_EXITSPAWN, -#ifdef ANDROID + MODE_EXITSPAWN_MULTIMAN, MODE_INPUT_XPERIA_PLAY_HACK, -#endif MODE_VIDEO_TRIPLE_BUFFERING_ENABLE, MODE_VIDEO_FLICKER_FILTER_ENABLE, MODE_VIDEO_SOFT_FILTER_ENABLE,