void bsv_movie_set_input(int16_t input) { bsv_movie_t *handle = bsv_movie_state.movie; input = swap_if_big16(input); fwrite(&input, sizeof(int16_t), 1, handle->file); }
bool bsv_movie_get_input(bsv_movie_t *handle, int16_t *input) { if (fread(input, sizeof(int16_t), 1, handle->file) != 1) return false; *input = swap_if_big16(*input); return true; }
static void netplay_set_spectate_input(netplay_t *handle, int16_t input) { if (handle->spectate_input_ptr >= handle->spectate_input_size) { handle->spectate_input_size++; handle->spectate_input_size *= 2; handle->spectate_input = (uint16_t*)realloc(handle->spectate_input, handle->spectate_input_size * sizeof(uint16_t)); } handle->spectate_input[handle->spectate_input_ptr++] = swap_if_big16(input); }
static void netplay_set_spectate_input(netplay_t *netplay, int16_t input) { if (netplay->spectate.input_ptr >= netplay->spectate.input_sz) { netplay->spectate.input_sz++; netplay->spectate.input_sz *= 2; netplay->spectate.input = (uint16_t*)realloc(netplay->spectate.input, netplay->spectate.input_sz * sizeof(uint16_t)); } netplay->spectate.input[netplay->spectate.input_ptr++] = swap_if_big16(input); }
static int16_t netplay_get_spectate_input(netplay_t *netplay, bool port, unsigned device, unsigned idx, unsigned id) { int16_t inp; if (socket_receive_all_blocking(netplay->fd, (char*)&inp, sizeof(inp))) return swap_if_big16(inp); RARCH_ERR("Connection with host was cut.\n"); rarch_main_msg_queue_push("Connection with host was cut.", 1, 180, true); core.retro_set_input_state(netplay->cbs.state_cb); return netplay->cbs.state_cb(port, device, idx, id); }
static int16_t netplay_get_spectate_input(netplay_t *handle, bool port, unsigned device, unsigned index, unsigned id) { int16_t inp; if (recv_all(handle->fd, NONCONST_CAST &inp, sizeof(inp))) return swap_if_big16(inp); else { RARCH_ERR("Connection with host was cut.\n"); msg_queue_clear(g_extern.msg_queue); msg_queue_push(g_extern.msg_queue, "Connection with host was cut.", 1, 180); pretro_set_input_state(g_extern.netplay->cbs.state_cb); return g_extern.netplay->cbs.state_cb(port, device, index, id); } }
static int16_t netplay_get_spectate_input(netplay_t *netplay, bool port, unsigned device, unsigned idx, unsigned id) { int16_t inp; retro_ctx_input_state_info_t input_info; if (socket_receive_all_blocking(netplay->fd, (char*)&inp, sizeof(inp))) return swap_if_big16(inp); RARCH_ERR("Connection with host was cut.\n"); runloop_msg_queue_push("Connection with host was cut.", 1, 180, true); input_info.cb = netplay->cbs.state_cb; core_ctl(CORE_CTL_RETRO_SET_INPUT_STATE, &input_info); return netplay->cbs.state_cb(port, device, idx, id); }
bool bsv_movie_ctl(enum bsv_ctl_state state, void *data) { switch (state) { case BSV_MOVIE_CTL_IS_INITED: return bsv_movie_state.movie; case BSV_MOVIE_CTL_PLAYBACK_ON: return bsv_movie_state.movie && bsv_movie_state.movie_playback; case BSV_MOVIE_CTL_PLAYBACK_OFF: return bsv_movie_state.movie && !bsv_movie_state.movie_playback; case BSV_MOVIE_CTL_START_RECORDING: return bsv_movie_state.movie_start_recording; case BSV_MOVIE_CTL_SET_START_RECORDING: bsv_movie_state.movie_start_recording = true; break; case BSV_MOVIE_CTL_UNSET_START_RECORDING: bsv_movie_state.movie_start_recording = false; break; case BSV_MOVIE_CTL_START_PLAYBACK: return bsv_movie_state.movie_start_playback; case BSV_MOVIE_CTL_SET_START_PLAYBACK: bsv_movie_state.movie_start_playback = true; break; case BSV_MOVIE_CTL_UNSET_START_PLAYBACK: bsv_movie_state.movie_start_playback = false; break; case BSV_MOVIE_CTL_END: return bsv_movie_state.movie_end; case BSV_MOVIE_CTL_SET_END_EOF: bsv_movie_state.eof_exit = true; break; case BSV_MOVIE_CTL_END_EOF: return bsv_movie_state.movie_end && bsv_movie_state.eof_exit; case BSV_MOVIE_CTL_SET_END: bsv_movie_state.movie_end = true; break; case BSV_MOVIE_CTL_UNSET_END: bsv_movie_state.movie_end = false; break; case BSV_MOVIE_CTL_UNSET_PLAYBACK: bsv_movie_state.movie_playback = false; break; case BSV_MOVIE_CTL_DEINIT: if (bsv_movie_state.movie) bsv_movie_free(bsv_movie_state.movie); bsv_movie_state.movie = NULL; break; case BSV_MOVIE_CTL_INIT: bsv_movie_init_state(); break; case BSV_MOVIE_CTL_SET_FRAME_START: bsv_movie_set_frame_start(bsv_movie_state.movie); break; case BSV_MOVIE_CTL_SET_FRAME_END: bsv_movie_set_frame_end(bsv_movie_state.movie); break; 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; bsv_movie_t *handle = bsv_movie_state.movie; *bsv_data = swap_if_big16(*bsv_data); fwrite(bsv_data, sizeof(int16_t), 1, handle->file); } break; case BSV_MOVIE_CTL_NONE: default: return false; } return true; }
void bsv_movie_set_input(bsv_movie_t *handle, int16_t input) { input = swap_if_big16(input); fwrite(&input, sizeof(int16_t), 1, handle->file); }