mirror of
https://github.com/fabiangreffrath/woof.git
synced 2025-09-22 11:22:18 -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};
|
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();
|
HUlib_reset_align_offsets();
|
||||||
// leveltime is already added to totalleveltimes before WI_Start()
|
// leveltime is already added to totalleveltimes before WI_Start()
|
||||||
@ -1632,15 +1632,15 @@ void HU_Ticker(void)
|
|||||||
|
|
||||||
if (automapactive)
|
if (automapactive)
|
||||||
{
|
{
|
||||||
HU_cond_build_widget(&w_monsec, hud_level_stats);
|
HU_cond_build_widget(&w_monsec, hud_level_stats & HUD_WIDGET_AUTOMAP);
|
||||||
HU_cond_build_widget(&w_sttime, hud_level_time);
|
HU_cond_build_widget(&w_sttime, hud_level_time & HUD_WIDGET_AUTOMAP);
|
||||||
HU_cond_build_widget(&w_coord, STRICTMODE(hud_player_coords));
|
HU_cond_build_widget(&w_coord, STRICTMODE(hud_player_coords) & HUD_WIDGET_AUTOMAP);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
HU_cond_build_widget(&w_monsec, hud_level_stats == 2);
|
HU_cond_build_widget(&w_monsec, hud_level_stats & HUD_WIDGET_HUD);
|
||||||
HU_cond_build_widget(&w_sttime, hud_level_time == 2);
|
HU_cond_build_widget(&w_sttime, hud_level_time & HUD_WIDGET_HUD);
|
||||||
HU_cond_build_widget(&w_coord, STRICTMODE(hud_player_coords) == 2);
|
HU_cond_build_widget(&w_coord, STRICTMODE(hud_player_coords) & HUD_WIDGET_HUD);
|
||||||
}
|
}
|
||||||
|
|
||||||
HU_cond_build_widget(&w_fps, plr->cheats & CF_SHOWFPS);
|
HU_cond_build_widget(&w_fps, plr->cheats & CF_SHOWFPS);
|
||||||
|
@ -84,6 +84,14 @@ extern int crispy_hud;
|
|||||||
extern int hud_crosshair;
|
extern int hud_crosshair;
|
||||||
extern boolean hud_crosshair_health;
|
extern boolean hud_crosshair_health;
|
||||||
|
|
||||||
|
enum
|
||||||
|
{
|
||||||
|
HUD_WIDGET_OFF,
|
||||||
|
HUD_WIDGET_AUTOMAP,
|
||||||
|
HUD_WIDGET_HUD,
|
||||||
|
HUD_WIDGET_ALWAYS,
|
||||||
|
};
|
||||||
|
|
||||||
typedef enum
|
typedef enum
|
||||||
{
|
{
|
||||||
crosstarget_off,
|
crosstarget_off,
|
||||||
|
30
src/m_menu.c
30
src/m_menu.c
@ -3298,7 +3298,7 @@ enum {
|
|||||||
};
|
};
|
||||||
|
|
||||||
static const char *show_widgets_strings[] = {
|
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
|
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 (M_InputActivated(input_hud_timestats))
|
||||||
{
|
{
|
||||||
if (hud_level_stats || hud_level_time)
|
if (automapactive)
|
||||||
hud_level_stats = hud_level_time = 0;
|
{
|
||||||
|
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
|
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;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
12
src/m_misc.c
12
src/m_misc.c
@ -2651,24 +2651,24 @@ default_t defaults[] = {
|
|||||||
{
|
{
|
||||||
"hud_player_coords",
|
"hud_player_coords",
|
||||||
(config_t *) &hud_player_coords, NULL,
|
(config_t *) &hud_player_coords, NULL,
|
||||||
{1}, {0,2}, number, ss_stat, wad_no,
|
{HUD_WIDGET_AUTOMAP}, {HUD_WIDGET_OFF,HUD_WIDGET_ALWAYS}, number, ss_stat, wad_no,
|
||||||
"show player coords widget (1 = on Automap, 2 = always)"
|
"show player coords widget (1 = on Automap, 2 = on HUD, 3 = always)"
|
||||||
},
|
},
|
||||||
|
|
||||||
// [FG] level stats widget
|
// [FG] level stats widget
|
||||||
{
|
{
|
||||||
"hud_level_stats",
|
"hud_level_stats",
|
||||||
(config_t *) &hud_level_stats, NULL,
|
(config_t *) &hud_level_stats, NULL,
|
||||||
{0}, {0,2}, number, ss_stat, wad_no,
|
{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 = always)"
|
"show level stats (kill, items and secrets) widget (1 = on Automap, 2 = on HUD, 3 = always)"
|
||||||
},
|
},
|
||||||
|
|
||||||
// [FG] level time widget
|
// [FG] level time widget
|
||||||
{
|
{
|
||||||
"hud_level_time",
|
"hud_level_time",
|
||||||
(config_t *) &hud_level_time, NULL,
|
(config_t *) &hud_level_time, NULL,
|
||||||
{0}, {0,2}, number, ss_stat, wad_no,
|
{HUD_WIDGET_OFF}, {HUD_WIDGET_OFF,HUD_WIDGET_ALWAYS}, number, ss_stat, wad_no,
|
||||||
"show level time widget (1 = on Automap, 2 = always)"
|
"show level time widget (1 = on Automap, 2 = on HUD, 3 = always)"
|
||||||
},
|
},
|
||||||
|
|
||||||
// prefer Crispy HUD over Boom HUD
|
// prefer Crispy HUD over Boom HUD
|
||||||
|
Loading…
x
Reference in New Issue
Block a user