mirror of
https://github.com/libretro/RetroArch
synced 2025-04-01 04:20:27 +00:00
Refactor more code/code duplication in retroarch.c
This commit is contained in:
parent
5237ce4f89
commit
40ff938296
41
retroarch.c
41
retroarch.c
@ -230,7 +230,7 @@ static void recording_dump_frame(const void *data, unsigned width, unsigned heig
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// User has resized. We're kinda fucked now.
|
// User has resized. We kinda have a problem now.
|
||||||
if (vp.width != g_extern.record_gpu_width || vp.height != g_extern.record_gpu_height)
|
if (vp.width != g_extern.record_gpu_width || vp.height != g_extern.record_gpu_height)
|
||||||
{
|
{
|
||||||
static const char msg[] = "Recording terminated due to resize.";
|
static const char msg[] = "Recording terminated due to resize.";
|
||||||
@ -1541,8 +1541,7 @@ static void init_movie(void)
|
|||||||
{
|
{
|
||||||
if (g_extern.bsv.movie_start_playback)
|
if (g_extern.bsv.movie_start_playback)
|
||||||
{
|
{
|
||||||
g_extern.bsv.movie = bsv_movie_init(g_extern.bsv.movie_start_path, RARCH_MOVIE_PLAYBACK);
|
if (!(g_extern.bsv.movie = bsv_movie_init(g_extern.bsv.movie_start_path, RARCH_MOVIE_PLAYBACK)))
|
||||||
if (!g_extern.bsv.movie)
|
|
||||||
{
|
{
|
||||||
RARCH_ERR("Failed to load movie file: \"%s\".\n", g_extern.bsv.movie_start_path);
|
RARCH_ERR("Failed to load movie file: \"%s\".\n", g_extern.bsv.movie_start_path);
|
||||||
rarch_fail(1, "init_movie()");
|
rarch_fail(1, "init_movie()");
|
||||||
@ -1559,12 +1558,11 @@ static void init_movie(void)
|
|||||||
snprintf(msg, sizeof(msg), "Starting movie record to \"%s\".",
|
snprintf(msg, sizeof(msg), "Starting movie record to \"%s\".",
|
||||||
g_extern.bsv.movie_start_path);
|
g_extern.bsv.movie_start_path);
|
||||||
|
|
||||||
g_extern.bsv.movie = bsv_movie_init(g_extern.bsv.movie_start_path, RARCH_MOVIE_RECORD);
|
|
||||||
msg_queue_clear(g_extern.msg_queue);
|
msg_queue_clear(g_extern.msg_queue);
|
||||||
msg_queue_push(g_extern.msg_queue,
|
msg_queue_push(g_extern.msg_queue,
|
||||||
g_extern.bsv.movie ? msg : "Failed to start movie record.", 1, 180);
|
g_extern.bsv.movie ? msg : "Failed to start movie record.", 1, 180);
|
||||||
|
|
||||||
if (g_extern.bsv.movie)
|
if ((g_extern.bsv.movie = bsv_movie_init(g_extern.bsv.movie_start_path, RARCH_MOVIE_RECORD)))
|
||||||
{
|
{
|
||||||
RARCH_LOG("Starting movie record to \"%s\".\n", g_extern.bsv.movie_start_path);
|
RARCH_LOG("Starting movie record to \"%s\".\n", g_extern.bsv.movie_start_path);
|
||||||
g_settings.rewind_granularity = 1;
|
g_settings.rewind_granularity = 1;
|
||||||
@ -1670,6 +1668,9 @@ static void deinit_command(void)
|
|||||||
#ifdef HAVE_NETPLAY
|
#ifdef HAVE_NETPLAY
|
||||||
static void init_libretro_cbs_netplay(void)
|
static void init_libretro_cbs_netplay(void)
|
||||||
{
|
{
|
||||||
|
if (!g_extern.netplay)
|
||||||
|
return;
|
||||||
|
|
||||||
pretro_set_video_refresh(g_extern.netplay_is_spectate ?
|
pretro_set_video_refresh(g_extern.netplay_is_spectate ?
|
||||||
video_frame : video_frame_net);
|
video_frame : video_frame_net);
|
||||||
|
|
||||||
@ -1693,24 +1694,24 @@ static void init_libretro_cbs(void)
|
|||||||
pretro_set_input_poll(rarch_input_poll);
|
pretro_set_input_poll(rarch_input_poll);
|
||||||
|
|
||||||
#ifdef HAVE_NETPLAY
|
#ifdef HAVE_NETPLAY
|
||||||
if (g_extern.netplay)
|
init_libretro_cbs_netplay();
|
||||||
init_libretro_cbs_netplay();
|
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(HAVE_THREADS)
|
#if defined(HAVE_THREADS)
|
||||||
void rarch_init_autosave(void)
|
void rarch_init_autosave(void)
|
||||||
{
|
{
|
||||||
|
unsigned i;
|
||||||
|
|
||||||
if (g_settings.autosave_interval < 1 || !g_extern.savefiles)
|
if (g_settings.autosave_interval < 1 || !g_extern.savefiles)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
g_extern.autosave = (autosave_t**)calloc(g_extern.savefiles->size, sizeof(*g_extern.autosave));
|
if (!(g_extern.autosave = (autosave_t**)calloc(g_extern.savefiles->size,
|
||||||
if (!g_extern.autosave)
|
sizeof(*g_extern.autosave))))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
g_extern.num_autosave = g_extern.savefiles->size;
|
g_extern.num_autosave = g_extern.savefiles->size;
|
||||||
|
|
||||||
unsigned i;
|
|
||||||
for (i = 0; i < g_extern.savefiles->size; i++)
|
for (i = 0; i < g_extern.savefiles->size; i++)
|
||||||
{
|
{
|
||||||
const char *path = g_extern.savefiles->elems[i].data;
|
const char *path = g_extern.savefiles->elems[i].data;
|
||||||
@ -1745,6 +1746,8 @@ void rarch_deinit_autosave(void)
|
|||||||
static void set_savestate_auto_index(void)
|
static void set_savestate_auto_index(void)
|
||||||
{
|
{
|
||||||
char state_dir[PATH_MAX], state_base[PATH_MAX];
|
char state_dir[PATH_MAX], state_base[PATH_MAX];
|
||||||
|
size_t i;
|
||||||
|
unsigned max_index = 0;
|
||||||
|
|
||||||
if (!g_settings.savestate_auto_index)
|
if (!g_settings.savestate_auto_index)
|
||||||
return;
|
return;
|
||||||
@ -1755,13 +1758,10 @@ static void set_savestate_auto_index(void)
|
|||||||
fill_pathname_basedir(state_dir, g_extern.savestate_name, sizeof(state_dir));
|
fill_pathname_basedir(state_dir, g_extern.savestate_name, sizeof(state_dir));
|
||||||
fill_pathname_base(state_base, g_extern.savestate_name, sizeof(state_base));
|
fill_pathname_base(state_base, g_extern.savestate_name, sizeof(state_base));
|
||||||
|
|
||||||
unsigned max_index = 0;
|
|
||||||
|
|
||||||
struct string_list *dir_list = dir_list_new(state_dir, NULL, false);
|
struct string_list *dir_list = dir_list_new(state_dir, NULL, false);
|
||||||
if (!dir_list)
|
if (!dir_list)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
size_t i;
|
|
||||||
for (i = 0; i < dir_list->size; i++)
|
for (i = 0; i < dir_list->size; i++)
|
||||||
{
|
{
|
||||||
const char *dir_elem = dir_list->elems[i].data;
|
const char *dir_elem = dir_list->elems[i].data;
|
||||||
@ -1786,9 +1786,16 @@ static void set_savestate_auto_index(void)
|
|||||||
RARCH_LOG("Found last state slot: #%u\n", g_settings.state_slot);
|
RARCH_LOG("Found last state slot: #%u\n", g_settings.state_slot);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void deinit_savefiles(void)
|
||||||
|
{
|
||||||
|
if (g_extern.savefiles)
|
||||||
|
string_list_free(g_extern.savefiles);
|
||||||
|
g_extern.savefiles = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
static void fill_pathnames(void)
|
static void fill_pathnames(void)
|
||||||
{
|
{
|
||||||
string_list_free(g_extern.savefiles);
|
deinit_savefiles();
|
||||||
g_extern.savefiles = string_list_new();
|
g_extern.savefiles = string_list_new();
|
||||||
rarch_assert(g_extern.savefiles);
|
rarch_assert(g_extern.savefiles);
|
||||||
|
|
||||||
@ -3257,12 +3264,6 @@ static void deinit_subsystem_fullpaths(void)
|
|||||||
g_extern.subsystem_fullpaths = NULL;
|
g_extern.subsystem_fullpaths = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void deinit_savefiles(void)
|
|
||||||
{
|
|
||||||
if (g_extern.savefiles)
|
|
||||||
string_list_free(g_extern.savefiles);
|
|
||||||
g_extern.savefiles = NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
void rarch_main_deinit(void)
|
void rarch_main_deinit(void)
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user