Skip to content

Commit 16b6ece

Browse files
libretroadminLibretroAdmin
authored andcommitted
menu_setting: convert three more descriptor groups to registry data
The cheat settings group and the two overlay input groups join the data-driven path: the underscore-STR parent constants are the label literals the hash lookup returns byte-for-byte, and a whole-body platform guard becomes a guard on the registry entry - without the feature the old function was an empty call and the missing entry is the same nothing. The accounts-cheevos group looked convertible but is not: its group markers emit even without cheevos, only the rows are guarded, so it stays a function - the conversion test now rejects any body with an internal guard it cannot prove whole. Settings dump byte-identical; 93,506 to 93,011 bytes of text.
1 parent 073578d commit 16b6ece

1 file changed

Lines changed: 51 additions & 128 deletions

File tree

menu/menu_setting.c

Lines changed: 51 additions & 128 deletions
Original file line numberDiff line numberDiff line change
@@ -13676,36 +13676,6 @@ static void settings_build_rewind(
1367613676
}
1367713677
}
1367813678

13679-
static void settings_build_cheats(
13680-
settings_t *settings, global_t *global,
13681-
rarch_setting_t **list, rarch_setting_info_t *list_info,
13682-
const char *parent_group)
13683-
{
13684-
rarch_setting_group_info_t group_info;
13685-
rarch_setting_group_info_t subgroup_info;
13686-
group_info.name = NULL;
13687-
subgroup_info.name = NULL;
13688-
(void)settings; (void)global; (void)group_info; (void)subgroup_info;
13689-
{
13690-
13691-
START_GROUP(list, list_info, &group_info,
13692-
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_CHEAT_SETTINGS),
13693-
parent_group);
13694-
13695-
parent_group = MENU_ENUM_LABEL_CHEAT_SETTINGS_STR;
13696-
13697-
START_SUB_GROUP(list, list_info, "State", &group_info, &subgroup_info, parent_group);
13698-
13699-
{
13700-
settings_list_add_desc(list, list_info, settings,
13701-
cheats_desc_0, ARRAY_SIZE(cheats_desc_0),
13702-
&group_info, &subgroup_info, parent_group);
13703-
}
13704-
13705-
END_SUB_GROUP(list, list_info, parent_group);
13706-
END_GROUP(list, list_info, parent_group);
13707-
}
13708-
}
1370913679

1371013680
static void settings_build_cheat_details(
1371113681
settings_t *settings, global_t *global,
@@ -15985,71 +15955,7 @@ static void settings_build_osk_overlay(
1598515955
}
1598615956
}
1598715957

15988-
static void settings_build_overlay_lightgun(
15989-
settings_t *settings, global_t *global,
15990-
rarch_setting_t **list, rarch_setting_info_t *list_info,
15991-
const char *parent_group)
15992-
{
15993-
rarch_setting_group_info_t group_info;
15994-
rarch_setting_group_info_t subgroup_info;
15995-
group_info.name = NULL;
15996-
subgroup_info.name = NULL;
15997-
(void)settings; (void)global; (void)group_info; (void)subgroup_info;
15998-
{
15999-
#ifdef HAVE_OVERLAY
16000-
START_GROUP(list, list_info, &group_info,
16001-
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_OVERLAY_LIGHTGUN_SETTINGS),
16002-
parent_group);
16003-
16004-
parent_group = MENU_ENUM_LABEL_OVERLAY_SETTINGS_STR;
16005-
16006-
START_SUB_GROUP(list, list_info, "State", &group_info, &subgroup_info, parent_group);
16007-
16008-
{
16009-
settings_list_add_desc(list, list_info, settings,
16010-
overlay_lightg_desc_0, ARRAY_SIZE(overlay_lightg_desc_0),
16011-
&group_info, &subgroup_info, parent_group);
16012-
}
16013-
16014-
END_SUB_GROUP(list, list_info, parent_group);
16015-
16016-
END_GROUP(list, list_info, parent_group);
16017-
#endif
16018-
}
16019-
}
16020-
16021-
static void settings_build_overlay_mouse(
16022-
settings_t *settings, global_t *global,
16023-
rarch_setting_t **list, rarch_setting_info_t *list_info,
16024-
const char *parent_group)
16025-
{
16026-
rarch_setting_group_info_t group_info;
16027-
rarch_setting_group_info_t subgroup_info;
16028-
group_info.name = NULL;
16029-
subgroup_info.name = NULL;
16030-
(void)settings; (void)global; (void)group_info; (void)subgroup_info;
16031-
{
16032-
#ifdef HAVE_OVERLAY
16033-
START_GROUP(list, list_info, &group_info,
16034-
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_OVERLAY_MOUSE_SETTINGS),
16035-
parent_group);
16036-
16037-
parent_group = MENU_ENUM_LABEL_OVERLAY_SETTINGS_STR;
16038-
16039-
START_SUB_GROUP(list, list_info, "State", &group_info, &subgroup_info, parent_group);
16040-
16041-
{
16042-
settings_list_add_desc(list, list_info, settings,
16043-
overlay_mouse_desc_0, ARRAY_SIZE(overlay_mouse_desc_0),
16044-
&group_info, &subgroup_info, parent_group);
16045-
}
16046-
16047-
END_SUB_GROUP(list, list_info, parent_group);
1604815958

16049-
END_GROUP(list, list_info, parent_group);
16050-
#endif
16051-
}
16052-
}
1605315959

