(PSP) Refactor fork mode
This commit is contained in:
parent
9e497c1b11
commit
17f885d158
|
@ -62,8 +62,7 @@ PSP_HEAP_SIZE_MAX();
|
||||||
|
|
||||||
char eboot_path[512];
|
char eboot_path[512];
|
||||||
|
|
||||||
static bool exit_spawn = false;
|
static enum frontend_fork psp_fork_mode = FRONTEND_FORK_NONE;
|
||||||
static bool exitspawn_start_game = false;
|
|
||||||
|
|
||||||
static void frontend_psp_get_environment_settings(int *argc, char *argv[],
|
static void frontend_psp_get_environment_settings(int *argc, char *argv[],
|
||||||
void *args, void *params_data)
|
void *args, void *params_data)
|
||||||
|
@ -269,18 +268,25 @@ static void frontend_psp_exec(const char *path, bool should_load_game)
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifndef IS_SALAMANDER
|
||||||
static bool frontend_psp_set_fork(enum frontend_fork fork_mode)
|
static bool frontend_psp_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");
|
||||||
|
psp_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;
|
psp_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. */
|
||||||
|
psp_fork_mode = FRONTEND_FORK_CORE;
|
||||||
|
break;
|
||||||
case FRONTEND_FORK_NONE:
|
case FRONTEND_FORK_NONE:
|
||||||
default:
|
default:
|
||||||
return false;
|
return false;
|
||||||
|
@ -288,15 +294,24 @@ static bool frontend_psp_set_fork(enum frontend_fork fork_mode)
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
static void frontend_psp_exitspawn(char *s, size_t len)
|
static void frontend_psp_exitspawn(char *s, size_t len)
|
||||||
{
|
{
|
||||||
bool should_load_game = false;
|
bool should_load_game = false;
|
||||||
#ifndef IS_SALAMANDER
|
#ifndef IS_SALAMANDER
|
||||||
should_load_game = exitspawn_start_game;
|
if (psp_fork_mode == FRONTEND_FORK_NONE)
|
||||||
|
|
||||||
if (!exit_spawn)
|
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
switch (psp_fork_mode)
|
||||||
|
{
|
||||||
|
case FRONTEND_FORK_CORE_WITH_ARGS:
|
||||||
|
should_load_game = true;
|
||||||
|
break;
|
||||||
|
case FRONTEND_FORK_NONE:
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
frontend_psp_exec(s, should_load_game);
|
frontend_psp_exec(s, should_load_game);
|
||||||
}
|
}
|
||||||
|
@ -378,7 +393,11 @@ frontend_ctx_driver_t frontend_ctx_psp = {
|
||||||
frontend_psp_exitspawn,
|
frontend_psp_exitspawn,
|
||||||
NULL, /* process_args */
|
NULL, /* process_args */
|
||||||
frontend_psp_exec,
|
frontend_psp_exec,
|
||||||
|
#ifdef IS_SALAMANDER
|
||||||
|
NULL,
|
||||||
|
#else
|
||||||
frontend_psp_set_fork,
|
frontend_psp_set_fork,
|
||||||
|
#endif
|
||||||
frontend_psp_shutdown,
|
frontend_psp_shutdown,
|
||||||
NULL, /* get_name */
|
NULL, /* get_name */
|
||||||
NULL, /* get_os */
|
NULL, /* get_os */
|
||||||
|
|
Loading…
Reference in New Issue