diff --git a/retroarch.c b/retroarch.c index a16a788e90..41adaff453 100644 --- a/retroarch.c +++ b/retroarch.c @@ -838,7 +838,7 @@ static void parse_input(int argc, char *argv[]) break; case RA_OPT_MAX_FRAMES: - global->max_frames = strtoul(optarg, NULL, 10); + rarch_main_set_max_frames(strtoul(optarg, NULL, 10)); break; case RA_OPT_SUBSYSTEM: diff --git a/runloop.c b/runloop.c index 21287e07b8..cc9d6f73f7 100644 --- a/runloop.c +++ b/runloop.c @@ -48,6 +48,8 @@ static bool main_is_idle; static bool main_is_paused; static bool main_is_slowmotion; +static unsigned main_max_frames; + static retro_time_t frame_limit_last_time; /** @@ -616,7 +618,7 @@ static INLINE int time_to_exit(driver_t *driver, global_t *global, bool video_alive = video && video->alive(driver->video_data); bool movie_end = (global->bsv.movie_end && global->bsv.eof_exit); uint64_t *frame_count = video_driver_get_frame_count(); - bool frame_count_end = global->max_frames && (*frame_count >= global->max_frames); + bool frame_count_end = main_max_frames && (*frame_count >= main_max_frames); if (shutdown_pressed || cmd->quit_key_pressed || frame_count_end || movie_end || !video_alive) @@ -848,7 +850,7 @@ void rarch_main_state_free(void) main_is_paused = false; main_is_slowmotion = false; frame_limit_last_time = 0.0; - g_extern.max_frames = 0; + main_max_frames = 0; } void rarch_main_set_frame_limit_last_time(retro_time_t t) @@ -896,6 +898,11 @@ void rarch_main_set_slowmotion(unsigned enable) main_is_slowmotion = enable; } +void rarch_main_set_max_frames(unsigned val) +{ + main_max_frames = val; +} + void rarch_main_set_pause(unsigned enable) { main_is_paused = enable; diff --git a/runloop.h b/runloop.h index bb17fcb3b2..c499562ec3 100644 --- a/runloop.h +++ b/runloop.h @@ -43,8 +43,6 @@ typedef struct rarch_resolution typedef struct global { - unsigned max_frames; - bool verbosity; bool perfcnt_enable; bool force_fullscreen; @@ -341,6 +339,8 @@ void rarch_main_set_pause(unsigned enable); void rarch_main_set_frame_limit_last_time(retro_time_t t); +void rarch_main_set_max_frames(unsigned val); + void rarch_main_set_idle(unsigned enable); void rarch_main_state_free(void);