1605415960
static void settings_build_menu(
1605515961
settings_t *settings, global_t *global,
@@ -18068,37 +17974,6 @@ static void settings_build_user_accounts_kick(
1806817974
}
1806917975
}
1807017976

18071-
static void settings_build_user_accounts_cheevos(
18072-
settings_t *settings, global_t *global,
18073-
rarch_setting_t **list, rarch_setting_info_t *list_info,
18074-
const char *parent_group)
18075-
{
18076-
rarch_setting_group_info_t group_info;
18077-
rarch_setting_group_info_t subgroup_info;
18078-
group_info.name = NULL;
18079-
subgroup_info.name = NULL;
18080-
(void)settings; (void)global; (void)group_info; (void)subgroup_info;
18081-
{
18082-
START_GROUP(list, list_info, &group_info,
18083-
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_ACCOUNTS_CHEEVOS_SETTINGS),
18084-
parent_group);
18085-
18086-
parent_group = msg_hash_to_str(MENU_ENUM_LABEL_SETTINGS);
18087-
18088-
START_SUB_GROUP(list, list_info, "State", &group_info, &subgroup_info, parent_group);
18089-
18090-
#ifdef HAVE_CHEEVOS
18091-
{
18092-
settings_list_add_desc(list, list_info, settings,
18093-
cheevos_acct_desc, ARRAY_SIZE(cheevos_acct_desc),
18094-
&group_info, &subgroup_info, parent_group);
18095-
}
18096-
#endif
18097-
18098-
END_SUB_GROUP(list, list_info, parent_group);
18099-
END_GROUP(list, list_info, parent_group);
18100-
}
18101-
}
1810217977

1810317978
static void settings_build_directory(
1810417979
settings_t *settings, global_t *global,
@@ -18679,6 +18554,38 @@ typedef struct settings_build_entry
1867918554
enum msg_hash_enums parent_label; /* parent group, 0 keeps */
1868018555
} settings_build_entry_t;
1868118556

