mirror of
https://github.com/libretro/RetroArch
synced 2025-03-29 22:20:21 +00:00
(task_autodetect.c) Set input_swap_override later on
This commit is contained in:
parent
44b9943738
commit
582573f324
@ -49,6 +49,8 @@ typedef struct autoconfig_params
|
||||
int32_t pid;
|
||||
uint32_t max_users;
|
||||
char autoconfig_directory[4096];
|
||||
bool set_swap;
|
||||
bool swap_val;
|
||||
} autoconfig_params_t;
|
||||
|
||||
static bool input_autoconfigured[MAX_USERS];
|
||||
@ -163,8 +165,8 @@ static void input_autoconfigure_joypad_add(config_file_t *conf,
|
||||
remote_is_bound = true;
|
||||
if (params->idx == 0)
|
||||
{
|
||||
settings_t *settings = config_get_ptr();
|
||||
configuration_set_bool(settings, settings->bools.input_swap_override, true);
|
||||
params->set_swap = true;
|
||||
params->swap_val = true;
|
||||
}
|
||||
}
|
||||
else
|
||||
@ -180,8 +182,8 @@ static void input_autoconfigure_joypad_add(config_file_t *conf,
|
||||
{
|
||||
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);
|
||||
params->set_swap = true;
|
||||
params->swap_val = tmp;
|
||||
}
|
||||
}
|
||||
|
||||
@ -300,6 +302,18 @@ static bool input_autoconfigure_joypad_from_conf_internal(
|
||||
return false;
|
||||
}
|
||||
|
||||
static void input_autoconfigure_connect_finished(void *task_data,
|
||||
void *user_data, const char *error)
|
||||
{
|
||||
autoconfig_params_t *params = (autoconfig_params_t*)task_data;
|
||||
|
||||
if (params && params->set_swap)
|
||||
{
|
||||
settings_t *settings = config_get_ptr();
|
||||
configuration_set_bool(settings, settings->bools.input_swap_override, params->swap_val);
|
||||
}
|
||||
}
|
||||
|
||||
static void input_autoconfigure_connect_handler(retro_task_t *task)
|
||||
{
|
||||
autoconfig_params_t *params = (autoconfig_params_t*)task->state;
|
||||
@ -467,8 +481,9 @@ bool input_autoconfigure_connect(
|
||||
|
||||
input_autoconfigured[state->idx] = false;
|
||||
|
||||
task->state = state;
|
||||
task->handler = input_autoconfigure_connect_handler;
|
||||
task->state = state;
|
||||
task->handler = input_autoconfigure_connect_handler;
|
||||
task->callback = input_autoconfigure_connect_finished;
|
||||
|
||||
task_queue_ctl(TASK_QUEUE_CTL_PUSH, task);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user