diff --git a/gfx/video_state_python.c b/gfx/video_state_python.c index db45d0e390..93d6a30a77 100644 --- a/gfx/video_state_python.c +++ b/gfx/video_state_python.c @@ -86,30 +86,31 @@ static PyObject* py_read_vram(PyObject *self, PyObject *args) return PyLong_FromLong(data[addr]); } -static const struct retro_keybind *py_binds[MAX_USERS] = { - g_settings.input.binds[0], - g_settings.input.binds[1], - g_settings.input.binds[2], - g_settings.input.binds[3], - g_settings.input.binds[4], - g_settings.input.binds[5], - g_settings.input.binds[6], - g_settings.input.binds[7], - g_settings.input.binds[8], - g_settings.input.binds[9], - g_settings.input.binds[10], - g_settings.input.binds[11], - g_settings.input.binds[12], - g_settings.input.binds[13], - g_settings.input.binds[14], - g_settings.input.binds[15], -}; static PyObject *py_read_input(PyObject *self, PyObject *args) { unsigned user, key; int16_t res = 0; driver_t *driver = driver_get_ptr(); + settings_t *settings = config_get_ptr(); + const struct retro_keybind *py_binds[MAX_USERS] = { + settings->input.binds[0], + settings->input.binds[1], + settings->input.binds[2], + settings->input.binds[3], + settings->input.binds[4], + settings->input.binds[5], + settings->input.binds[6], + settings->input.binds[7], + settings->input.binds[8], + settings->input.binds[9], + settings->input.binds[10], + settings->input.binds[11], + settings->input.binds[12], + settings->input.binds[13], + settings->input.binds[14], + settings->input.binds[15], + }; (void)self; @@ -132,7 +133,26 @@ static PyObject *py_read_analog(PyObject *self, PyObject *args) { unsigned user, index, id; int16_t res = 0; - driver_t *driver = driver_get_ptr(); + driver_t *driver = driver_get_ptr(); + settings_t *settings = config_get_ptr(); + const struct retro_keybind *py_binds[MAX_USERS] = { + settings->input.binds[0], + settings->input.binds[1], + settings->input.binds[2], + settings->input.binds[3], + settings->input.binds[4], + settings->input.binds[5], + settings->input.binds[6], + settings->input.binds[7], + settings->input.binds[8], + settings->input.binds[9], + settings->input.binds[10], + settings->input.binds[11], + settings->input.binds[12], + settings->input.binds[13], + settings->input.binds[14], + settings->input.binds[15], + }; (void)self; diff --git a/gfx/video_state_tracker.c b/gfx/video_state_tracker.c index fe9a42a1ed..2189b58f4a 100644 --- a/gfx/video_state_tracker.c +++ b/gfx/video_state_tracker.c @@ -277,9 +277,9 @@ static void state_tracker_update_input(state_tracker_t *tracker) }; /* Only bind for up to two players for now. */ - static const struct retro_keybind *binds[2] = { - g_settings.input.binds[0], - g_settings.input.binds[1], + const struct retro_keybind *binds[2] = { + settings->input.binds[0], + settings->input.binds[1], }; driver_t *driver = driver_get_ptr(); diff --git a/libretro_version_1.c b/libretro_version_1.c index 10436b9669..edbf27d359 100644 --- a/libretro_version_1.c +++ b/libretro_version_1.c @@ -395,26 +395,25 @@ static int16_t input_state(unsigned port, unsigned device, { int16_t res = 0; settings_t *settings = config_get_ptr(); - - static const struct retro_keybind *libretro_input_binds[MAX_USERS] = { - g_settings.input.binds[0], - g_settings.input.binds[1], - g_settings.input.binds[2], - g_settings.input.binds[3], - g_settings.input.binds[4], - g_settings.input.binds[5], - g_settings.input.binds[6], - g_settings.input.binds[7], - g_settings.input.binds[8], - g_settings.input.binds[9], - g_settings.input.binds[10], - g_settings.input.binds[11], - g_settings.input.binds[12], - g_settings.input.binds[13], - g_settings.input.binds[14], - g_settings.input.binds[15], + driver_t *driver = driver_get_ptr(); + const struct retro_keybind *libretro_input_binds[MAX_USERS] = { + settings->input.binds[0], + settings->input.binds[1], + settings->input.binds[2], + settings->input.binds[3], + settings->input.binds[4], + settings->input.binds[5], + settings->input.binds[6], + settings->input.binds[7], + settings->input.binds[8], + settings->input.binds[9], + settings->input.binds[10], + settings->input.binds[11], + settings->input.binds[12], + settings->input.binds[13], + settings->input.binds[14], + settings->input.binds[15], }; - driver_t *driver = driver_get_ptr(); device &= RETRO_DEVICE_MASK; diff --git a/runloop.c b/runloop.c index cd9d9b7068..7d8ab31429 100644 --- a/runloop.c +++ b/runloop.c @@ -751,11 +751,12 @@ static void rarch_limit_frame_time(void) static bool check_block_hotkey(bool enable_hotkey) { bool use_hotkey_enable; - static const struct retro_keybind *bind = - &g_settings.input.binds[0][RARCH_ENABLE_HOTKEY]; - static const struct retro_keybind *autoconf_bind = - &g_settings.input.autoconf_binds[0][RARCH_ENABLE_HOTKEY]; - driver_t *driver = driver_get_ptr(); + settings_t *settings = config_get_ptr(); + driver_t *driver = driver_get_ptr(); + const struct retro_keybind *bind = + &settings->input.binds[0][RARCH_ENABLE_HOTKEY]; + const struct retro_keybind *autoconf_bind = + &settings->input.autoconf_binds[0][RARCH_ENABLE_HOTKEY]; /* Don't block the check to RARCH_ENABLE_HOTKEY * unless we're really supposed to. */ @@ -791,27 +792,27 @@ static bool check_block_hotkey(bool enable_hotkey) static INLINE retro_input_t input_keys_pressed(void) { unsigned i; - static const struct retro_keybind *binds[MAX_USERS] = { - g_settings.input.binds[0], - g_settings.input.binds[1], - g_settings.input.binds[2], - g_settings.input.binds[3], - g_settings.input.binds[4], - g_settings.input.binds[5], - g_settings.input.binds[6], - g_settings.input.binds[7], - g_settings.input.binds[8], - g_settings.input.binds[9], - g_settings.input.binds[10], - g_settings.input.binds[11], - g_settings.input.binds[12], - g_settings.input.binds[13], - g_settings.input.binds[14], - g_settings.input.binds[15], - }; retro_input_t ret = 0; driver_t *driver = driver_get_ptr(); settings_t *settings = config_get_ptr(); + const struct retro_keybind *binds[MAX_USERS] = { + settings->input.binds[0], + settings->input.binds[1], + settings->input.binds[2], + settings->input.binds[3], + settings->input.binds[4], + settings->input.binds[5], + settings->input.binds[6], + settings->input.binds[7], + settings->input.binds[8], + settings->input.binds[9], + settings->input.binds[10], + settings->input.binds[11], + settings->input.binds[12], + settings->input.binds[13], + settings->input.binds[14], + settings->input.binds[15], + }; if (!driver->input || !driver->input_data) return 0;