mirror of
https://github.com/libretro/RetroArch
synced 2025-02-04 03:40:03 +00:00
Preserve sram/state dir on reentrancy.
This commit is contained in:
parent
db183b5d97
commit
fa5e8b646c
@ -61,8 +61,8 @@ int main(int argc, char *argv[])
|
||||
|
||||
args.verbose = g_extern.verbose;
|
||||
args.config_path = *g_extern.config_path ? g_extern.config_path : NULL;
|
||||
args.sram_path = NULL;
|
||||
args.state_path = NULL;
|
||||
args.sram_path = *g_extern.savefile_dir ? g_extern.savefile_dir : NULL;
|
||||
args.state_path = *g_extern.savestate_dir ? g_extern.savestate_dir : NULL;
|
||||
args.rom_path = g_extern.fullpath;
|
||||
args.libretro_path = g_settings.libretro;
|
||||
|
||||
|
@ -342,6 +342,10 @@ struct global
|
||||
char savestate_name[PATH_MAX];
|
||||
char xml_name[PATH_MAX];
|
||||
|
||||
// Used on reentrancy to use a savestate dir.
|
||||
char savefile_dir[PATH_MAX];
|
||||
char savestate_dir[PATH_MAX];
|
||||
|
||||
bool block_patch;
|
||||
bool ups_pref;
|
||||
bool bps_pref;
|
||||
|
@ -1178,6 +1178,12 @@ static void parse_input(int argc, char *argv[])
|
||||
set_paths(argv[optind]);
|
||||
else
|
||||
verify_stdin_paths();
|
||||
|
||||
// Copy SRM/state dirs used, so they can be reused on reentrancy.
|
||||
if (g_extern.has_set_save_path && path_is_directory(g_extern.savefile_name_srm))
|
||||
strlcpy(g_extern.savefile_dir, g_extern.savefile_name_srm, sizeof(g_extern.savefile_dir));
|
||||
if (g_extern.has_set_state_path && path_is_directory(g_extern.savestate_name))
|
||||
strlcpy(g_extern.savestate_dir, g_extern.savestate_name, sizeof(g_extern.savestate_dir));
|
||||
}
|
||||
|
||||
static void init_controllers(void)
|
||||
|
@ -668,6 +668,7 @@ bool config_load_file(const char *path)
|
||||
{
|
||||
if (path_is_directory(tmp_str))
|
||||
{
|
||||
strlcpy(g_extern.savefile_dir, tmp_str, sizeof(g_extern.savefile_dir));
|
||||
strlcpy(g_extern.savefile_name_srm, tmp_str, sizeof(g_extern.savefile_name_srm));
|
||||
fill_pathname_dir(g_extern.savefile_name_srm, g_extern.basename, ".srm", sizeof(g_extern.savefile_name_srm));
|
||||
}
|
||||
@ -679,6 +680,7 @@ bool config_load_file(const char *path)
|
||||
{
|
||||
if (path_is_directory(tmp_str))
|
||||
{
|
||||
strlcpy(g_extern.savestate_dir, tmp_str, sizeof(g_extern.savestate_dir));
|
||||
strlcpy(g_extern.savestate_name, tmp_str, sizeof(g_extern.savestate_name));
|
||||
fill_pathname_dir(g_extern.savestate_name, g_extern.basename, ".state", sizeof(g_extern.savestate_name));
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user