clean up the HUD setup menu (#1295)

* clean up the HUD setup menu

* consolidate coords/stats/time widget settings into one each

* improve wording
This commit is contained in:
Fabian Greffrath 2023-11-30 14:12:34 +01:00 committed by GitHub
parent 3d4e3122cd
commit 780a6c4ecc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 81 additions and 144 deletions

View File

@ -1413,8 +1413,7 @@ boolean HU_DemoProgressBar(boolean force)
} }
// [FG] level stats and level time widgets // [FG] level stats and level time widgets
int map_player_coords, map_level_stats, map_level_time; int hud_player_coords, hud_level_stats, hud_level_time;
int hud_level_stats, hud_level_time;
// //
// HU_Drawer() // HU_Drawer()
@ -1469,7 +1468,7 @@ void WI_DrawTimeWidget(void)
{ {
const hu_widget_t w = {&w_sttime, align_left, align_top}; const hu_widget_t w = {&w_sttime, align_left, align_top};
if (hud_level_time) if (hud_level_time == 2)
{ {
HUlib_reset_align_offsets(); HUlib_reset_align_offsets();
// leveltime is already added to totalleveltimes before WI_Start() // leveltime is already added to totalleveltimes before WI_Start()
@ -1628,15 +1627,17 @@ void HU_Ticker(void)
// draw the automap widgets if automap is displayed // draw the automap widgets if automap is displayed
if (automapactive) if (automap_on)
{ {
HU_cond_build_widget(&w_monsec, map_level_stats); HU_cond_build_widget(&w_monsec, hud_level_stats);
HU_cond_build_widget(&w_sttime, map_level_time); HU_cond_build_widget(&w_sttime, hud_level_time);
HU_cond_build_widget(&w_coord, STRICTMODE(map_player_coords)); HU_cond_build_widget(&w_coord, STRICTMODE(hud_player_coords));
} }
else else
{ {
HU_cond_build_widget(&w_coord, STRICTMODE(map_player_coords) == 2); HU_cond_build_widget(&w_monsec, hud_level_stats == 2);
HU_cond_build_widget(&w_sttime, hud_level_time == 2);
HU_cond_build_widget(&w_coord, STRICTMODE(hud_player_coords) == 2);
} }
HU_cond_build_widget(&w_fps, plr->cheats & CF_SHOWFPS); HU_cond_build_widget(&w_fps, plr->cheats & CF_SHOWFPS);
@ -1659,16 +1660,6 @@ void HU_Ticker(void)
HU_cond_build_widget(&w_ammo, true); HU_cond_build_widget(&w_ammo, true);
HU_cond_build_widget(&w_keys, true); HU_cond_build_widget(&w_keys, true);
} }
HU_cond_build_widget(&w_monsec, hud_level_stats);
HU_cond_build_widget(&w_sttime, hud_level_time);
}
else if (scaledviewheight &&
scaledviewheight < SCREENHEIGHT &&
automap_off)
{
HU_cond_build_widget(&w_monsec, hud_level_stats);
HU_cond_build_widget(&w_sttime, hud_level_time);
} }
// update crosshair properties // update crosshair properties

View File

@ -69,8 +69,7 @@ extern int hud_displayed; // hud is displayed
//jff 2/18/98 hud/status control //jff 2/18/98 hud/status control
extern int hud_active; // hud mode 0=off, 1=small, 2=full extern int hud_active; // hud mode 0=off, 1=small, 2=full
extern int hud_secret_message; // "A secret is revealed!" message extern int hud_secret_message; // "A secret is revealed!" message
extern int map_player_coords, map_level_stats, map_level_time; // [FG] level stats and level time widgets extern int hud_player_coords, hud_level_stats, hud_level_time;
extern int hud_level_stats, hud_level_time;
extern int hud_widget_font; extern int hud_widget_font;
extern int hud_widescreen_widgets; extern int hud_widescreen_widgets;
extern int hud_draw_bargraphs; extern int hud_draw_bargraphs;

View File

