mirror of
https://github.com/fabiangreffrath/woof.git
synced 2025-09-22 03:12:00 -04:00
allow to show level stats "on HUD" only (#1325)
* allow to show level stats "on HUD" only Fixes #1322 * selectively enable/disable stats/time on Automap/HUD with the key binding * some shorter check
This commit is contained in:
parent
4351733ffe
commit
9fe555ed26
@ -1471,7 +1471,7 @@ void WI_DrawTimeWidget(void)
|
||||
{
|
||||
const hu_widget_t w = {&w_sttime, align_left, align_top};
|
||||
|
||||
if (hud_level_time == 2)
|
||||
if (hud_level_time & HUD_WIDGET_HUD)
|
||||
{
|
||||
HUlib_reset_align_offsets();
|
||||
// leveltime is already added to totalleveltimes before WI_Start()
|
||||
@ -1632,15 +1632,15 @@ void HU_Ticker(void)
|
||||
|
||||
if (automapactive)
|
||||
{
|
||||
HU_cond_build_widget(&w_monsec, hud_level_stats);
|
||||
HU_cond_build_widget(&w_sttime, hud_level_time);
|
||||
HU_cond_build_widget(&w_coord, STRICTMODE(hud_player_coords));
|
||||
HU_cond_build_widget(&w_monsec, hud_level_stats & HUD_WIDGET_AUTOMAP);
|
||||
HU_cond_build_widget(&w_sttime, hud_level_time & HUD_WIDGET_AUTOMAP);
|
||||
HU_cond_build_widget(&w_coord, STRICTMODE(hud_player_coords) & HUD_WIDGET_AUTOMAP);
|
||||
}
|
||||
else
|
||||
{
|
||||
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_monsec, hud_level_stats & HUD_WIDGET_HUD);
|
||||
HU_cond_build_widget(&w_sttime, hud_level_time & HUD_WIDGET_HUD);
|
||||
HU_cond_build_widget(&w_coord, STRICTMODE(hud_player_coords) & HUD_WIDGET_HUD);
|
||||
}
|
||||
|
||||
HU_cond_build_widget(&w_fps, plr->cheats & CF_SHOWFPS);
|
||||
|
@ -84,6 +84,14 @@ extern int crispy_hud;
|
||||
extern int hud_crosshair;
|
||||
extern boolean hud_crosshair_health;
|
||||
|
||||
enum
|
||||
{
|
||||
HUD_WIDGET_OFF,
|
||||
HUD_WIDGET_AUTOMAP,
|
||||
HUD_WIDGET_HUD,
|
||||
HUD_WIDGET_ALWAYS,
|
||||
};
|
||||
|
||||
typedef enum
|
||||
{
|
||||
crosstarget_off,
|
||||
|
30
src/m_menu.c
30
src/m_menu.c
@ -3298,7 +3298,7 @@ enum {
|
||||
};
|
||||
|
||||
static const char *show_widgets_strings[] = {
|
||||
"OFF", "ON AUTOMAP", "ALWAYS", NULL
|
||||
"OFF", "ON AUTOMAP", "ON HUD", "ALWAYS", NULL
|
||||
};
|
||||
|
||||
setup_menu_t stat_settings1[] = // Status Bar and HUD Settings screen
|
||||
@ -5268,10 +5268,32 @@ boolean M_Responder (event_t* ev)
|
||||
|
||||
if (M_InputActivated(input_hud_timestats))
|
||||
{
|
||||
if (hud_level_stats || hud_level_time)
|
||||
hud_level_stats = hud_level_time = 0;
|
||||
if (automapactive)
|
||||
{
|
||||
if ((hud_level_stats | hud_level_time) & HUD_WIDGET_AUTOMAP)
|
||||
{
|
||||
hud_level_stats &= ~HUD_WIDGET_AUTOMAP;
|
||||
hud_level_time &= ~HUD_WIDGET_AUTOMAP;
|
||||
}
|
||||
else
|
||||
{
|
||||
hud_level_stats |= HUD_WIDGET_AUTOMAP;
|
||||
hud_level_time |= HUD_WIDGET_AUTOMAP;
|
||||
}
|
||||
}
|
||||
else
|
||||
hud_level_stats = hud_level_time = 1;
|
||||
{
|
||||
if ((hud_level_stats | hud_level_time) & HUD_WIDGET_HUD)
|
||||
{
|
||||
hud_level_stats &= ~HUD_WIDGET_HUD;
|
||||
hud_level_time &= ~HUD_WIDGET_HUD;
|
||||
}
|
||||
else
|
||||
{
|
||||
hud_level_stats |= HUD_WIDGET_HUD;
|
||||
hud_level_time |= HUD_WIDGET_HUD;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
12
src/m_misc.c
12
src/m_misc.c
@ -2651,24 +2651,24 @@ default_t defaults[] = {
|
||||
{
|
||||
"hud_player_coords",
|
||||
(config_t *) &hud_player_coords, NULL,
|
||||
{1}, {0,2}, number, ss_stat, wad_no,
|
||||
"show player coords widget (1 = on Automap, 2 = always)"
|
||||
{HUD_WIDGET_AUTOMAP}, {HUD_WIDGET_OFF,HUD_WIDGET_ALWAYS}, number, ss_stat, wad_no,
|
||||
"show player coords widget (1 = on Automap, 2 = on HUD, 3 = always)"
|
||||
},
|
||||
|
||||
// [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)"
|
||||
{HUD_WIDGET_OFF}, {HUD_WIDGET_OFF,HUD_WIDGET_ALWAYS}, number, ss_stat, wad_no,
|
||||
"show level stats (kill, items and secrets) widget (1 = on Automap, 2 = on HUD, 3 = always)"
|
||||
},
|
||||
|
||||
// [FG] level time widget
|
||||
{
|
||||
"hud_level_time",
|
||||
(config_t *) &hud_level_time, NULL,
|
||||
{0}, {0,2}, number, ss_stat, wad_no,
|
||||
"show level time widget (1 = on Automap, 2 = always)"
|
||||
{HUD_WIDGET_OFF}, {HUD_WIDGET_OFF,HUD_WIDGET_ALWAYS}, number, ss_stat, wad_no,
|
||||
"show level time widget (1 = on Automap, 2 = on HUD, 3 = always)"
|
||||
},
|
||||
|
||||
// prefer Crispy HUD over Boom HUD
|
||||
|
Loading…
x
Reference in New Issue
Block a user