(Menu) Start getting rid of label hashes

This commit is contained in:
twinaphex 2020-02-23 08:06:42 +01:00
parent 976b659e2b
commit 65d2c53bfe
4 changed files with 12 additions and 22 deletions

View File

@ -754,7 +754,7 @@ static int bind_left_generic(unsigned type, const char *label,
}
static int menu_cbs_init_bind_left_compare_label(menu_file_list_cbs_t *cbs,
const char *label, uint32_t label_hash, const char *menu_label)
const char *label, const char *menu_label)
{
if (cbs->setting)
@ -774,15 +774,12 @@ static int menu_cbs_init_bind_left_compare_label(menu_file_list_cbs_t *cbs,
unsigned i;
for (i = 0; i < MAX_USERS; i++)
{
uint32_t label_setting_hash;
char label_setting[128];
label_setting[0] = '\0';
snprintf(label_setting, sizeof(label_setting), "input_player%d_joypad_index", i + 1);
label_setting_hash = msg_hash_calculate(label_setting);
if (label_hash != label_setting_hash)
if (!string_is_equal(label, label_setting))
continue;
BIND_ACTION_LEFT(cbs, bind_left_generic);
@ -1030,8 +1027,7 @@ static int menu_cbs_init_bind_left_compare_type(menu_file_list_cbs_t *cbs,
int menu_cbs_init_bind_left(menu_file_list_cbs_t *cbs,
const char *path, const char *label, unsigned type, size_t idx,
const char *menu_label,
uint32_t label_hash)
const char *menu_label)
{
if (!cbs)
return -1;
@ -1058,7 +1054,7 @@ int menu_cbs_init_bind_left(menu_file_list_cbs_t *cbs,
}
}
if (menu_cbs_init_bind_left_compare_label(cbs, label, label_hash, menu_label) == 0)
if (menu_cbs_init_bind_left_compare_label(cbs, label, menu_label) == 0)
return 0;
if (menu_cbs_init_bind_left_compare_type(cbs, type, menu_label) == 0)

View File

@ -893,7 +893,7 @@ static int menu_cbs_init_bind_right_compare_type(menu_file_list_cbs_t *cbs,
}
static int menu_cbs_init_bind_right_compare_label(menu_file_list_cbs_t *cbs,
const char *label, uint32_t label_hash, const char *menu_label)
const char *label, const char *menu_label)
{
if (cbs->setting)
@ -913,15 +913,12 @@ static int menu_cbs_init_bind_right_compare_label(menu_file_list_cbs_t *cbs,
unsigned i;
for (i = 0; i < MAX_USERS; i++)
{
uint32_t label_setting_hash;
char label_setting[128];
label_setting[0] = '\0';
snprintf(label_setting, sizeof(label_setting), "input_player%d_joypad_index", i + 1);
label_setting_hash = msg_hash_calculate(label_setting);
if (label_hash != label_setting_hash)
if (!string_is_equal(label, label_setting))
continue;
BIND_ACTION_RIGHT(cbs, bind_right_generic);
@ -1053,8 +1050,7 @@ static int menu_cbs_init_bind_right_compare_label(menu_file_list_cbs_t *cbs,
int menu_cbs_init_bind_right(menu_file_list_cbs_t *cbs,
const char *path, const char *label, unsigned type, size_t idx,
const char *menu_label,
uint32_t label_hash)
const char *menu_label)
{
if (!cbs)
return menu_cbs_exit();
@ -1081,7 +1077,7 @@ int menu_cbs_init_bind_right(menu_file_list_cbs_t *cbs,
}
}
if (menu_cbs_init_bind_right_compare_label(cbs, label, label_hash, menu_label
if (menu_cbs_init_bind_right_compare_label(cbs, label, menu_label
) == 0)
return 0;

View File

@ -292,13 +292,13 @@ void menu_cbs_init(void *data,
/* It will try to find a corresponding callback function inside
* menu_cbs_left.c, then map this callback to the entry. */
menu_cbs_init_bind_left(cbs, path, label, type, idx, menu_label, label_hash);
menu_cbs_init_bind_left(cbs, path, label, type, idx, menu_label);
menu_cbs_init_log(repr_label, "LEFT", cbs->action_left_ident);
/* It will try to find a corresponding callback function inside
* menu_cbs_right.c, then map this callback to the entry. */
menu_cbs_init_bind_right(cbs, path, label, type, idx, menu_label, label_hash);
menu_cbs_init_bind_right(cbs, path, label, type, idx, menu_label);
menu_cbs_init_log(repr_label, "RIGHT", cbs->action_right_ident);

View File

@ -239,13 +239,11 @@ int action_right_cheat(unsigned type, const char *label,
int menu_cbs_init_bind_left(menu_file_list_cbs_t *cbs,
const char *path, const char *label, unsigned type, size_t idx,
const char *menu_label,
uint32_t label_hash);
const char *menu_label);
int menu_cbs_init_bind_right(menu_file_list_cbs_t *cbs,
const char *path, const char *label, unsigned type, size_t idx,
const char *menu_label,
uint32_t label_hash);
const char *menu_label);
int menu_cbs_init_bind_refresh(menu_file_list_cbs_t *cbs,
const char *path, const char *label, unsigned type, size_t idx);