mirror of
https://github.com/libretro/RetroArch
synced 2025-03-22 16:20:58 +00:00
Move input_poll to libretro_version_1.c
This commit is contained in:
parent
ce6c884724
commit
2309a3e716
8
driver.h
8
driver.h
@ -39,6 +39,8 @@
|
|||||||
#include "frontend/menu/backend/menu_backend.h"
|
#include "frontend/menu/backend/menu_backend.h"
|
||||||
#include "frontend/menu/disp/menu_display.h"
|
#include "frontend/menu/disp/menu_display.h"
|
||||||
|
|
||||||
|
#include "retro.h"
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
#endif
|
#endif
|
||||||
@ -428,10 +430,12 @@ typedef struct driver
|
|||||||
const video_driver_t *video;
|
const video_driver_t *video;
|
||||||
const input_driver_t *input;
|
const input_driver_t *input;
|
||||||
const input_osk_driver_t *osk;
|
const input_osk_driver_t *osk;
|
||||||
void *osk_data;
|
|
||||||
const camera_driver_t *camera;
|
const camera_driver_t *camera;
|
||||||
void *camera_data;
|
|
||||||
const location_driver_t *location;
|
const location_driver_t *location;
|
||||||
|
struct retro_callbacks retro_ctx;
|
||||||
|
|
||||||
|
void *osk_data;
|
||||||
|
void *camera_data;
|
||||||
void *location_data;
|
void *location_data;
|
||||||
void *audio_data;
|
void *audio_data;
|
||||||
void *video_data;
|
void *video_data;
|
||||||
|
@ -323,7 +323,8 @@ bool menu_iterate(retro_input_t input,
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
rarch_input_poll();
|
driver.retro_ctx.poll_cb();
|
||||||
|
|
||||||
input_state = menu_input();
|
input_state = menu_input();
|
||||||
|
|
||||||
if (driver.menu->do_held)
|
if (driver.menu->do_held)
|
||||||
|
@ -811,7 +811,6 @@ bool rarch_main_iterate(void);
|
|||||||
void rarch_main_deinit(void);
|
void rarch_main_deinit(void);
|
||||||
void rarch_render_cached_frame(void);
|
void rarch_render_cached_frame(void);
|
||||||
void rarch_deinit_msg_queue(void);
|
void rarch_deinit_msg_queue(void);
|
||||||
void rarch_input_poll(void);
|
|
||||||
void rarch_check_block_hotkey(bool pressed);
|
void rarch_check_block_hotkey(bool pressed);
|
||||||
bool rarch_check_fullscreen(bool pressed);
|
bool rarch_check_fullscreen(bool pressed);
|
||||||
void rarch_disk_control_set_eject(bool state, bool log);
|
void rarch_disk_control_set_eject(bool state, bool log);
|
||||||
|
@ -25,6 +25,7 @@
|
|||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include "general.h"
|
#include "general.h"
|
||||||
#include "performance.h"
|
#include "performance.h"
|
||||||
|
#include "input/keyboard_line.h"
|
||||||
|
|
||||||
static void video_frame(const void *data, unsigned width,
|
static void video_frame(const void *data, unsigned width,
|
||||||
unsigned height, size_t pitch)
|
unsigned height, size_t pitch)
|
||||||
@ -227,6 +228,141 @@ static size_t audio_sample_batch_rewind(const int16_t *data, size_t frames)
|
|||||||
return frames;
|
return frames;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef HAVE_OVERLAY
|
||||||
|
static inline void input_poll_overlay(void)
|
||||||
|
{
|
||||||
|
input_overlay_state_t old_key_state;
|
||||||
|
unsigned i, j, device;
|
||||||
|
uint16_t key_mod = 0;
|
||||||
|
bool polled = false;
|
||||||
|
|
||||||
|
memcpy(old_key_state.keys, driver.overlay_state.keys,
|
||||||
|
sizeof(driver.overlay_state.keys));
|
||||||
|
memset(&driver.overlay_state, 0, sizeof(driver.overlay_state));
|
||||||
|
|
||||||
|
device = input_overlay_full_screen(driver.overlay) ?
|
||||||
|
RARCH_DEVICE_POINTER_SCREEN : RETRO_DEVICE_POINTER;
|
||||||
|
|
||||||
|
for (i = 0;
|
||||||
|
driver.input->input_state(driver.input_data, NULL, 0, device, i,
|
||||||
|
RETRO_DEVICE_ID_POINTER_PRESSED);
|
||||||
|
i++)
|
||||||
|
{
|
||||||
|
int16_t x = driver.input->input_state(driver.input_data, NULL, 0,
|
||||||
|
device, i, RETRO_DEVICE_ID_POINTER_X);
|
||||||
|
int16_t y = driver.input->input_state(driver.input_data, NULL, 0,
|
||||||
|
device, i, RETRO_DEVICE_ID_POINTER_Y);
|
||||||
|
|
||||||
|
input_overlay_state_t polled_data;
|
||||||
|
input_overlay_poll(driver.overlay, &polled_data, x, y);
|
||||||
|
|
||||||
|
driver.overlay_state.buttons |= polled_data.buttons;
|
||||||
|
|
||||||
|
for (j = 0; j < ARRAY_SIZE(driver.overlay_state.keys); j++)
|
||||||
|
driver.overlay_state.keys[j] |= polled_data.keys[j];
|
||||||
|
|
||||||
|
/* Fingers pressed later take prio and matched up
|
||||||
|
* with overlay poll priorities. */
|
||||||
|
for (j = 0; j < 4; j++)
|
||||||
|
if (polled_data.analog[j])
|
||||||
|
driver.overlay_state.analog[j] = polled_data.analog[j];
|
||||||
|
|
||||||
|
polled = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
key_mod |= (OVERLAY_GET_KEY(&driver.overlay_state, RETROK_LSHIFT) ||
|
||||||
|
OVERLAY_GET_KEY(&driver.overlay_state, RETROK_RSHIFT)) ?
|
||||||
|
RETROKMOD_SHIFT : 0;
|
||||||
|
key_mod |= (OVERLAY_GET_KEY(&driver.overlay_state, RETROK_LCTRL) ||
|
||||||
|
OVERLAY_GET_KEY(&driver.overlay_state, RETROK_RCTRL)) ?
|
||||||
|
RETROKMOD_CTRL : 0;
|
||||||
|
key_mod |= (OVERLAY_GET_KEY(&driver.overlay_state, RETROK_LALT) ||
|
||||||
|
OVERLAY_GET_KEY(&driver.overlay_state, RETROK_RALT)) ?
|
||||||
|
RETROKMOD_ALT : 0;
|
||||||
|
key_mod |= (OVERLAY_GET_KEY(&driver.overlay_state, RETROK_LMETA) ||
|
||||||
|
OVERLAY_GET_KEY(&driver.overlay_state, RETROK_RMETA)) ?
|
||||||
|
RETROKMOD_META : 0;
|
||||||
|
|
||||||
|
/* CAPSLOCK SCROLLOCK NUMLOCK */
|
||||||
|
for (i = 0; i < ARRAY_SIZE(driver.overlay_state.keys); i++)
|
||||||
|
{
|
||||||
|
if (driver.overlay_state.keys[i] != old_key_state.keys[i])
|
||||||
|
{
|
||||||
|
uint32_t orig_bits = old_key_state.keys[i];
|
||||||
|
uint32_t new_bits = driver.overlay_state.keys[i];
|
||||||
|
|
||||||
|
for (j = 0; j < 32; j++)
|
||||||
|
if ((orig_bits & (1 << j)) != (new_bits & (1 << j)))
|
||||||
|
input_keyboard_event(new_bits & (1 << j), i * 32 + j, 0, key_mod);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Map "analog" buttons to analog axes like regular input drivers do. */
|
||||||
|
for (j = 0; j < 4; j++)
|
||||||
|
{
|
||||||
|
if (!driver.overlay_state.analog[j])
|
||||||
|
{
|
||||||
|
unsigned bind_plus = RARCH_ANALOG_LEFT_X_PLUS + 2 * j;
|
||||||
|
unsigned bind_minus = bind_plus + 1;
|
||||||
|
driver.overlay_state.analog[j] += (driver.overlay_state.buttons &
|
||||||
|
(1ULL << bind_plus)) ? 0x7fff : 0;
|
||||||
|
driver.overlay_state.analog[j] -= (driver.overlay_state.buttons &
|
||||||
|
(1ULL << bind_minus)) ? 0x7fff : 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Check for analog_dpad_mode.
|
||||||
|
* Map analogs to d-pad buttons when configured. */
|
||||||
|
switch (g_settings.input.analog_dpad_mode[0])
|
||||||
|
{
|
||||||
|
case ANALOG_DPAD_LSTICK:
|
||||||
|
case ANALOG_DPAD_RSTICK:
|
||||||
|
{
|
||||||
|
unsigned analog_base = g_settings.input.analog_dpad_mode[0] ==
|
||||||
|
ANALOG_DPAD_LSTICK ? 0 : 2;
|
||||||
|
float analog_x = (float)driver.overlay_state.analog[analog_base + 0] / 0x7fff;
|
||||||
|
float analog_y = (float)driver.overlay_state.analog[analog_base + 1] / 0x7fff;
|
||||||
|
driver.overlay_state.buttons |=
|
||||||
|
(analog_x <= -g_settings.input.axis_threshold) ?
|
||||||
|
(1ULL << RETRO_DEVICE_ID_JOYPAD_LEFT) : 0;
|
||||||
|
driver.overlay_state.buttons |=
|
||||||
|
(analog_x >= g_settings.input.axis_threshold) ?
|
||||||
|
(1ULL << RETRO_DEVICE_ID_JOYPAD_RIGHT) : 0;
|
||||||
|
driver.overlay_state.buttons |=
|
||||||
|
(analog_y <= -g_settings.input.axis_threshold) ?
|
||||||
|
(1ULL << RETRO_DEVICE_ID_JOYPAD_UP) : 0;
|
||||||
|
driver.overlay_state.buttons |=
|
||||||
|
(analog_y >= g_settings.input.axis_threshold) ?
|
||||||
|
(1ULL << RETRO_DEVICE_ID_JOYPAD_DOWN) : 0;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (polled)
|
||||||
|
input_overlay_post_poll(driver.overlay);
|
||||||
|
else
|
||||||
|
input_overlay_poll_clear(driver.overlay);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
static void input_poll(void)
|
||||||
|
{
|
||||||
|
driver.input->poll(driver.input_data);
|
||||||
|
|
||||||
|
#ifdef HAVE_OVERLAY
|
||||||
|
if (driver.overlay)
|
||||||
|
input_poll_overlay();
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef HAVE_COMMAND
|
||||||
|
if (driver.command)
|
||||||
|
rarch_cmd_poll(driver.command);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
void retro_set_default_callbacks(void *data)
|
void retro_set_default_callbacks(void *data)
|
||||||
{
|
{
|
||||||
struct retro_callbacks *cbs = (struct retro_callbacks*)data;
|
struct retro_callbacks *cbs = (struct retro_callbacks*)data;
|
||||||
@ -238,6 +374,7 @@ void retro_set_default_callbacks(void *data)
|
|||||||
cbs->sample_cb = audio_sample;
|
cbs->sample_cb = audio_sample;
|
||||||
cbs->sample_batch_cb = audio_sample_batch;
|
cbs->sample_batch_cb = audio_sample_batch;
|
||||||
cbs->state_cb = input_state;
|
cbs->state_cb = input_state;
|
||||||
|
cbs->poll_cb = input_poll;
|
||||||
}
|
}
|
||||||
|
|
||||||
void retro_init_libretro_cbs(void *data)
|
void retro_init_libretro_cbs(void *data)
|
||||||
@ -251,7 +388,7 @@ void retro_init_libretro_cbs(void *data)
|
|||||||
pretro_set_audio_sample(audio_sample);
|
pretro_set_audio_sample(audio_sample);
|
||||||
pretro_set_audio_sample_batch(audio_sample_batch);
|
pretro_set_audio_sample_batch(audio_sample_batch);
|
||||||
pretro_set_input_state(input_state);
|
pretro_set_input_state(input_state);
|
||||||
pretro_set_input_poll(rarch_input_poll);
|
pretro_set_input_poll(input_poll);
|
||||||
|
|
||||||
retro_set_default_callbacks(cbs);
|
retro_set_default_callbacks(cbs);
|
||||||
|
|
||||||
|
5
retro.h
5
retro.h
@ -15,8 +15,8 @@
|
|||||||
* If not, see <http://www.gnu.org/licenses/>.
|
* If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef _RETRO_IMPLEMENTATION_H
|
#ifndef _RETRO_IMPLEMENTATION_V1_H
|
||||||
#define _RETRO_IMPLEMENTATION_H
|
#define _RETRO_IMPLEMENTATION_V1_H
|
||||||
|
|
||||||
#include "libretro.h"
|
#include "libretro.h"
|
||||||
|
|
||||||
@ -26,6 +26,7 @@ typedef struct retro_callbacks
|
|||||||
retro_audio_sample_t sample_cb;
|
retro_audio_sample_t sample_cb;
|
||||||
retro_audio_sample_batch_t sample_batch_cb;
|
retro_audio_sample_batch_t sample_batch_cb;
|
||||||
retro_input_state_t state_cb;
|
retro_input_state_t state_cb;
|
||||||
|
retro_input_poll_t poll_cb;
|
||||||
} retro_callbacks_t;
|
} retro_callbacks_t;
|
||||||
|
|
||||||
void retro_init_libretro_cbs(void *data);
|
void retro_init_libretro_cbs(void *data);
|
||||||
|
147
retroarch.c
147
retroarch.c
@ -58,8 +58,6 @@
|
|||||||
#include "msvc/msvc_compat.h"
|
#include "msvc/msvc_compat.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
struct retro_callbacks retro_ctx;
|
|
||||||
|
|
||||||
/* To avoid continous switching if we hold the button down, we require
|
/* To avoid continous switching if we hold the button down, we require
|
||||||
* that the button must go from pressed to unpressed back to pressed
|
* that the button must go from pressed to unpressed back to pressed
|
||||||
* to be able to toggle between then.
|
* to be able to toggle between then.
|
||||||
@ -446,8 +444,8 @@ void rarch_render_cached_frame(void)
|
|||||||
* freed the memory, but no known implementations do this.
|
* freed the memory, but no known implementations do this.
|
||||||
* It would be really stupid at any rate ...
|
* It would be really stupid at any rate ...
|
||||||
*/
|
*/
|
||||||
if (retro_ctx.frame_cb)
|
if (driver.retro_ctx.frame_cb)
|
||||||
retro_ctx.frame_cb(frame,
|
driver.retro_ctx.frame_cb(frame,
|
||||||
g_extern.frame_cache.width,
|
g_extern.frame_cache.width,
|
||||||
g_extern.frame_cache.height,
|
g_extern.frame_cache.height,
|
||||||
g_extern.frame_cache.pitch);
|
g_extern.frame_cache.pitch);
|
||||||
@ -540,141 +538,6 @@ bool rarch_audio_flush(const int16_t *data, size_t samples)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef HAVE_OVERLAY
|
|
||||||
static inline void input_poll_overlay(void)
|
|
||||||
{
|
|
||||||
input_overlay_state_t old_key_state;
|
|
||||||
unsigned i, j, device;
|
|
||||||
uint16_t key_mod = 0;
|
|
||||||
bool polled = false;
|
|
||||||
|
|
||||||
memcpy(old_key_state.keys, driver.overlay_state.keys,
|
|
||||||
sizeof(driver.overlay_state.keys));
|
|
||||||
memset(&driver.overlay_state, 0, sizeof(driver.overlay_state));
|
|
||||||
|
|
||||||
device = input_overlay_full_screen(driver.overlay) ?
|
|
||||||
RARCH_DEVICE_POINTER_SCREEN : RETRO_DEVICE_POINTER;
|
|
||||||
|
|
||||||
for (i = 0;
|
|
||||||
driver.input->input_state(driver.input_data, NULL, 0, device, i,
|
|
||||||
RETRO_DEVICE_ID_POINTER_PRESSED);
|
|
||||||
i++)
|
|
||||||
{
|
|
||||||
int16_t x = driver.input->input_state(driver.input_data, NULL, 0,
|
|
||||||
device, i, RETRO_DEVICE_ID_POINTER_X);
|
|
||||||
int16_t y = driver.input->input_state(driver.input_data, NULL, 0,
|
|
||||||
device, i, RETRO_DEVICE_ID_POINTER_Y);
|
|
||||||
|
|
||||||
input_overlay_state_t polled_data;
|
|
||||||
input_overlay_poll(driver.overlay, &polled_data, x, y);
|
|
||||||
|
|
||||||
driver.overlay_state.buttons |= polled_data.buttons;
|
|
||||||
|
|
||||||
for (j = 0; j < ARRAY_SIZE(driver.overlay_state.keys); j++)
|
|
||||||
driver.overlay_state.keys[j] |= polled_data.keys[j];
|
|
||||||
|
|
||||||
/* Fingers pressed later take prio and matched up
|
|
||||||
* with overlay poll priorities. */
|
|
||||||
for (j = 0; j < 4; j++)
|
|
||||||
if (polled_data.analog[j])
|
|
||||||
driver.overlay_state.analog[j] = polled_data.analog[j];
|
|
||||||
|
|
||||||
polled = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
key_mod |= (OVERLAY_GET_KEY(&driver.overlay_state, RETROK_LSHIFT) ||
|
|
||||||
OVERLAY_GET_KEY(&driver.overlay_state, RETROK_RSHIFT)) ?
|
|
||||||
RETROKMOD_SHIFT : 0;
|
|
||||||
key_mod |= (OVERLAY_GET_KEY(&driver.overlay_state, RETROK_LCTRL) ||
|
|
||||||
OVERLAY_GET_KEY(&driver.overlay_state, RETROK_RCTRL)) ?
|
|
||||||
RETROKMOD_CTRL : 0;
|
|
||||||
key_mod |= (OVERLAY_GET_KEY(&driver.overlay_state, RETROK_LALT) ||
|
|
||||||
OVERLAY_GET_KEY(&driver.overlay_state, RETROK_RALT)) ?
|
|
||||||
RETROKMOD_ALT : 0;
|
|
||||||
key_mod |= (OVERLAY_GET_KEY(&driver.overlay_state, RETROK_LMETA) ||
|
|
||||||
OVERLAY_GET_KEY(&driver.overlay_state, RETROK_RMETA)) ?
|
|
||||||
RETROKMOD_META : 0;
|
|
||||||
|
|
||||||
/* CAPSLOCK SCROLLOCK NUMLOCK */
|
|
||||||
for (i = 0; i < ARRAY_SIZE(driver.overlay_state.keys); i++)
|
|
||||||
{
|
|
||||||
if (driver.overlay_state.keys[i] != old_key_state.keys[i])
|
|
||||||
{
|
|
||||||
uint32_t orig_bits = old_key_state.keys[i];
|
|
||||||
uint32_t new_bits = driver.overlay_state.keys[i];
|
|
||||||
|
|
||||||
for (j = 0; j < 32; j++)
|
|
||||||
if ((orig_bits & (1 << j)) != (new_bits & (1 << j)))
|
|
||||||
input_keyboard_event(new_bits & (1 << j), i * 32 + j, 0, key_mod);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Map "analog" buttons to analog axes like regular input drivers do. */
|
|
||||||
for (j = 0; j < 4; j++)
|
|
||||||
{
|
|
||||||
if (!driver.overlay_state.analog[j])
|
|
||||||
{
|
|
||||||
unsigned bind_plus = RARCH_ANALOG_LEFT_X_PLUS + 2 * j;
|
|
||||||
unsigned bind_minus = bind_plus + 1;
|
|
||||||
driver.overlay_state.analog[j] += (driver.overlay_state.buttons &
|
|
||||||
(1ULL << bind_plus)) ? 0x7fff : 0;
|
|
||||||
driver.overlay_state.analog[j] -= (driver.overlay_state.buttons &
|
|
||||||
(1ULL << bind_minus)) ? 0x7fff : 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Check for analog_dpad_mode.
|
|
||||||
* Map analogs to d-pad buttons when configured. */
|
|
||||||
switch (g_settings.input.analog_dpad_mode[0])
|
|
||||||
{
|
|
||||||
case ANALOG_DPAD_LSTICK:
|
|
||||||
case ANALOG_DPAD_RSTICK:
|
|
||||||
{
|
|
||||||
unsigned analog_base = g_settings.input.analog_dpad_mode[0] ==
|
|
||||||
ANALOG_DPAD_LSTICK ? 0 : 2;
|
|
||||||
float analog_x = (float)driver.overlay_state.analog[analog_base + 0] / 0x7fff;
|
|
||||||
float analog_y = (float)driver.overlay_state.analog[analog_base + 1] / 0x7fff;
|
|
||||||
driver.overlay_state.buttons |=
|
|
||||||
(analog_x <= -g_settings.input.axis_threshold) ?
|
|
||||||
(1ULL << RETRO_DEVICE_ID_JOYPAD_LEFT) : 0;
|
|
||||||
driver.overlay_state.buttons |=
|
|
||||||
(analog_x >= g_settings.input.axis_threshold) ?
|
|
||||||
(1ULL << RETRO_DEVICE_ID_JOYPAD_RIGHT) : 0;
|
|
||||||
driver.overlay_state.buttons |=
|
|
||||||
(analog_y <= -g_settings.input.axis_threshold) ?
|
|
||||||
(1ULL << RETRO_DEVICE_ID_JOYPAD_UP) : 0;
|
|
||||||
driver.overlay_state.buttons |=
|
|
||||||
(analog_y >= g_settings.input.axis_threshold) ?
|
|
||||||
(1ULL << RETRO_DEVICE_ID_JOYPAD_DOWN) : 0;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (polled)
|
|
||||||
input_overlay_post_poll(driver.overlay);
|
|
||||||
else
|
|
||||||
input_overlay_poll_clear(driver.overlay);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
void rarch_input_poll(void)
|
|
||||||
{
|
|
||||||
driver.input->poll(driver.input_data);
|
|
||||||
|
|
||||||
#ifdef HAVE_OVERLAY
|
|
||||||
if (driver.overlay)
|
|
||||||
input_poll_overlay();
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef HAVE_COMMAND
|
|
||||||
if (driver.command)
|
|
||||||
rarch_cmd_poll(driver.command);
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
#if !defined(_WIN32) && !defined(GLOBAL_CONFIG_DIR)
|
#if !defined(_WIN32) && !defined(GLOBAL_CONFIG_DIR)
|
||||||
#if defined(__HAIKU__)
|
#if defined(__HAIKU__)
|
||||||
#define GLOBAL_CONFIG_DIR "/system/settings"
|
#define GLOBAL_CONFIG_DIR "/system/settings"
|
||||||
@ -2858,7 +2721,7 @@ int rarch_main_init(int argc, char *argv[])
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
retro_init_libretro_cbs(&retro_ctx);
|
retro_init_libretro_cbs(&driver.retro_ctx);
|
||||||
init_system_av_info();
|
init_system_av_info();
|
||||||
init_drivers();
|
init_drivers();
|
||||||
|
|
||||||
@ -3003,7 +2866,7 @@ void rarch_main_set_state(unsigned cmd)
|
|||||||
rarch_main_set_state(RARCH_ACTION_STATE_QUIT);
|
rarch_main_set_state(RARCH_ACTION_STATE_QUIT);
|
||||||
break;
|
break;
|
||||||
case RARCH_ACTION_STATE_FLUSH_INPUT:
|
case RARCH_ACTION_STATE_FLUSH_INPUT:
|
||||||
rarch_input_poll();
|
driver.retro_ctx.poll_cb();
|
||||||
#ifdef HAVE_MENU
|
#ifdef HAVE_MENU
|
||||||
menu_input();
|
menu_input();
|
||||||
#endif
|
#endif
|
||||||
@ -3405,7 +3268,7 @@ bool rarch_main_iterate(void)
|
|||||||
|
|
||||||
if (!do_state_checks(input, old_input, trigger_input))
|
if (!do_state_checks(input, old_input, trigger_input))
|
||||||
{
|
{
|
||||||
rarch_input_poll();
|
driver.retro_ctx.poll_cb();
|
||||||
rarch_sleep(10);
|
rarch_sleep(10);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user