mirror of
https://github.com/libretro/RetroArch
synced 2025-04-10 06:44:27 +00:00
(PS3) Reimplement set_fork_mode
This commit is contained in:
parent
d59ffbdd2c
commit
9e497c1b11
@ -56,8 +56,7 @@ static bool multiman_detected = false;
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef IS_SALAMANDER
|
#ifndef IS_SALAMANDER
|
||||||
static bool exit_spawn = false;
|
static enum frontend_fork ps3_fork_mode = FRONTEND_FORK_NONE;
|
||||||
static bool exitspawn_start_game = false;
|
|
||||||
|
|
||||||
static void frontend_ps3_shutdown(bool unused)
|
static void frontend_ps3_shutdown(bool unused)
|
||||||
{
|
{
|
||||||
@ -333,13 +332,19 @@ static bool frontend_ps3_set_fork(enum frontend_fork fork_mode)
|
|||||||
switch (fork_mode)
|
switch (fork_mode)
|
||||||
{
|
{
|
||||||
case FRONTEND_FORK_CORE:
|
case FRONTEND_FORK_CORE:
|
||||||
exit_spawn = true;
|
RARCH_LOG("FRONTEND_FORK_CORE\n");
|
||||||
|
ps3_fork_mode = fork_mode;
|
||||||
break;
|
break;
|
||||||
case FRONTEND_FORK_CORE_WITH_ARGS:
|
case FRONTEND_FORK_CORE_WITH_ARGS:
|
||||||
exit_spawn = true;
|
RARCH_LOG("FRONTEND_FORK_CORE_WITH_ARGS\n");
|
||||||
exitspawn_start_game = true;
|
ps3_fork_mode = fork_mode;
|
||||||
break;
|
break;
|
||||||
case FRONTEND_FORK_SALAMANDER_RESTART:
|
case FRONTEND_FORK_SALAMANDER_RESTART:
|
||||||
|
RARCH_LOG("FRONTEND_FORK_SALAMANDER_RESTART\n");
|
||||||
|
/* NOTE: We don't implement Salamander, so just turn
|
||||||
|
* this into FRONTEND_FORK_CORE. */
|
||||||
|
ps3_fork_mode = FRONTEND_FORK_CORE;
|
||||||
|
break;
|
||||||
case FRONTEND_FORK_NONE:
|
case FRONTEND_FORK_NONE:
|
||||||
default:
|
default:
|
||||||
return false;
|
return false;
|
||||||
@ -429,12 +434,9 @@ static void frontend_ps3_exitspawn(char *core_path, size_t core_path_size)
|
|||||||
#ifndef IS_SALAMANDER
|
#ifndef IS_SALAMANDER
|
||||||
bool *verbose = retro_main_verbosity();
|
bool *verbose = retro_main_verbosity();
|
||||||
bool original_verbose = *verbose;
|
bool original_verbose = *verbose;
|
||||||
|
|
||||||
*verbose = true;
|
*verbose = true;
|
||||||
|
|
||||||
should_load_game = exitspawn_start_game;
|
if (ps3_fork_mode == FRONTEND_FORK_NONE)
|
||||||
|
|
||||||
if (!exit_spawn)
|
|
||||||
{
|
{
|
||||||
frontend_ctx_driver_t *frontend = frontend_get_ptr();
|
frontend_ctx_driver_t *frontend = frontend_get_ptr();
|
||||||
|
|
||||||
@ -442,6 +444,16 @@ static void frontend_ps3_exitspawn(char *core_path, size_t core_path_size)
|
|||||||
frontend->shutdown = frontend_ps3_shutdown;
|
frontend->shutdown = frontend_ps3_shutdown;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
switch (ps3_fork_mode)
|
||||||
|
{
|
||||||
|
case FRONTEND_FORK_CORE_WITH_ARGS:
|
||||||
|
should_load_game = true;
|
||||||
|
break;
|
||||||
|
case FRONTEND_FORK_NONE:
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
frontend_ps3_exec(core_path, should_load_game);
|
frontend_ps3_exec(core_path, should_load_game);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user