mirror of
https://github.com/libretro/RetroArch.git
synced 2024-10-10 16:14:52 +00:00
Cleanups
This commit is contained in:
parent
14270babe5
commit
57a1f6d9a0
@ -39,14 +39,12 @@ static void input_autoconfigure_joypad_conf(config_file_t *conf,
|
|||||||
}
|
}
|
||||||
|
|
||||||
static bool input_try_autoconfigure_joypad_from_conf(config_file_t *conf,
|
static bool input_try_autoconfigure_joypad_from_conf(config_file_t *conf,
|
||||||
autoconfig_params_t *params, bool block_osd_spam)
|
autoconfig_params_t *params)
|
||||||
{
|
{
|
||||||
char ident[PATH_MAX_LENGTH], ident_idx[PATH_MAX_LENGTH];
|
char ident[PATH_MAX_LENGTH], ident_idx[PATH_MAX_LENGTH];
|
||||||
char input_driver[PATH_MAX_LENGTH], msg[PATH_MAX_LENGTH];
|
char input_driver[PATH_MAX_LENGTH];
|
||||||
|
bool cond_found_idx, cond_found_general;
|
||||||
int input_vid = 0, input_pid = 0;
|
int input_vid = 0, input_pid = 0;
|
||||||
bool cond_found_idx, cond_found_general,
|
|
||||||
cond_found_vid = false, cond_found_pid = false;
|
|
||||||
settings_t *settings = config_get_ptr();
|
|
||||||
|
|
||||||
if (!conf)
|
if (!conf)
|
||||||
return false;
|
return false;
|
||||||
@ -55,38 +53,47 @@ static bool input_try_autoconfigure_joypad_from_conf(config_file_t *conf,
|
|||||||
|
|
||||||
config_get_array(conf, "input_device", ident, sizeof(ident));
|
config_get_array(conf, "input_device", ident, sizeof(ident));
|
||||||
config_get_array(conf, "input_driver", input_driver, sizeof(input_driver));
|
config_get_array(conf, "input_driver", input_driver, sizeof(input_driver));
|
||||||
config_get_int(conf, "input_vendor_id", &input_vid);
|
config_get_int (conf, "input_vendor_id", &input_vid);
|
||||||
config_get_int(conf, "input_product_id", &input_pid);
|
config_get_int (conf, "input_product_id", &input_pid);
|
||||||
|
|
||||||
snprintf(ident_idx, sizeof(ident_idx), "%s_p%u", ident, params->idx);
|
snprintf(ident_idx,
|
||||||
|
sizeof(ident_idx), "%s_p%u", ident, params->idx);
|
||||||
#if 0
|
|
||||||
RARCH_LOG("ident_idx: %s\n", ident_idx);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
cond_found_idx = !strcmp(ident_idx, params->name);
|
cond_found_idx = !strcmp(ident_idx, params->name);
|
||||||
cond_found_general = !strcmp(ident, params->name) && !strcmp(params->driver, input_driver);
|
cond_found_general = !strcmp(ident, params->name)
|
||||||
if ((params->vid != 0) && (input_vid != 0))
|
&& !strcmp(params->driver, input_driver);
|
||||||
cond_found_vid = (params->vid == input_vid);
|
|
||||||
if ((params->pid != 0) && (input_pid != 0))
|
|
||||||
cond_found_pid = (params->pid == input_pid);
|
|
||||||
|
|
||||||
/* If Vendor ID and Product ID matches, we've found our
|
/* If Vendor ID and Product ID matches, we've found our
|
||||||
* entry. */
|
* entry. */
|
||||||
if (cond_found_vid && cond_found_pid)
|
if ( (params->vid == input_vid)
|
||||||
goto found;
|
&& (params->pid == input_pid)
|
||||||
|
&& params->vid != 0
|
||||||
|
&& params->pid != 0
|
||||||
|
&& input_vid != 0
|
||||||
|
&& input_pid != 0)
|
||||||
|
return true;
|
||||||
|
|
||||||
/* Check for name match. */
|
/* Check for name match. */
|
||||||
if (cond_found_idx)
|
if (cond_found_idx || cond_found_general)
|
||||||
goto found;
|
return true;
|
||||||
else if (cond_found_general)
|
|
||||||
goto found;
|
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void input_autoconfigure_joypad_add(
|
||||||
|
config_file_t *conf,
|
||||||
|
autoconfig_params_t *params,
|
||||||
|
bool block_osd_spam)
|
||||||
|
{
|
||||||
|
char msg[PATH_MAX_LENGTH];
|
||||||
|
settings_t *settings = config_get_ptr();
|
||||||
|
|
||||||
|
if (!settings)
|
||||||
|
return;
|
||||||
|
|
||||||
found:
|
|
||||||
settings->input.autoconfigured[params->idx] = true;
|
settings->input.autoconfigured[params->idx] = true;
|
||||||
input_autoconfigure_joypad_conf(conf, settings->input.autoconf_binds[params->idx]);
|
input_autoconfigure_joypad_conf(conf,
|
||||||
|
settings->input.autoconf_binds[params->idx]);
|
||||||
|
|
||||||
snprintf(msg, sizeof(msg), "Joypad port #%u (%s) configured.",
|
snprintf(msg, sizeof(msg), "Joypad port #%u (%s) configured.",
|
||||||
params->idx, params->name);
|
params->idx, params->name);
|
||||||
@ -94,8 +101,6 @@ found:
|
|||||||
if (!block_osd_spam)
|
if (!block_osd_spam)
|
||||||
rarch_main_msg_queue_push(msg, 0, 60, false);
|
rarch_main_msg_queue_push(msg, 0, 60, false);
|
||||||
RARCH_LOG("%s\n", msg);
|
RARCH_LOG("%s\n", msg);
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool input_autoconfigure_joypad_from_conf(
|
static bool input_autoconfigure_joypad_from_conf(
|
||||||
@ -103,10 +108,20 @@ static bool input_autoconfigure_joypad_from_conf(
|
|||||||
autoconfig_params_t *params,
|
autoconfig_params_t *params,
|
||||||
bool block_osd_spam)
|
bool block_osd_spam)
|
||||||
{
|
{
|
||||||
bool ret = input_try_autoconfigure_joypad_from_conf(conf,
|
bool ret = false;
|
||||||
params, block_osd_spam);
|
|
||||||
|
if (!conf)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
ret = input_try_autoconfigure_joypad_from_conf(conf,
|
||||||
|
params);
|
||||||
|
|
||||||
|
if (ret)
|
||||||
|
input_autoconfigure_joypad_add(conf, params,
|
||||||
|
block_osd_spam);
|
||||||
|
|
||||||
config_file_free(conf);
|
config_file_free(conf);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -146,7 +161,6 @@ void input_config_autoconfigure_joypad(autoconfig_params_t *params)
|
|||||||
{
|
{
|
||||||
config_file_t *conf = (config_file_t*)
|
config_file_t *conf = (config_file_t*)
|
||||||
config_file_new_from_string(input_builtin_autoconfs[i]);
|
config_file_new_from_string(input_builtin_autoconfs[i]);
|
||||||
|
|
||||||
if (input_autoconfigure_joypad_from_conf(conf,
|
if (input_autoconfigure_joypad_from_conf(conf,
|
||||||
params, block_osd_spam))
|
params, block_osd_spam))
|
||||||
break;
|
break;
|
||||||
@ -165,9 +179,6 @@ void input_config_autoconfigure_joypad(autoconfig_params_t *params)
|
|||||||
for (i = 0; i < list->size; i++)
|
for (i = 0; i < list->size; i++)
|
||||||
{
|
{
|
||||||
config_file_t *conf = config_file_new(list->elems[i].data);
|
config_file_t *conf = config_file_new(list->elems[i].data);
|
||||||
if (!conf)
|
|
||||||
continue;
|
|
||||||
|
|
||||||
if (input_autoconfigure_joypad_from_conf(conf,
|
if (input_autoconfigure_joypad_from_conf(conf,
|
||||||
params, block_osd_spam))
|
params, block_osd_spam))
|
||||||
break;
|
break;
|
||||||
|
Loading…
Reference in New Issue
Block a user