18557+
static void settings_build_user_accounts_cheevos(
18558+
settings_t *settings, global_t *global,
18559+
rarch_setting_t **list, rarch_setting_info_t *list_info,
18560+
const char *parent_group)
18561+
{
18562+
rarch_setting_group_info_t group_info;
18563+
rarch_setting_group_info_t subgroup_info;
18564+
group_info.name = NULL;
18565+
subgroup_info.name = NULL;
18566+
(void)settings; (void)global; (void)group_info; (void)subgroup_info;
18567+
{
18568+
START_GROUP(list, list_info, &group_info,
18569+
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_ACCOUNTS_CHEEVOS_SETTINGS),
18570+
parent_group);
18571+
18572+
parent_group = msg_hash_to_str(MENU_ENUM_LABEL_SETTINGS);
18573+
18574+
START_SUB_GROUP(list, list_info, "State", &group_info, &subgroup_info, parent_group);
18575+
18576+
#ifdef HAVE_CHEEVOS
18577+
{
18578+
settings_list_add_desc(list, list_info, settings,
18579+
cheevos_acct_desc, ARRAY_SIZE(cheevos_acct_desc),
18580+
&group_info, &subgroup_info, parent_group);
18581+
}
18582+
#endif
18583+
18584+
END_SUB_GROUP(list, list_info, parent_group);
18585+
END_GROUP(list, list_info, parent_group);
18586+
}
18587+
}
18588+
1868218589
static void settings_build_desc_group(
1868318590
const settings_build_entry_t *e,
1868418591
settings_t *settings, global_t *global,
@@ -18713,7 +18620,11 @@ static const settings_build_entry_t settings_build_registry[] = {
1871318620
{ SETTINGS_LIST_CLOUD_SYNC, settings_build_cloud_sync, NULL, 0, MSG_UNKNOWN, MSG_UNKNOWN, MSG_UNKNOWN },
1871418621
{ SETTINGS_LIST_FRAME_TIME_COUNTER, settings_build_frame_time_counter, NULL, 0, MSG_UNKNOWN, MSG_UNKNOWN, MSG_UNKNOWN },
1871518622
{ SETTINGS_LIST_REWIND, settings_build_rewind, NULL, 0, MSG_UNKNOWN, MSG_UNKNOWN, MSG_UNKNOWN },
18716-
{ SETTINGS_LIST_CHEATS, settings_build_cheats, NULL, 0, MSG_UNKNOWN, MSG_UNKNOWN, MSG_UNKNOWN },
18623+
{ SETTINGS_LIST_CHEATS, NULL,
18624+
cheats_desc_0, (unsigned)ARRAY_SIZE(cheats_desc_0),
18625+
MENU_ENUM_LABEL_VALUE_CHEAT_SETTINGS,
18626+
MSG_UNKNOWN,
18627+
MENU_ENUM_LABEL_CHEAT_SETTINGS },
1871718628
{ SETTINGS_LIST_CHEAT_DETAILS, settings_build_cheat_details, NULL, 0, MSG_UNKNOWN, MSG_UNKNOWN, MSG_UNKNOWN },
1871818629
{ SETTINGS_LIST_CHEAT_SEARCH, settings_build_cheat_search, NULL, 0, MSG_UNKNOWN, MSG_UNKNOWN, MSG_UNKNOWN },
1871918630
{ SETTINGS_LIST_VIDEO, settings_build_video, NULL, 0, MSG_UNKNOWN, MSG_UNKNOWN, MSG_UNKNOWN },
@@ -18743,8 +18654,20 @@ static const settings_build_entry_t settings_build_registry[] = {
1874318654
{ SETTINGS_LIST_ONSCREEN_NOTIFICATIONS, settings_build_onscreen_notifications, NULL, 0, MSG_UNKNOWN, MSG_UNKNOWN, MSG_UNKNOWN },
1874418655
{ SETTINGS_LIST_OVERLAY, settings_build_overlay, NULL, 0, MSG_UNKNOWN, MSG_UNKNOWN, MSG_UNKNOWN },
1874518656
{ SETTINGS_LIST_OSK_OVERLAY, settings_build_osk_overlay, NULL, 0, MSG_UNKNOWN, MSG_UNKNOWN, MSG_UNKNOWN },
18746-
{ SETTINGS_LIST_OVERLAY_LIGHTGUN, settings_build_overlay_lightgun, NULL, 0, MSG_UNKNOWN, MSG_UNKNOWN, MSG_UNKNOWN },
18747-
{ SETTINGS_LIST_OVERLAY_MOUSE, settings_build_overlay_mouse, NULL, 0, MSG_UNKNOWN, MSG_UNKNOWN, MSG_UNKNOWN },
18657+
#ifdef HAVE_OVERLAY
18658+
{ SETTINGS_LIST_OVERLAY_LIGHTGUN, NULL,
18659+
overlay_lightg_desc_0, (unsigned)ARRAY_SIZE(overlay_lightg_desc_0),
18660+
MENU_ENUM_LABEL_VALUE_OVERLAY_LIGHTGUN_SETTINGS,
18661+
MSG_UNKNOWN,
18662+
MENU_ENUM_LABEL_OVERLAY_SETTINGS },
18663+
#endif
18664+
#ifdef HAVE_OVERLAY
18665+
{ SETTINGS_LIST_OVERLAY_MOUSE, NULL,
18666+
overlay_mouse_desc_0, (unsigned)ARRAY_SIZE(overlay_mouse_desc_0),
18667+
MENU_ENUM_LABEL_VALUE_OVERLAY_MOUSE_SETTINGS,
18668+
MSG_UNKNOWN,
18669+
MENU_ENUM_LABEL_OVERLAY_SETTINGS },
18670+
#endif
1874818671
{ SETTINGS_LIST_MENU, settings_build_menu, NULL, 0, MSG_UNKNOWN, MSG_UNKNOWN, MSG_UNKNOWN },
1874918672
{ SETTINGS_LIST_MENU_FILE_BROWSER, NULL,
1875018673
menu_file_brow_desc_0, (unsigned)ARRAY_SIZE(menu_file_brow_desc_0),

0 commit comments

Comments
 (0)