Create more BSV_MOVIE_CTL_* enums

This commit is contained in:
twinaphex 2015-12-01 00:16:48 +01:00
parent 4131abf489
commit a6d8d28895
4 changed files with 26 additions and 6 deletions

View File

@ -480,7 +480,7 @@ int16_t input_state(unsigned port, unsigned device,
if (bsv_movie_get_input(global->bsv.movie, &ret))
return ret;
global->bsv.movie_end = true;
bsv_movie_ctl(BSV_MOVIE_CTL_SET_END, NULL);
}
if (settings->input.remap_binds_enable)

15
movie.c
View File

@ -321,6 +321,15 @@ bool bsv_movie_ctl(enum bsv_ctl_state state, void *data)
return global->bsv.movie_start_playback;
case BSV_MOVIE_CTL_END:
return global->bsv.movie_end && global->bsv.eof_exit;
case BSV_MOVIE_CTL_SET_END:
global->bsv.movie_end = true;
break;
case BSV_MOVIE_CTL_UNSET_END:
global->bsv.movie_end = false;
break;
case BSV_MOVIE_CTL_UNSET_PLAYBACK:
global->bsv.movie_playback = false;
break;
case BSV_MOVIE_CTL_DEINIT:
if (global->bsv.movie)
bsv_movie_free(global->bsv.movie);
@ -329,6 +338,12 @@ bool bsv_movie_ctl(enum bsv_ctl_state state, void *data)
case BSV_MOVIE_CTL_INIT:
bsv_movie_init_state();
break;
case BSV_MOVIE_CTL_SET_FRAME_START:
bsv_movie_set_frame_start(global->bsv.movie);
break;
case BSV_MOVIE_CTL_SET_FRAME_END:
bsv_movie_set_frame_end(global->bsv.movie);
break;
default:
return false;
}

View File

@ -47,9 +47,14 @@ enum bsv_ctl_state
BSV_MOVIE_CTL_PLAYBACK_OFF,
BSV_MOVIE_CTL_START_RECORDING,
BSV_MOVIE_CTL_START_PLAYBACK,
BSV_MOVIE_CTL_UNSET_PLAYBACK,
BSV_MOVIE_CTL_SET_FRAME_START,
BSV_MOVIE_CTL_SET_FRAME_END,
BSV_MOVIE_CTL_DEINIT,
BSV_MOVIE_CTL_INIT,
BSV_MOVIE_CTL_END
BSV_MOVIE_CTL_END,
BSV_MOVIE_CTL_SET_END,
BSV_MOVIE_CTL_UNSET_END
};
bsv_movie_t *bsv_movie_init(const char *path, enum rarch_movie_type type);

View File

@ -625,8 +625,8 @@ bool runloop_ctl(enum runloop_ctl_state state, void *data)
event_command(EVENT_CMD_BSV_MOVIE_DEINIT);
global->bsv.movie_end = false;
global->bsv.movie_playback = false;
bsv_movie_ctl(BSV_MOVIE_CTL_UNSET_END, NULL);
bsv_movie_ctl(BSV_MOVIE_CTL_UNSET_PLAYBACK, NULL);
break;
case RUNLOOP_CTL_STATE_FREE:
main_is_idle = false;
@ -1053,7 +1053,7 @@ int rarch_main_iterate(unsigned *sleep_ms)
#endif
if (bsv_movie_ctl(BSV_MOVIE_CTL_IS_INITED, NULL))
bsv_movie_set_frame_start(global->bsv.movie);
bsv_movie_ctl(BSV_MOVIE_CTL_SET_FRAME_START, NULL);
if (system->camera_callback.caps)
driver_camera_poll();
@ -1092,7 +1092,7 @@ int rarch_main_iterate(unsigned *sleep_ms)
}
if (bsv_movie_ctl(BSV_MOVIE_CTL_IS_INITED, NULL))
bsv_movie_set_frame_end(global->bsv.movie);
bsv_movie_ctl(BSV_MOVIE_CTL_SET_FRAME_END, NULL);
#ifdef HAVE_NETPLAY
if (driver->netplay_data)