@ -3305,13 +3305,12 @@ void M_DrawWeapons(void)
// Screen table definitions // Screen table definitions
setup_menu_t stat_settings1[], stat_settings2[], stat_settings3[]; setup_menu_t stat_settings1[], stat_settings2[];
setup_menu_t* stat_settings[] = setup_menu_t* stat_settings[] =
{ {
stat_settings1, stat_settings1,
stat_settings2, stat_settings2,
stat_settings3,
NULL NULL
}; };
@ -3319,43 +3318,44 @@ enum {
stat1_title1, stat1_title1,
stat1_rednum, stat1_rednum,
stat1_graypcnt, stat1_graypcnt,
stat1_keys,
stat1_stub1, stat1_stub1,
stat1_title2, stat1_title2,
stat1_coords,
stat1_stats, stat1_stats,
stat1_time, stat1_time,
stat1_healthr, stat1_stub2,
stat1_healthy, stat1_title3,
stat1_healthg, stat1_backpack,
stat1_armorr, stat1_armortype,
stat1_armory, stat1_smooth,
stat1_armorg, };
stat1_ammor,
stat1_ammoy, static const char *show_widgets_strings[] = {
"OFF", "ON AUTOMAP", "ALWAYS", NULL
}; };
setup_menu_t stat_settings1[] = // Status Bar and HUD Settings screen setup_menu_t stat_settings1[] = // Status Bar and HUD Settings screen
{ {
{"STATUS BAR" ,S_SKIP|S_TITLE,m_null,M_X,M_Y}, {"STATUS BAR" ,S_SKIP|S_TITLE,m_null,M_X,M_Y+stat1_title1*M_SPC},
{"USE STANDARD COLORS",S_YESNO|S_COSMETIC,m_null,M_X,M_Y+stat1_rednum*M_SPC, {"sts_always_red"}}, {"USE STANDARD COLORS",S_YESNO|S_COSMETIC,m_null,M_X,M_Y+stat1_rednum*M_SPC, {"sts_always_red"}},
{"GRAY %" ,S_YESNO|S_COSMETIC,m_null,M_X,M_Y+stat1_graypcnt*M_SPC, {"sts_pct_always_gray"}}, {"GRAY %" ,S_YESNO|S_COSMETIC,m_null,M_X,M_Y+stat1_graypcnt*M_SPC, {"sts_pct_always_gray"}},
{"SINGLE KEY DISPLAY",S_YESNO|S_COSMETIC,m_null,M_X,M_Y+stat1_keys*M_SPC, {"sts_traditional_keys"}},
{"",S_SKIP,m_null,M_X,M_Y+stat1_stub1*M_SPC}, {"",S_SKIP,m_null,M_X,M_Y+stat1_stub1*M_SPC},
{"HEADS-UP DISPLAY" ,S_SKIP|S_TITLE,m_null,M_X,M_Y+stat1_title2*M_SPC}, {"HEADS-UP DISPLAY" ,S_SKIP|S_TITLE,m_null,M_X,M_Y+stat1_title2*M_SPC},
{"SHOW LEVEL STATS" ,S_YESNO|S_COSMETIC,m_null,M_X,M_Y+stat1_stats*M_SPC, {"hud_level_stats"}}, {"SHOW PLAYER COORDS",S_CHOICE|S_STRICT,m_null,M_X,M_Y+stat1_coords*M_SPC, {"hud_player_coords"},0,NULL,show_widgets_strings},
{"SHOW LEVEL TIME" ,S_YESNO|S_COSMETIC,m_null,M_X,M_Y+stat1_time*M_SPC, {"hud_level_time"}}, {"SHOW LEVEL STATS" ,S_CHOICE,m_null,M_X,M_Y+stat1_stats*M_SPC, {"hud_level_stats"},0,NULL,show_widgets_strings},
{"HEALTH LOW/OK" ,S_NUM|S_COSMETIC,m_null,M_X,M_Y+stat1_healthr*M_SPC, {"health_red"}}, {"SHOW LEVEL TIME" ,S_CHOICE,m_null,M_X,M_Y+stat1_time*M_SPC, {"hud_level_time"},0,NULL,show_widgets_strings},
{"HEALTH OK/GOOD" ,S_NUM|S_COSMETIC,m_null,M_X,M_Y+stat1_healthy*M_SPC, {"health_yellow"}},
{"HEALTH GOOD/EXTRA" ,S_NUM|S_COSMETIC,m_null,M_X,M_Y+stat1_healthg*M_SPC, {"health_green"}}, {"",S_SKIP,m_null,M_X,M_Y+stat1_stub2*M_SPC},
{"ARMOR LOW/OK" ,S_NUM|S_COSMETIC,m_null,M_X,M_Y+stat1_armorr*M_SPC, {"armor_red"}},
{"ARMOR OK/GOOD" ,S_NUM|S_COSMETIC,m_null,M_X,M_Y+stat1_armory*M_SPC, {"armor_yellow"}}, {"WIDGET APPEARANCE",S_SKIP|S_TITLE,m_null,M_X,M_Y+stat1_title3*M_SPC},
{"ARMOR GOOD/EXTRA" ,S_NUM|S_COSMETIC,m_null,M_X,M_Y+stat1_armorg*M_SPC, {"armor_green"}},
{"AMMO LOW/OK" ,S_NUM|S_COSMETIC,m_null,M_X,M_Y+stat1_ammor*M_SPC, {"ammo_red"}}, {"BACKPACK SHIFTS AMMO COLORS" ,S_YESNO,m_null,M_X,M_Y+stat1_backpack*M_SPC, {"hud_backpack_thresholds"}},
{"AMMO OK/GOOD" ,S_NUM|S_COSMETIC,m_null,M_X,M_Y+stat1_ammoy*M_SPC, {"ammo_yellow"}}, {"ARMOR COLOR DEPENDS ON TYPE" ,S_YESNO,m_null,M_X,M_Y+stat1_armortype*M_SPC, {"hud_armor_type"}},
{"SMOOTH HEALTH/ARMOR COUNT" ,S_YESNO,m_null,M_X,M_Y+stat1_smooth*M_SPC, {"smooth_counts"}},
// Button for resetting to defaults // Button for resetting to defaults
{0,S_RESET,m_null,X_BUTTON,Y_BUTTON}, {0,S_RESET,m_null,X_BUTTON,Y_BUTTON},
@ -3368,42 +3368,31 @@ setup_menu_t stat_settings1[] = // Status Bar and HUD Settings screen
enum { enum {
stat2_title1, stat2_title1,
stat2_backpack,
stat2_armortype,
stat2_smooth,
stat2_stub1,
stat2_title2,
stat2_crispyhud, stat2_crispyhud,
stat2_hudfont, stat2_hudfont,
stat2_widescreen, stat2_widescreen,
stat2_threelined, stat2_threelined,
stat2_bargraphs, stat2_bargraphs,
}; stat2_stub1,
stat2_title2,
enum { stat2_xhair,
stat3_title1, stat2_xhairhealth,
stat3_xhair, stat2_xhairtarget,
stat3_xhairhealth, stat2_xhairlockon,
stat3_xhairtarget, stat2_xhaircolor,
stat3_xhairlockon, stat2_xhairtcolor,
stat3_xhaircolor,
stat3_xhairtcolor,
}; };
static void M_UpdateCrosshairItems (void) static void M_UpdateCrosshairItems (void)
{ {
DISABLE_ITEM(!hud_crosshair, stat_settings3[stat3_xhairhealth]); DISABLE_ITEM(!hud_crosshair, stat_settings2[stat2_xhairhealth]);
DISABLE_ITEM(!hud_crosshair, stat_settings3[stat3_xhairtarget]); DISABLE_ITEM(!hud_crosshair, stat_settings2[stat2_xhairtarget]);
DISABLE_ITEM(!hud_crosshair, stat_settings3[stat3_xhairlockon]); DISABLE_ITEM(!hud_crosshair, stat_settings2[stat2_xhairlockon]);
DISABLE_ITEM(!hud_crosshair, stat_settings3[stat3_xhaircolor]); DISABLE_ITEM(!hud_crosshair, stat_settings2[stat2_xhaircolor]);
DISABLE_ITEM(!(hud_crosshair && hud_crosshair_target == crosstarget_highlight), DISABLE_ITEM(!(hud_crosshair && hud_crosshair_target == crosstarget_highlight),
stat_settings3[stat3_xhairtcolor]); stat_settings2[stat2_xhairtcolor]);
} }
static const char *show_widgets_strings[] = {
"OFF", "ON AUTOMAP", "ALWAYS", NULL
};
static const char *crosshair_target_str[] = { static const char *crosshair_target_str[] = {
"OFF", "HIGHLIGHT", "HEALTH", NULL "OFF", "HIGHLIGHT", "HEALTH", NULL
}; };
@ -3415,15 +3404,7 @@ static const char *hudcolor_str[] = {
setup_menu_t stat_settings2[] = setup_menu_t stat_settings2[] =
{ {
{"WIDGET APPEARANCE",S_SKIP|S_TITLE,m_null,M_X,M_Y}, {"EXTENDED HUD",S_SKIP|S_TITLE,m_null,M_X,M_Y+stat2_title1*M_SPC },
{"BACKPACK CHANGES THRESHOLDS" ,S_YESNO,m_null,M_X,M_Y+stat2_backpack*M_SPC, {"hud_backpack_thresholds"}},
{"COLOR OF ARMOR DEPENDS ON TYPE" ,S_YESNO,m_null,M_X,M_Y+stat2_armortype*M_SPC, {"hud_armor_type"}},
{"SMOOTH HEALTH/ARMOR COUNT" ,S_YESNO,m_null,M_X,M_Y+stat2_smooth*M_SPC, {"smooth_counts"}},
{"",S_SKIP,m_null,M_X,M_Y+stat2_stub1*M_SPC},
{"EXTENDED HUD",S_SKIP|S_TITLE,m_null,M_X,M_Y+stat2_title2*M_SPC },
{"PREFER CRISPY HUD OVER BOOM HUD" ,S_YESNO ,m_null,M_X,M_Y+stat2_crispyhud*M_SPC, {"crispy_hud"}}, {"PREFER CRISPY HUD OVER BOOM HUD" ,S_YESNO ,m_null,M_X,M_Y+stat2_crispyhud*M_SPC, {"crispy_hud"}},
{"USE STANDARD DOOM FONT FOR WIDGETS", S_CHOICE,m_null,M_X,M_Y+stat2_hudfont*M_SPC, {"hud_widget_font"}, 0, NULL, show_widgets_strings}, {"USE STANDARD DOOM FONT FOR WIDGETS", S_CHOICE,m_null,M_X,M_Y+stat2_hudfont*M_SPC, {"hud_widget_font"}, 0, NULL, show_widgets_strings},
@ -3431,25 +3412,18 @@ setup_menu_t stat_settings2[] =
{"3-LINED COORDS/STATS WIDGETS", S_YESNO,m_null,M_X,M_Y+stat2_threelined*M_SPC, {"hud_threelined_widgets"}}, {"3-LINED COORDS/STATS WIDGETS", S_YESNO,m_null,M_X,M_Y+stat2_threelined*M_SPC, {"hud_threelined_widgets"}},
{"DRAW BAR GRAPHS IN WIDGETS", S_YESNO,m_null,M_X,M_Y+stat2_bargraphs*M_SPC, {"hud_draw_bargraphs"}}, {"DRAW BAR GRAPHS IN WIDGETS", S_YESNO,m_null,M_X,M_Y+stat2_bargraphs*M_SPC, {"hud_draw_bargraphs"}},
{"",S_SKIP,m_null,M_X,M_Y+stat2_stub1*M_SPC},
{"CROSSHAIR",S_SKIP|S_TITLE,m_null,M_X,M_Y+stat2_title2*M_SPC },
{"ENABLE CROSSHAIR", S_CHOICE,m_null,M_X,M_Y+stat2_xhair*M_SPC, {"hud_crosshair"}, 0, M_UpdateCrosshairItems, crosshair_str},
{"COLOR BY PLAYER HEALTH",S_YESNO|S_STRICT,m_null,M_X,M_Y+stat2_xhairhealth*M_SPC, {"hud_crosshair_health"}},
{"COLOR BY TARGET", S_CHOICE|S_STRICT,m_null,M_X,M_Y+stat2_xhairtarget*M_SPC, {"hud_crosshair_target"}, 0, M_UpdateCrosshairItems, crosshair_target_str},
{"LOCK ON TARGET", S_YESNO|S_STRICT,m_null,M_X,M_Y+stat2_xhairlockon*M_SPC, {"hud_crosshair_lockon"}},
{"DEFAULT COLOR", S_CRITEM,m_null,M_X,M_Y+stat2_xhaircolor*M_SPC, {"hud_crosshair_color"}, 0, NULL, hudcolor_str},
{"HIGHLIGHT COLOR", S_CRITEM|S_STRICT,m_null,M_X,M_Y+stat2_xhairtcolor*M_SPC, {"hud_crosshair_target_color"}, 0, NULL, hudcolor_str},
{"<- PREV" ,S_SKIP|S_PREV,m_null,M_X_PREV,M_Y_PREVNEXT, {stat_settings1}}, {"<- PREV" ,S_SKIP|S_PREV,m_null,M_X_PREV,M_Y_PREVNEXT, {stat_settings1}},
{"NEXT ->", S_SKIP|S_NEXT,m_null,M_X_NEXT,M_Y_PREVNEXT, {stat_settings3}},
// Final entry
{0,S_SKIP|S_END,m_null}
};
setup_menu_t stat_settings3[] =
{
{"CROSSHAIR",S_SKIP|S_TITLE,m_null,M_X,M_Y+stat3_title1*M_SPC },
{"ENABLE CROSSHAIR", S_CHOICE,m_null,M_X,M_Y+stat3_xhair*M_SPC, {"hud_crosshair"}, 0, M_UpdateCrosshairItems, crosshair_str},
{"COLOR BY PLAYER HEALTH",S_YESNO|S_STRICT,m_null,M_X,M_Y+stat3_xhairhealth*M_SPC, {"hud_crosshair_health"}},
{"COLOR BY TARGET", S_CHOICE|S_STRICT,m_null,M_X,M_Y+stat3_xhairtarget*M_SPC, {"hud_crosshair_target"}, 0, M_UpdateCrosshairItems, crosshair_target_str},
{"LOCK ON TARGET", S_YESNO|S_STRICT,m_null,M_X,M_Y+stat3_xhairlockon*M_SPC, {"hud_crosshair_lockon"}},
{"DEFAULT COLOR", S_CRITEM,m_null,M_X,M_Y+stat3_xhaircolor*M_SPC, {"hud_crosshair_color"}, 0, NULL, hudcolor_str},
{"HIGHLIGHT COLOR", S_CRITEM|S_STRICT,m_null,M_X,M_Y+stat3_xhairtcolor*M_SPC, {"hud_crosshair_target_color"}, 0, NULL, hudcolor_str},
{"<- PREV" ,S_SKIP|S_PREV,m_null,M_X_PREV,M_Y_PREVNEXT, {stat_settings2}},
// Final entry // Final entry
{0,S_SKIP|S_END,m_null} {0,S_SKIP|S_END,m_null}
@ -3516,14 +3490,9 @@ enum {
auto1_follow, auto1_follow,
auto1_rotate, auto1_rotate,
auto1_overlay, auto1_overlay,
auto1_pointer,
auto1_stub1, auto1_stub1,
auto1_title2, auto1_title2,
auto1_coords,
auto1_pointer,
auto1_stats,
auto1_time,
auto1_stub2,
auto1_title3,
auto1_smooth, auto1_smooth,
auto1_secrets, auto1_secrets,
auto1_flash, auto1_flash,
@ -3547,19 +3516,11 @@ setup_menu_t auto_settings1[] = // 1st AutoMap Settings screen
{"Follow Player" ,S_YESNO ,m_null,M_X,M_Y+auto1_follow*M_SPC, {"followplayer"}}, {"Follow Player" ,S_YESNO ,m_null,M_X,M_Y+auto1_follow*M_SPC, {"followplayer"}},
{"Rotate Automap" ,S_YESNO ,m_null,M_X,M_Y+auto1_rotate*M_SPC, {"automaprotate"}}, {"Rotate Automap" ,S_YESNO ,m_null,M_X,M_Y+auto1_rotate*M_SPC, {"automaprotate"}},
{"Overlay Automap" ,S_CHOICE,m_null,M_X,M_Y+auto1_overlay*M_SPC, {"automapoverlay"}, 0, NULL, overlay_strings}, {"Overlay Automap" ,S_CHOICE,m_null,M_X,M_Y+auto1_overlay*M_SPC, {"automapoverlay"}, 0, NULL, overlay_strings},
{"Coords follow pointer",S_YESNO ,m_null,M_X,M_Y+auto1_pointer*M_SPC, {"map_point_coord"}}, // killough 10/98
{"",S_SKIP,m_null,M_X,M_Y+auto1_stub1*M_SPC}, {"",S_SKIP,m_null,M_X,M_Y+auto1_stub1*M_SPC},
{"Widgets",S_SKIP|S_TITLE,m_null,M_X,M_Y+auto1_title2*M_SPC}, {"Miscellaneous",S_SKIP|S_TITLE,m_null,M_X,M_Y+auto1_title2*M_SPC},
// [FG] show level statistics and level time widgets
{"Show player coords" ,S_CHOICE|S_STRICT,m_null,M_X,M_Y+auto1_coords*M_SPC, {"map_player_coords"},0,NULL,show_widgets_strings},
{"Coords follow pointer",S_YESNO ,m_null,M_X,M_Y+auto1_pointer*M_SPC, {"map_point_coord"}}, // killough 10/98
{"Show level stats" ,S_YESNO ,m_null,M_X,M_Y+auto1_stats*M_SPC, {"map_level_stats"}},
{"Show level time" ,S_YESNO ,m_null,M_X,M_Y+auto1_time*M_SPC, {"map_level_time"}},
{"",S_SKIP,m_null,M_X,M_Y+auto1_stub2*M_SPC},
{"Miscellaneous",S_SKIP|S_TITLE,m_null,M_X,M_Y+auto1_title3*M_SPC},
{"Smooth automap lines" ,S_YESNO,m_null,M_X,M_Y+auto1_smooth*M_SPC, {"map_smooth_lines"},0,AM_enableSmoothLines}, {"Smooth automap lines" ,S_YESNO,m_null,M_X,M_Y+auto1_smooth*M_SPC, {"map_smooth_lines"},0,AM_enableSmoothLines},
{"Show Secrets only after entering",S_YESNO,m_null,M_X,M_Y+auto1_secrets*M_SPC, {"map_secret_after"}}, {"Show Secrets only after entering",S_YESNO,m_null,M_X,M_Y+auto1_secrets*M_SPC, {"map_secret_after"}},
{"Keyed doors are flashing" ,S_YESNO,m_null,M_X,M_Y+auto1_flash*M_SPC, {"map_keyed_door_flash"}}, {"Keyed doors are flashing" ,S_YESNO,m_null,M_X,M_Y+auto1_flash*M_SPC, {"map_keyed_door_flash"}},

View File

@ -2397,30 +2397,6 @@ default_t defaults[] = {
"1 to enable smooth automap lines" "1 to enable smooth automap lines"
}, },
// [FG] player coords widget
{
"map_player_coords",
(config_t *) &map_player_coords, NULL,
{1}, {0,2}, number, ss_auto, wad_yes,
"1 to show player coords widget"
},
// [FG] level stats widget
{
"map_level_stats",
(config_t *) &map_level_stats, NULL,
{0}, {0,2}, number, ss_auto, wad_yes,
"1 to show level stats (kill, items and secrets) widget"
},
// [FG] level time widget
{
"map_level_time",
(config_t *) &map_level_time, NULL,
{0}, {0,2}, number, ss_auto, wad_yes,
"1 to show level time widget"
},
{ {
"followplayer", "followplayer",
(config_t *) &followplayer, NULL, (config_t *) &followplayer, NULL,
@ -2672,18 +2648,28 @@ default_t defaults[] = {
"1 to enable display of HUD" "1 to enable display of HUD"
}, },
{ // no secrets/items/kills HUD line // [FG] player coords widget
"hud_level_stats", {
(config_t *) &hud_level_stats, NULL, "hud_player_coords",
{0}, {0,1}, number, ss_stat, wad_yes, (config_t *) &hud_player_coords, NULL,
"1 to show kills/items/secrets on HUD" {1}, {0,2}, number, ss_stat, wad_no,
"show player coords widget (1 = on Automap, 2 = always)"
}, },
{ // no secrets/items/kills HUD line // [FG] level stats widget
{
"hud_level_stats",
(config_t *) &hud_level_stats, NULL,
{0}, {0,2}, number, ss_stat, wad_no,
"show level stats (kill, items and secrets) widget (1 = on Automap, 2 = always)"
},
// [FG] level time widget
{
"hud_level_time", "hud_level_time",
(config_t *) &hud_level_time, NULL, (config_t *) &hud_level_time, NULL,
{0}, {0,1}, number, ss_stat, wad_yes, {0}, {0,2}, number, ss_stat, wad_no,
"1 to show level time on HUD" "show level time widget (1 = on Automap, 2 = always)"
}, },
// prefer Crispy HUD over Boom HUD // prefer Crispy HUD over Boom HUD