Move code to paths.c

This commit is contained in:
twinaphex 2016-09-19 03:03:31 +02:00
parent bb6bc9bd6d
commit 082476f7b2
5 changed files with 50 additions and 38 deletions

View File

@ -2445,35 +2445,6 @@ bool command_event(enum event_command cmd, void *data)
content_save_ram_file(i);
}
return true;
case CMD_EVENT_SAVEFILES_DEINIT:
{
global_t *global = global_get_ptr();
if (!global)
break;
if (global->savefiles)
string_list_free(global->savefiles);
global->savefiles = NULL;
}
break;
case CMD_EVENT_SAVEFILES_INIT:
{
global_t *global = global_get_ptr();
global->sram.use = global->sram.use && !global->sram.save_disable;
#ifdef HAVE_NETPLAY
global->sram.use = global->sram.use &&
(!netplay_driver_ctl(RARCH_NETPLAY_CTL_IS_DATA_INITED, NULL)
|| !global->netplay.is_client);
#endif
if (!global->sram.use)
RARCH_LOG("%s\n",
msg_hash_to_str(MSG_SRAM_WILL_NOT_BE_SAVED));
if (global->sram.use)
command_event(CMD_EVENT_AUTOSAVE_INIT, NULL);
}
break;
case CMD_EVENT_BSV_MOVIE_DEINIT:
bsv_movie_ctl(BSV_MOVIE_CTL_DEINIT, NULL);
break;

View File

@ -158,10 +158,6 @@ enum event_command
/* Initializes controllers. */
CMD_EVENT_CONTROLLERS_INIT,
CMD_EVENT_SAVEFILES,
/* Initializes savefiles. */
CMD_EVENT_SAVEFILES_INIT,
/* Deinitializes savefiles. */
CMD_EVENT_SAVEFILES_DEINIT,
/* Initializes cheats. */
CMD_EVENT_CHEATS_INIT,
/* Deinitializes cheats. */

44
paths.c
View File

@ -25,6 +25,10 @@
#include "config.h"
#endif
#ifdef HAVE_NETPLAY
#include "network/netplay/netplay.h"
#endif
#include "dirs.h"
#include "paths.h"
@ -382,11 +386,45 @@ static void path_init_savefile_rtc(void)
string_list_append(global->savefiles, savefile_name_rtc, attr);
}
static void path_init_savefile(void)
void path_deinit_savefile(void)
{
global_t *global = global_get_ptr();
command_event(CMD_EVENT_SAVEFILES_DEINIT, NULL);
if (!global)
return;
if (global->savefiles)
string_list_free(global->savefiles);
global->savefiles = NULL;
}
void path_init_savefile(void)
{
global_t *global = global_get_ptr();
if (!global)
return;
global->sram.use = global->sram.use && !global->sram.save_disable;
#ifdef HAVE_NETPLAY
global->sram.use = global->sram.use &&
(!netplay_driver_ctl(RARCH_NETPLAY_CTL_IS_DATA_INITED, NULL)
|| !global->netplay.is_client);
#endif
if (!global->sram.use)
RARCH_LOG("%s\n",
msg_hash_to_str(MSG_SRAM_WILL_NOT_BE_SAVED));
if (global->sram.use)
command_event(CMD_EVENT_AUTOSAVE_INIT, NULL);
}
static void path_init_savefile_internal(void)
{
global_t *global = global_get_ptr();
path_deinit_savefile();
global->savefiles = string_list_new();
retro_assert(global->savefiles);
@ -419,7 +457,7 @@ void path_fill_names(void)
{
global_t *global = global_get_ptr();
path_init_savefile();
path_init_savefile_internal();
bsv_movie_set_path(global->name.savefile);
if (string_is_empty(path_main_basename))

View File

@ -29,6 +29,10 @@ enum rarch_content_type
RARCH_CONTENT_IMAGE
};
void path_deinit_savefile(void);
void path_init_savefile(void);
/* fill functions */
void path_fill_names(void);

View File

@ -1066,7 +1066,9 @@ bool retroarch_main_init(int argc, char *argv[])
command_event(CMD_EVENT_CONTROLLERS_INIT, NULL);
command_event(CMD_EVENT_RECORD_INIT, NULL);
command_event(CMD_EVENT_CHEATS_INIT, NULL);
command_event(CMD_EVENT_SAVEFILES_INIT, NULL);
path_init_savefile();
command_event(CMD_EVENT_SET_PER_GAME_RESOLUTION, NULL);
rarch_ctl(RARCH_CTL_UNSET_ERROR_ON_INIT, NULL);
@ -1157,7 +1159,8 @@ bool rarch_ctl(enum rarch_ctl_state state, void *data)
command_event(CMD_EVENT_TEMPORARY_CONTENT_DEINIT, NULL);
command_event(CMD_EVENT_SUBSYSTEM_FULLPATHS_DEINIT, NULL);
command_event(CMD_EVENT_SAVEFILES_DEINIT, NULL);
path_deinit_savefile();
rarch_ctl(RARCH_CTL_UNSET_INITED, NULL);
break;