From 36375cecf82c26efd9c31803f248fe0819a71e66 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Sat, 6 May 2017 06:01:15 +0200 Subject: [PATCH] input_swap_override - Get rid of dependency on settings --- configuration.h | 1 - menu/menu_event.c | 6 ++++-- tasks/task_autodetect.c | 18 ++++++++++-------- tasks/tasks_internal.h | 2 ++ 4 files changed, 16 insertions(+), 11 deletions(-) diff --git a/configuration.h b/configuration.h index a6e1d94ec4..8d9516709e 100644 --- a/configuration.h +++ b/configuration.h @@ -83,7 +83,6 @@ typedef struct settings #endif /* Input */ - bool input_swap_override; bool input_remap_binds_enable; bool input_autodetect_enable; bool input_overlay_enable; diff --git a/menu/menu_event.c b/menu/menu_event.c index 8dd9f1c597..a0b3d64d96 100644 --- a/menu/menu_event.c +++ b/menu/menu_event.c @@ -36,6 +36,7 @@ #include "../configuration.h" #include "../runloop_defines.h" +#include "../tasks/tasks_internal.h" static unsigned char menu_keyboard_key_state[RETROK_LAST] = {0}; @@ -123,10 +124,11 @@ unsigned menu_event(uint64_t input, uint64_t trigger_input) menu_input_t *menu_input = NULL; settings_t *settings = config_get_ptr(); static unsigned ok_old = 0; - unsigned menu_ok_btn = (!settings->bools.input_swap_override && + bool input_swap_override = input_autoconfigure_get_swap_override(); + unsigned menu_ok_btn = (!input_swap_override && settings->bools.input_menu_swap_ok_cancel_buttons) ? RETRO_DEVICE_ID_JOYPAD_B : RETRO_DEVICE_ID_JOYPAD_A; - unsigned menu_cancel_btn = (!settings->bools.input_swap_override && + unsigned menu_cancel_btn = (!input_swap_override && settings->bools.input_menu_swap_ok_cancel_buttons) ? RETRO_DEVICE_ID_JOYPAD_A : RETRO_DEVICE_ID_JOYPAD_B; unsigned ok_current = (unsigned)(input & UINT64_C(1) << menu_ok_btn); diff --git a/tasks/task_autodetect.c b/tasks/task_autodetect.c index 68f62cc480..000e72d3c7 100644 --- a/tasks/task_autodetect.c +++ b/tasks/task_autodetect.c @@ -53,6 +53,12 @@ typedef struct autoconfig_params static bool input_autoconfigured[MAX_USERS]; static unsigned input_device_name_index[MAX_USERS]; +static bool input_autoconfigure_swap_override; + +bool input_autoconfigure_get_swap_override(void) +{ + return input_autoconfigure_swap_override; +} /* Adds an index for devices with the same name, * so they can be identified in the GUI. */ @@ -162,10 +168,7 @@ static void input_autoconfigure_joypad_add(config_file_t *conf, task_set_title(task, strdup(msg)); remote_is_bound = true; if (params->idx == 0) - { - settings_t *settings = config_get_ptr(); - configuration_set_bool(settings, settings->bools.input_swap_override, true); - } + input_autoconfigure_swap_override = true; } else { @@ -179,10 +182,7 @@ static void input_autoconfigure_joypad_add(config_file_t *conf, if (params->idx == 0) { if (config_get_bool(conf, "input_swap_override", &tmp)) - { - settings_t *settings = config_get_ptr(); - configuration_set_bool(settings, settings->bools.input_swap_override, tmp); - } + input_autoconfigure_swap_override = tmp; } if (!block_osd_spam) @@ -404,6 +404,8 @@ void input_autoconfigure_reset(void) input_device_name_index[i] = 0; input_autoconfigured[i] = 0; } + + input_autoconfigure_swap_override = false; } bool input_is_autoconfigured(unsigned i) diff --git a/tasks/tasks_internal.h b/tasks/tasks_internal.h index 48a15930eb..0d0153da30 100644 --- a/tasks/tasks_internal.h +++ b/tasks/tasks_internal.h @@ -235,6 +235,8 @@ bool input_autoconfigure_connect( bool input_autoconfigure_disconnect(unsigned i, const char *ident); +bool input_autoconfigure_get_swap_override(void); + void task_push_get_powerstate(void); enum frontend_powerstate get_last_powerstate(int *percent);