Start rewriting bsv movie code so that global->bsv.movie is

only accessed inside movie.c
This commit is contained in:
twinaphex 2015-12-01 01:20:22 +01:00
parent 508f1f594f
commit d05ed635c6
3 changed files with 11 additions and 7 deletions

View File

@ -467,7 +467,6 @@ int16_t input_state(unsigned port, unsigned device,
const struct retro_keybind *libretro_input_binds[MAX_USERS]; const struct retro_keybind *libretro_input_binds[MAX_USERS];
int16_t res = 0; int16_t res = 0;
settings_t *settings = config_get_ptr(); settings_t *settings = config_get_ptr();
global_t *global = global_get_ptr();
for (i = 0; i < MAX_USERS; i++) for (i = 0; i < MAX_USERS; i++)
libretro_input_binds[i] = settings->input.binds[i]; libretro_input_binds[i] = settings->input.binds[i];
@ -477,7 +476,7 @@ int16_t input_state(unsigned port, unsigned device,
if (bsv_movie_ctl(BSV_MOVIE_CTL_PLAYBACK_ON, NULL)) if (bsv_movie_ctl(BSV_MOVIE_CTL_PLAYBACK_ON, NULL))
{ {
int16_t ret; int16_t ret;
if (bsv_movie_get_input(global->bsv.movie, &ret)) if (bsv_movie_get_input(&ret))
return ret; return ret;
bsv_movie_ctl(BSV_MOVIE_CTL_SET_END, NULL); bsv_movie_ctl(BSV_MOVIE_CTL_SET_END, NULL);
@ -527,7 +526,7 @@ int16_t input_state(unsigned port, unsigned device,
} }
if (bsv_movie_ctl(BSV_MOVIE_CTL_PLAYBACK_OFF, NULL)) if (bsv_movie_ctl(BSV_MOVIE_CTL_PLAYBACK_OFF, NULL))
bsv_movie_set_input(global->bsv.movie, res); bsv_movie_set_input(res);
return res; return res;
} }

View File

@ -156,8 +156,10 @@ void bsv_movie_free(bsv_movie_t *handle)
free(handle); free(handle);
} }
bool bsv_movie_get_input(bsv_movie_t *handle, int16_t *input) bool bsv_movie_get_input(int16_t *input)
{ {
global_t *global = global_get_ptr();
bsv_movie_t *handle = global->bsv.movie;
if (fread(input, sizeof(int16_t), 1, handle->file) != 1) if (fread(input, sizeof(int16_t), 1, handle->file) != 1)
return false; return false;
@ -165,8 +167,11 @@ bool bsv_movie_get_input(bsv_movie_t *handle, int16_t *input)
return true; return true;
} }
void bsv_movie_set_input(bsv_movie_t *handle, int16_t input) void bsv_movie_set_input(int16_t input)
{ {
global_t *global = global_get_ptr();
bsv_movie_t *handle = global->bsv.movie;
input = swap_if_big16(input); input = swap_if_big16(input);
fwrite(&input, sizeof(int16_t), 1, handle->file); fwrite(&input, sizeof(int16_t), 1, handle->file);
} }

View File

@ -61,10 +61,10 @@ enum bsv_ctl_state
bsv_movie_t *bsv_movie_init(const char *path, enum rarch_movie_type type); bsv_movie_t *bsv_movie_init(const char *path, enum rarch_movie_type type);
/* Playback. */ /* Playback. */
bool bsv_movie_get_input(bsv_movie_t *handle, int16_t *input); bool bsv_movie_get_input(int16_t *input);
/* Recording. */ /* Recording. */
void bsv_movie_set_input(bsv_movie_t *handle, int16_t input); void bsv_movie_set_input(int16_t input);
/* Used for rewinding while playback/record. */ /* Used for rewinding while playback/record. */
void bsv_movie_set_frame_start(bsv_movie_t *handle); void bsv_movie_set_frame_start(bsv_movie_t *handle);