Ejemplo n.º 1
0
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);
}
Ejemplo n.º 2
0
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;
}
Ejemplo n.º 3
0
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);
}
Ejemplo n.º 4
0
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);
}
Ejemplo n.º 5
0
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);
}
Ejemplo n.º 6
0
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);
   }
}
Ejemplo n.º 7
0
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);
}
Ejemplo n.º 8
0
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;
}
Ejemplo n.º 9
0
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);
}