mirror of
https://github.com/libretro/RetroArch
synced 2025-03-28 08:37:41 +00:00
Create bsv_movie_get_input
This commit is contained in:
parent
b04056db11
commit
12c5cc51c5
@ -342,9 +342,9 @@ int16_t input_state(unsigned port, unsigned device,
|
||||
|
||||
if (bsv_movie_ctl(BSV_MOVIE_CTL_PLAYBACK_ON, NULL))
|
||||
{
|
||||
int16_t ret;
|
||||
if (bsv_movie_ctl(BSV_MOVIE_CTL_GET_INPUT, &ret))
|
||||
return ret;
|
||||
int16_t bsv_result;
|
||||
if (bsv_movie_get_input(&bsv_result))
|
||||
return bsv_result;
|
||||
|
||||
bsv_movie_ctl(BSV_MOVIE_CTL_SET_END, NULL);
|
||||
}
|
||||
|
21
movie.c
21
movie.c
@ -354,6 +354,17 @@ static void bsv_movie_init_state(void)
|
||||
}
|
||||
}
|
||||
|
||||
bool bsv_movie_get_input(int16_t *bsv_data)
|
||||
{
|
||||
bsv_movie_t *handle = bsv_movie_state.movie;
|
||||
if (fread(bsv_data, sizeof(int16_t), 1, handle->file) != 1)
|
||||
return false;
|
||||
|
||||
*bsv_data = swap_if_big16(*bsv_data);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool bsv_movie_ctl(enum bsv_ctl_state state, void *data)
|
||||
{
|
||||
switch (state)
|
||||
@ -405,16 +416,6 @@ bool bsv_movie_ctl(enum bsv_ctl_state state, void *data)
|
||||
case BSV_MOVIE_CTL_FRAME_REWIND:
|
||||
bsv_movie_frame_rewind(bsv_movie_state.movie);
|
||||
break;
|
||||
case BSV_MOVIE_CTL_GET_INPUT:
|
||||
{
|
||||
int16_t *bsv_data = (int16_t*)data;
|
||||
bsv_movie_t *handle = bsv_movie_state.movie;
|
||||
if (fread(bsv_data, sizeof(int16_t), 1, handle->file) != 1)
|
||||
return false;
|
||||
|
||||
*bsv_data = swap_if_big16(*bsv_data);
|
||||
}
|
||||
break;
|
||||
case BSV_MOVIE_CTL_SET_INPUT:
|
||||
{
|
||||
int16_t *bsv_data = (int16_t*)data;
|
||||
|
5
movie.h
5
movie.h
@ -46,9 +46,6 @@ enum bsv_ctl_state
|
||||
BSV_MOVIE_CTL_IS_INITED,
|
||||
BSV_MOVIE_CTL_PLAYBACK_ON,
|
||||
BSV_MOVIE_CTL_PLAYBACK_OFF,
|
||||
/* Playback. */
|
||||
BSV_MOVIE_CTL_GET_INPUT,
|
||||
/* Recording. */
|
||||
BSV_MOVIE_CTL_SET_INPUT,
|
||||
BSV_MOVIE_CTL_SET_START_RECORDING,
|
||||
BSV_MOVIE_CTL_UNSET_START_RECORDING,
|
||||
@ -76,6 +73,8 @@ void bsv_movie_set_frame_start(void);
|
||||
|
||||
void bsv_movie_set_frame_end(void);
|
||||
|
||||
bool bsv_movie_get_input(int16_t *bsv_data);
|
||||
|
||||
bool bsv_movie_ctl(enum bsv_ctl_state state, void *data);
|
||||
|
||||
bool bsv_movie_check(void);
|
||||
|
Loading…
x
Reference in New Issue
Block a user