mirror of
https://github.com/libretro/RetroArch.git
synced 2024-11-23 16:09:47 +00:00
Wrap driver calls in overridable macros.
This commit is contained in:
parent
f8509ff325
commit
eee0233abb
16
driver.c
16
driver.c
@ -311,18 +311,18 @@ void init_audio(void)
|
||||
adjust_audio_input_rate();
|
||||
find_audio_driver();
|
||||
|
||||
driver.audio_data = driver.audio->init(*g_settings.audio.device ? g_settings.audio.device : NULL,
|
||||
driver.audio_data = audio_init_func(*g_settings.audio.device ? g_settings.audio.device : NULL,
|
||||
g_settings.audio.out_rate, g_settings.audio.latency);
|
||||
|
||||
if (!driver.audio_data)
|
||||
g_extern.audio_active = false;
|
||||
|
||||
if (g_extern.audio_active && driver.audio->use_float && driver.audio->use_float(driver.audio_data))
|
||||
if (g_extern.audio_active && driver.audio->use_float && audio_use_float_func())
|
||||
g_extern.audio_data.use_float = true;
|
||||
|
||||
if (!g_settings.audio.sync && g_extern.audio_active)
|
||||
{
|
||||
driver.audio->set_nonblock_state(driver.audio_data, true);
|
||||
audio_set_nonblock_state_func(true);
|
||||
g_extern.audio_data.chunk_size = g_extern.audio_data.nonblock_chunk_size;
|
||||
}
|
||||
|
||||
@ -344,7 +344,7 @@ void init_audio(void)
|
||||
{
|
||||
if (driver.audio->buffer_size && driver.audio->write_avail)
|
||||
{
|
||||
g_extern.audio_data.driver_buffer_size = driver.audio->buffer_size(driver.audio_data);
|
||||
g_extern.audio_data.driver_buffer_size = audio_buffer_size_func();
|
||||
g_extern.audio_data.rate_control = true;
|
||||
}
|
||||
else
|
||||
@ -552,7 +552,7 @@ void init_video_input(void)
|
||||
video.rgb32 = g_extern.filter.active;
|
||||
|
||||
const input_driver_t *tmp = driver.input;
|
||||
driver.video_data = driver.video->init(&video, &driver.input, &driver.input_data);
|
||||
driver.video_data = video_init_func(&video, &driver.input, &driver.input_data);
|
||||
|
||||
if (driver.video_data == NULL)
|
||||
{
|
||||
@ -566,7 +566,7 @@ void init_video_input(void)
|
||||
driver.input = tmp;
|
||||
if (driver.input != NULL)
|
||||
{
|
||||
driver.input_data = driver.input->init();
|
||||
driver.input_data = input_init_func();
|
||||
if (driver.input_data == NULL)
|
||||
{
|
||||
SSNES_ERR("Cannot init input driver. Exiting ...\n");
|
||||
@ -584,10 +584,10 @@ void init_video_input(void)
|
||||
void uninit_video_input(void)
|
||||
{
|
||||
if (driver.input_data != driver.video_data && driver.input)
|
||||
driver.input->free(driver.input_data);
|
||||
input_free_func();
|
||||
|
||||
if (driver.video_data && driver.video)
|
||||
driver.video->free(driver.video_data);
|
||||
video_free_func();
|
||||
|
||||
#ifdef HAVE_DYLIB
|
||||
deinit_filter();
|
||||
|
33
driver.h
33
driver.h
@ -210,4 +210,37 @@ extern const input_driver_t input_wii;
|
||||
extern const input_driver_t input_xdk360;
|
||||
////////////////////////////////////////////////
|
||||
|
||||
// Convenience macros.
|
||||
|
||||
#ifdef HAVE_GRIFFIN
|
||||
#else
|
||||
#define audio_init_func(device, rate, latency) driver.audio->init(device, rate, latency)
|
||||
#define audio_write_func(buf, size) driver.audio->write(driver.audio_data, buf, size)
|
||||
#define audio_stop_func() driver.audio->stop(driver.audio_data)
|
||||
#define audio_start_func() driver.audio->start(driver.audio_data)
|
||||
#define audio_set_nonblock_state_func(state) driver.audio->set_nonblock_state(driver.audio_data, state)
|
||||
#define audio_free_func() driver.audio->free(driver.audio_data)
|
||||
#define audio_use_float_func() driver.audio->use_float(driver.audio_data)
|
||||
#define audio_write_avail_func() driver.audio->write_avail(driver.audio_data)
|
||||
#define audio_buffer_size_func() driver.audio->buffer_size(driver.audio_data)
|
||||
|
||||
#define video_init_func(video_info, input, input_data) \
|
||||
driver.video->init(video_info, input, input_data)
|
||||
#define video_frame_func(data, width, height, pitch, msg) \
|
||||
driver.video->frame(driver.video_data, data, width, height, pitch, msg)
|
||||
#define video_set_nonblock_state_func(state) driver.video->set_nonblock_state(driver.video_data, state)
|
||||
#define video_alive_func() driver.video->alive(driver.video_data)
|
||||
#define video_focus_func() driver.video->focus(driver.video_data)
|
||||
#define video_xml_shader_func(path) driver.video->xml_shader(driver.video_data, path)
|
||||
#define video_free_func() driver.video->free(driver.video_data)
|
||||
|
||||
#define input_init_func() driver.input->init()
|
||||
#define input_poll_func() driver.input->poll(driver.input_data)
|
||||
#define input_input_state_func(snes_keybinds, port, device, index, id) \
|
||||
driver.input->input_state(driver.input_data, snes_keybinds, port, device, index, id)
|
||||
#define input_key_pressed_func(key) driver.input->key_pressed(driver.input_data, key)
|
||||
#define input_free_func() driver.input->free(driver.input_data)
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
|
@ -85,8 +85,7 @@ static PyObject *py_read_input(PyObject *self, PyObject *args)
|
||||
g_settings.input.binds[4],
|
||||
};
|
||||
|
||||
int16_t res = driver.input->input_state(driver.input_data,
|
||||
binds, player > 1,
|
||||
int16_t res = input_input_state_func(binds, player > 1,
|
||||
player > 2 ? SNES_DEVICE_MULTITAP : SNES_DEVICE_JOYPAD,
|
||||
player > 2 ? player - 2 : 0,
|
||||
key);
|
||||
@ -108,7 +107,7 @@ static PyObject *py_read_input_meta(PyObject *self, PyObject *args)
|
||||
if (key < SSNES_FIRST_META_KEY)
|
||||
return NULL;
|
||||
|
||||
bool ret = driver.input->key_pressed(driver.input_data, key);
|
||||
bool ret = input_key_pressed_func(key);
|
||||
return PyBool_FromLong(ret);
|
||||
}
|
||||
|
||||
|
@ -250,8 +250,8 @@ static void update_input(snes_tracker_t *tracker)
|
||||
uint16_t state[2] = {0};
|
||||
for (unsigned i = 4; i < 16; i++)
|
||||
{
|
||||
state[0] |= (driver.input->input_state(driver.input_data, binds, SNES_PORT_1, SNES_DEVICE_JOYPAD, 0, buttons[i - 4]) ? 1 : 0) << i;
|
||||
state[1] |= (driver.input->input_state(driver.input_data, binds, SNES_PORT_2, SNES_DEVICE_JOYPAD, 0, buttons[i - 4]) ? 1 : 0) << i;
|
||||
state[0] |= (input_input_state_func(binds, SNES_PORT_1, SNES_DEVICE_JOYPAD, 0, buttons[i - 4]) ? 1 : 0) << i;
|
||||
state[1] |= (input_input_state_func(binds, SNES_PORT_2, SNES_DEVICE_JOYPAD, 0, buttons[i - 4]) ? 1 : 0) << i;
|
||||
}
|
||||
|
||||
for (unsigned i = 0; i < 2; i++)
|
||||
|
107
ssnes.c
107
ssnes.c
@ -75,14 +75,13 @@ static void set_fast_forward_button(bool new_button_state, bool new_hold_button_
|
||||
if (update_sync)
|
||||
{
|
||||
if (g_extern.video_active)
|
||||
driver.video->set_nonblock_state(driver.video_data, syncing_state);
|
||||
video_set_nonblock_state_func(syncing_state);
|
||||
if (g_extern.audio_active)
|
||||
driver.audio->set_nonblock_state(driver.audio_data, (g_settings.audio.sync) ? syncing_state : true);
|
||||
audio_set_nonblock_state_func(g_settings.audio.sync ? syncing_state : true);
|
||||
|
||||
if (syncing_state)
|
||||
g_extern.audio_data.chunk_size = g_extern.audio_data.nonblock_chunk_size;
|
||||
else
|
||||
g_extern.audio_data.chunk_size = g_extern.audio_data.block_chunk_size;
|
||||
g_extern.audio_data.chunk_size =
|
||||
syncing_state ? g_extern.audio_data.nonblock_chunk_size : g_extern.audio_data.block_chunk_size;
|
||||
}
|
||||
|
||||
old_button_state = new_button_state;
|
||||
@ -161,7 +160,7 @@ static inline void adjust_crop(const uint16_t **data, unsigned *height)
|
||||
|
||||
static void readjust_audio_input_rate(void)
|
||||
{
|
||||
int avail = driver.audio->write_avail(driver.audio_data);
|
||||
int avail = audio_write_avail_func();
|
||||
//fprintf(stderr, "Audio buffer is %u%% full\n",
|
||||
// (unsigned)(100 - (avail * 100) / g_extern.audio_data.driver_buffer_size));
|
||||
|
||||
@ -232,13 +231,13 @@ static void video_frame(const uint16_t *data, unsigned width, unsigned height)
|
||||
}
|
||||
#endif
|
||||
|
||||
if (!driver.video->frame(driver.video_data, g_extern.filter.buffer, owidth, oheight, g_extern.filter.pitch, msg))
|
||||
if (!video_frame_func(g_extern.filter.buffer, owidth, oheight, g_extern.filter.pitch, msg))
|
||||
g_extern.video_active = false;
|
||||
}
|
||||
else if (!driver.video->frame(driver.video_data, data, width, height, lines_to_pitch(height), msg))
|
||||
else if (!video_frame_func(data, width, height, lines_to_pitch(height), msg))
|
||||
g_extern.video_active = false;
|
||||
#else
|
||||
if (!driver.video->frame(driver.video_data, data, width, height, lines_to_pitch(height), msg))
|
||||
if (!video_frame_func(data, width, height, lines_to_pitch(height), msg))
|
||||
g_extern.video_active = false;
|
||||
#endif
|
||||
|
||||
@ -343,8 +342,8 @@ static bool audio_flush(const int16_t *data, size_t samples)
|
||||
|
||||
if (g_extern.audio_data.use_float)
|
||||
{
|
||||
if (driver.audio->write(driver.audio_data,
|
||||
g_extern.audio_data.mute ? empty_buf.f : output_data, output_frames * sizeof(float) * 2) < 0)
|
||||
if (audio_write_func(g_extern.audio_data.mute ? empty_buf.f : output_data,
|
||||
output_frames * sizeof(float) * 2) < 0)
|
||||
{
|
||||
fprintf(stderr, "SSNES [ERROR]: Audio backend failed to write. Will continue without sound.\n");
|
||||
return false;
|
||||
@ -358,8 +357,7 @@ static bool audio_flush(const int16_t *data, size_t samples)
|
||||
output_data, output_frames * 2);
|
||||
}
|
||||
|
||||
if (driver.audio->write(driver.audio_data,
|
||||
g_extern.audio_data.mute ? empty_buf.i : g_extern.audio_data.conv_outsamples,
|
||||
if (audio_write_func(g_extern.audio_data.mute ? empty_buf.i : g_extern.audio_data.conv_outsamples,
|
||||
output_frames * sizeof(int16_t) * 2) < 0)
|
||||
{
|
||||
fprintf(stderr, "SSNES [ERROR]: Audio backend failed to write. Will continue without sound.\n");
|
||||
@ -414,7 +412,7 @@ unsigned audio_sample_batch(const int16_t *data, unsigned frames)
|
||||
|
||||
static void input_poll(void)
|
||||
{
|
||||
driver.input->poll(driver.input_data);
|
||||
input_poll_func();
|
||||
}
|
||||
|
||||
static int16_t input_state(bool port, unsigned device, unsigned index, unsigned id)
|
||||
@ -443,7 +441,7 @@ static int16_t input_state(bool port, unsigned device, unsigned index, unsigned
|
||||
|
||||
int16_t res = 0;
|
||||
if (id < SSNES_FIRST_META_KEY)
|
||||
res = driver.input->input_state(driver.input_data, binds, port, device, index, id);
|
||||
res = input_input_state_func(binds, port, device, index, id);
|
||||
|
||||
#ifdef HAVE_BSV_MOVIE
|
||||
if (g_extern.bsv.movie && !g_extern.bsv.movie_playback)
|
||||
@ -1641,8 +1639,7 @@ void ssnes_save_state(void)
|
||||
static void check_savestates(bool immutable)
|
||||
{
|
||||
static bool old_should_savestate = false;
|
||||
bool should_savestate = driver.input->key_pressed(driver.input_data,
|
||||
SSNES_SAVE_STATE_KEY);
|
||||
bool should_savestate = input_key_pressed_func(SSNES_SAVE_STATE_KEY);
|
||||
|
||||
if (should_savestate && !old_should_savestate)
|
||||
ssnes_save_state();
|
||||
@ -1651,8 +1648,7 @@ static void check_savestates(bool immutable)
|
||||
if (!immutable)
|
||||
{
|
||||
static bool old_should_loadstate = false;
|
||||
bool should_loadstate = driver.input->key_pressed(driver.input_data,
|
||||
SSNES_LOAD_STATE_KEY);
|
||||
bool should_loadstate = input_key_pressed_func(SSNES_LOAD_STATE_KEY);
|
||||
|
||||
if (!should_savestate && should_loadstate && !old_should_loadstate)
|
||||
ssnes_load_state();
|
||||
@ -1665,7 +1661,7 @@ static bool check_fullscreen(void)
|
||||
{
|
||||
// If we go fullscreen we drop all drivers and reinit to be safe.
|
||||
static bool was_pressed = false;
|
||||
bool pressed = driver.input->key_pressed(driver.input_data, SSNES_FULLSCREEN_TOGGLE_KEY);
|
||||
bool pressed = input_key_pressed_func(SSNES_FULLSCREEN_TOGGLE_KEY);
|
||||
bool toggle = pressed && !was_pressed;
|
||||
if (toggle)
|
||||
{
|
||||
@ -1675,7 +1671,7 @@ static bool check_fullscreen(void)
|
||||
|
||||
// Poll input to avoid possibly stale data to corrupt things.
|
||||
if (driver.input)
|
||||
driver.input->poll(driver.input_data);
|
||||
input_poll_func();
|
||||
}
|
||||
|
||||
was_pressed = pressed;
|
||||
@ -1721,13 +1717,13 @@ static void check_stateslots(void)
|
||||
{
|
||||
// Save state slots
|
||||
static bool old_should_slot_increase = false;
|
||||
bool should_slot_increase = driver.input->key_pressed(driver.input_data, SSNES_STATE_SLOT_PLUS);
|
||||
bool should_slot_increase = input_key_pressed_func(SSNES_STATE_SLOT_PLUS);
|
||||
if (should_slot_increase && !old_should_slot_increase)
|
||||
ssnes_state_slot_increase();
|
||||
old_should_slot_increase = should_slot_increase;
|
||||
|
||||
static bool old_should_slot_decrease = false;
|
||||
bool should_slot_decrease = driver.input->key_pressed(driver.input_data, SSNES_STATE_SLOT_MINUS);
|
||||
bool should_slot_decrease = input_key_pressed_func(SSNES_STATE_SLOT_MINUS);
|
||||
if (should_slot_decrease && !old_should_slot_decrease)
|
||||
ssnes_state_slot_decrease();
|
||||
old_should_slot_decrease = should_slot_decrease;
|
||||
@ -1736,12 +1732,12 @@ static void check_stateslots(void)
|
||||
static void check_input_rate(void)
|
||||
{
|
||||
bool display = false;
|
||||
if (driver.input->key_pressed(driver.input_data, SSNES_AUDIO_INPUT_RATE_PLUS))
|
||||
if (input_key_pressed_func(SSNES_AUDIO_INPUT_RATE_PLUS))
|
||||
{
|
||||
g_settings.audio.in_rate += g_settings.audio.rate_step;
|
||||
display = true;
|
||||
}
|
||||
else if (driver.input->key_pressed(driver.input_data, SSNES_AUDIO_INPUT_RATE_MINUS))
|
||||
else if (input_key_pressed_func(SSNES_AUDIO_INPUT_RATE_MINUS))
|
||||
{
|
||||
g_settings.audio.in_rate -= g_settings.audio.rate_step;
|
||||
display = true;
|
||||
@ -1801,7 +1797,7 @@ static void check_rewind(void)
|
||||
if (!g_extern.state_manager)
|
||||
return;
|
||||
|
||||
if (driver.input->key_pressed(driver.input_data, SSNES_REWIND))
|
||||
if (input_key_pressed_func(SSNES_REWIND))
|
||||
{
|
||||
msg_queue_clear(g_extern.msg_queue);
|
||||
void *buf;
|
||||
@ -1841,7 +1837,7 @@ static void check_rewind(void)
|
||||
|
||||
static void check_slowmotion(void)
|
||||
{
|
||||
g_extern.is_slowmotion = driver.input->key_pressed(driver.input_data, SSNES_SLOWMOTION);
|
||||
g_extern.is_slowmotion = input_key_pressed_func(SSNES_SLOWMOTION);
|
||||
if (g_extern.is_slowmotion)
|
||||
{
|
||||
msg_queue_clear(g_extern.msg_queue);
|
||||
@ -1913,7 +1909,7 @@ static void check_movie_playback(bool pressed)
|
||||
static void check_movie(void)
|
||||
{
|
||||
static bool old_button = false;
|
||||
bool new_button = driver.input->key_pressed(driver.input_data, SSNES_MOVIE_RECORD_TOGGLE);
|
||||
bool new_button = input_key_pressed_func(SSNES_MOVIE_RECORD_TOGGLE);
|
||||
bool pressed = new_button && !old_button;
|
||||
|
||||
if (g_extern.bsv.movie_playback)
|
||||
@ -1929,16 +1925,16 @@ static void check_movie(void)
|
||||
static void check_pause(void)
|
||||
{
|
||||
static bool old_state = false;
|
||||
bool new_state = driver.input->key_pressed(driver.input_data, SSNES_PAUSE_TOGGLE);
|
||||
bool new_state = input_key_pressed_func(SSNES_PAUSE_TOGGLE);
|
||||
|
||||
// FRAMEADVANCE will set us into pause mode.
|
||||
new_state |= !g_extern.is_paused && driver.input->key_pressed(driver.input_data, SSNES_FRAMEADVANCE);
|
||||
new_state |= !g_extern.is_paused && input_key_pressed_func(SSNES_FRAMEADVANCE);
|
||||
|
||||
static bool old_focus = true;
|
||||
bool focus = true;
|
||||
|
||||
if (g_settings.pause_nonactive)
|
||||
focus = driver.video->focus(driver.video_data);
|
||||
focus = video_focus_func();
|
||||
|
||||
if (focus && new_state && !old_state)
|
||||
{
|
||||
@ -1948,14 +1944,14 @@ static void check_pause(void)
|
||||
{
|
||||
SSNES_LOG("Paused.\n");
|
||||
if (driver.audio_data)
|
||||
driver.audio->stop(driver.audio_data);
|
||||
audio_stop_func();
|
||||
}
|
||||
else
|
||||
{
|
||||
SSNES_LOG("Unpaused.\n");
|
||||
if (driver.audio_data)
|
||||
{
|
||||
if (!driver.audio->start(driver.audio_data))
|
||||
if (!audio_start_func())
|
||||
{
|
||||
SSNES_ERR("Failed to resume audio driver. Will continue without audio.\n");
|
||||
g_extern.audio_active = false;
|
||||
@ -1967,13 +1963,10 @@ static void check_pause(void)
|
||||
{
|
||||
SSNES_LOG("Unpaused.\n");
|
||||
g_extern.is_paused = false;
|
||||
if (driver.audio_data)
|
||||
if (driver.audio_data && !audio_start_func())
|
||||
{
|
||||
if (!driver.audio->start(driver.audio_data))
|
||||
{
|
||||
SSNES_ERR("Failed to resume audio driver. Will continue without audio.\n");
|
||||
g_extern.audio_active = false;
|
||||
}
|
||||
SSNES_ERR("Failed to resume audio driver. Will continue without audio.\n");
|
||||
g_extern.audio_active = false;
|
||||
}
|
||||
}
|
||||
else if (!focus && old_focus)
|
||||
@ -1981,7 +1974,7 @@ static void check_pause(void)
|
||||
SSNES_LOG("Paused.\n");
|
||||
g_extern.is_paused = true;
|
||||
if (driver.audio_data)
|
||||
driver.audio->stop(driver.audio_data);
|
||||
audio_stop_func();
|
||||
}
|
||||
|
||||
old_focus = focus;
|
||||
@ -1992,13 +1985,13 @@ static void check_pause(void)
|
||||
static void check_oneshot(void)
|
||||
{
|
||||
static bool old_state = false;
|
||||
bool new_state = driver.input->key_pressed(driver.input_data, SSNES_FRAMEADVANCE);
|
||||
bool new_state = input_key_pressed_func(SSNES_FRAMEADVANCE);
|
||||
g_extern.is_oneshot = (new_state && !old_state);
|
||||
old_state = new_state;
|
||||
|
||||
// Rewind buttons works like FRAMEREWIND when paused. We will one-shot in that case.
|
||||
static bool old_rewind_state = false;
|
||||
bool new_rewind_state = driver.input->key_pressed(driver.input_data, SSNES_REWIND);
|
||||
bool new_rewind_state = input_key_pressed_func(SSNES_REWIND);
|
||||
g_extern.is_oneshot |= new_rewind_state && !old_rewind_state;
|
||||
old_rewind_state = new_rewind_state;
|
||||
}
|
||||
@ -2015,7 +2008,7 @@ void ssnes_game_reset(void)
|
||||
static void check_reset(void)
|
||||
{
|
||||
static bool old_state = false;
|
||||
bool new_state = driver.input->key_pressed(driver.input_data, SSNES_RESET);
|
||||
bool new_state = input_key_pressed_func(SSNES_RESET);
|
||||
if (new_state && !old_state)
|
||||
ssnes_game_reset();
|
||||
|
||||
@ -2032,8 +2025,8 @@ static void check_shader_dir(void)
|
||||
return;
|
||||
|
||||
bool should_apply = false;
|
||||
bool pressed_next = driver.input->key_pressed(driver.input_data, SSNES_SHADER_NEXT);
|
||||
bool pressed_prev = driver.input->key_pressed(driver.input_data, SSNES_SHADER_PREV);
|
||||
bool pressed_next = input_key_pressed_func(SSNES_SHADER_NEXT);
|
||||
bool pressed_prev = input_key_pressed_func(SSNES_SHADER_PREV);
|
||||
if (pressed_next && !old_pressed_next)
|
||||
{
|
||||
should_apply = true;
|
||||
@ -2061,7 +2054,7 @@ static void check_shader_dir(void)
|
||||
msg_queue_push(g_extern.msg_queue, msg, 1, 120);
|
||||
SSNES_LOG("Applying shader \"%s\"\n", shader);
|
||||
|
||||
if (!driver.video->xml_shader(driver.video_data, shader))
|
||||
if (!video_xml_shader_func(shader))
|
||||
SSNES_WARN("Failed to apply shader.\n");
|
||||
}
|
||||
|
||||
@ -2078,9 +2071,9 @@ static void check_cheats(void)
|
||||
static bool old_pressed_next = false;
|
||||
static bool old_pressed_toggle = false;
|
||||
|
||||
bool pressed_next = driver.input->key_pressed(driver.input_data, SSNES_CHEAT_INDEX_PLUS);
|
||||
bool pressed_prev = driver.input->key_pressed(driver.input_data, SSNES_CHEAT_INDEX_MINUS);
|
||||
bool pressed_toggle = driver.input->key_pressed(driver.input_data, SSNES_CHEAT_TOGGLE);
|
||||
bool pressed_next = input_key_pressed_func(SSNES_CHEAT_INDEX_PLUS);
|
||||
bool pressed_prev = input_key_pressed_func(SSNES_CHEAT_INDEX_MINUS);
|
||||
bool pressed_toggle = input_key_pressed_func(SSNES_CHEAT_TOGGLE);
|
||||
|
||||
if (pressed_next && !old_pressed_next)
|
||||
cheat_manager_index_next(g_extern.cheat);
|
||||
@ -2099,7 +2092,7 @@ static void check_cheats(void)
|
||||
static void check_screenshot(void)
|
||||
{
|
||||
static bool old_pressed = false;
|
||||
bool pressed = driver.input->key_pressed(driver.input_data, SSNES_SCREENSHOT);
|
||||
bool pressed = input_key_pressed_func(SSNES_SCREENSHOT);
|
||||
if (pressed && !old_pressed)
|
||||
take_screenshot();
|
||||
|
||||
@ -2114,7 +2107,7 @@ static void check_dsp_config(void)
|
||||
return;
|
||||
|
||||
static bool old_pressed = false;
|
||||
bool pressed = driver.input->key_pressed(driver.input_data, SSNES_DSP_CONFIG);
|
||||
bool pressed = input_key_pressed_func(SSNES_DSP_CONFIG);
|
||||
if (pressed && !old_pressed)
|
||||
g_extern.audio_data.dsp_plugin->config(g_extern.audio_data.dsp_handle);
|
||||
|
||||
@ -2129,7 +2122,7 @@ static void check_mute(void)
|
||||
return;
|
||||
|
||||
static bool old_pressed = false;
|
||||
bool pressed = driver.input->key_pressed(driver.input_data, SSNES_MUTE);
|
||||
bool pressed = input_key_pressed_func(SSNES_MUTE);
|
||||
if (pressed && !old_pressed)
|
||||
{
|
||||
g_extern.audio_data.mute = !g_extern.audio_data.mute;
|
||||
@ -2149,7 +2142,7 @@ static void check_mute(void)
|
||||
static void check_netplay_flip(void)
|
||||
{
|
||||
static bool old_pressed = false;
|
||||
bool pressed = driver.input->key_pressed(driver.input_data, SSNES_NETPLAY_FLIP);
|
||||
bool pressed = input_key_pressed_func(SSNES_NETPLAY_FLIP);
|
||||
if (pressed && !old_pressed)
|
||||
netplay_flip_players(g_extern.netplay);
|
||||
|
||||
@ -2188,8 +2181,8 @@ static void do_state_checks(void)
|
||||
#endif
|
||||
|
||||
set_fast_forward_button(
|
||||
driver.input->key_pressed(driver.input_data, SSNES_FAST_FORWARD_KEY),
|
||||
driver.input->key_pressed(driver.input_data, SSNES_FAST_FORWARD_HOLD_KEY));
|
||||
input_key_pressed_func(SSNES_FAST_FORWARD_KEY),
|
||||
input_key_pressed_func(SSNES_FAST_FORWARD_HOLD_KEY));
|
||||
|
||||
check_stateslots();
|
||||
#ifdef HAVE_BSV_MOVIE
|
||||
@ -2375,8 +2368,8 @@ bool ssnes_main_iterate(void)
|
||||
#endif
|
||||
|
||||
// Time to drop?
|
||||
if (driver.input->key_pressed(driver.input_data, SSNES_QUIT_KEY) ||
|
||||
!driver.video->alive(driver.video_data))
|
||||
if (input_key_pressed_func(SSNES_QUIT_KEY) ||
|
||||
!video_alive_func())
|
||||
return false;
|
||||
|
||||
// Checks for stuff like fullscreen, save states, etc.
|
||||
|
Loading…
Reference in New Issue
Block a user