Refactor max_frames

This commit is contained in:
twinaphex 2015-08-05 14:45:56 +02:00
parent f39ab89867
commit adb28bb341
3 changed files with 12 additions and 5 deletions

View File

@ -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:

View File

@ -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;

View File

@ -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);