From d987323e8a9bcc3102c96a237f74875d5b37c4e4 Mon Sep 17 00:00:00 2001 From: bones_was_here Date: Fri, 3 May 2024 07:59:11 +1000 Subject: [PATCH] console: improve default text legibility and background alpha behaviour With the Quake font and some mod fonts the text was too dim and hard to read by default. Makes the dropdown console always have the configured alpha (even at the menu with no demos playing). Uses a tiny bit of alpha by default. Signed-off-by: bones_was_here --- cl_screen.c | 6 +++--- console.c | 4 ++-- console.h | 2 +- gl_draw.c | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/cl_screen.c b/cl_screen.c index 191cd70a..27e603b5 100644 --- a/cl_screen.c +++ b/cl_screen.c @@ -18,7 +18,7 @@ cvar_t scr_viewsize = {CF_CLIENT | CF_ARCHIVE, "viewsize","100", "how large the view should be, 110 disables inventory bar, 120 disables status bar"}; cvar_t scr_fov = {CF_CLIENT | CF_ARCHIVE, "fov","90", "field of vision, 1-170 degrees, default 90, some players use 110-130"}; -cvar_t scr_conalpha = {CF_CLIENT | CF_ARCHIVE, "scr_conalpha", "1", "opacity of console background gfx/conback"}; +cvar_t scr_conalpha = {CF_CLIENT | CF_ARCHIVE, "scr_conalpha", "0.9", "opacity of console background gfx/conback (when console isn't forced fullscreen)"}; cvar_t scr_conalphafactor = {CF_CLIENT | CF_ARCHIVE, "scr_conalphafactor", "1", "opacity of console background gfx/conback relative to scr_conalpha; when 0, gfx/conback is not drawn"}; cvar_t scr_conalpha2factor = {CF_CLIENT | CF_ARCHIVE, "scr_conalpha2factor", "0", "opacity of console background gfx/conback2 relative to scr_conalpha; when 0, gfx/conback2 is not drawn"}; cvar_t scr_conalpha3factor = {CF_CLIENT | CF_ARCHIVE, "scr_conalpha3factor", "0", "opacity of console background gfx/conback3 relative to scr_conalpha; when 0, gfx/conback3 is not drawn"}; @@ -744,10 +744,10 @@ void SCR_DrawConsole (void) if (key_consoleactive & KEY_CONSOLEACTIVE_FORCED) { // full screen - Con_DrawConsole (vid_conheight.integer - scr_con_margin_bottom); + Con_DrawConsole (vid_conheight.integer - scr_con_margin_bottom, true); } else if (scr_con_current) - Con_DrawConsole (min(scr_con_current, vid_conheight.integer - scr_con_margin_bottom)); + Con_DrawConsole (min(scr_con_current, vid_conheight.integer - scr_con_margin_bottom), false); else con_vislines = 0; } diff --git a/console.c b/console.c index 21782f7f..a33264c1 100644 --- a/console.c +++ b/console.c @@ -1975,7 +1975,7 @@ Draws the console with the solid background The typing input line at the bottom should only be drawn if typing is allowed ================ */ -void Con_DrawConsole (int lines) +void Con_DrawConsole (int lines, qbool forcedfullscreen) { float alpha, alpha0; double sx, sy; @@ -1997,7 +1997,7 @@ void Con_DrawConsole (int lines) r_draw2d_force = true; // draw the background - alpha0 = cls.signon == SIGNONS ? scr_conalpha.value : 1.0f; // always full alpha when not in game + alpha0 = forcedfullscreen ? 1.0f : scr_conalpha.value; // always full alpha when not forced fullscreen if((alpha = alpha0 * scr_conalphafactor.value) > 0) { sx = scr_conscroll_x.value; diff --git a/console.h b/console.h index 10da88f0..8eaabbe2 100644 --- a/console.h +++ b/console.h @@ -43,7 +43,7 @@ void Con_CheckResize (void); void Con_Init (void); void Con_Init_Commands (void); void Con_Shutdown (void); -void Con_DrawConsole (int lines); +void Con_DrawConsole (int lines, qbool forcedfullscreen); /// Prints to a chosen console target void Con_MaskPrint(unsigned additionalmask, const char *msg); diff --git a/gl_draw.c b/gl_draw.c index 8eaf3932..3eb4c131 100644 --- a/gl_draw.c +++ b/gl_draw.c @@ -51,8 +51,8 @@ dp_fonts_t dp_fonts; static mempool_t *fonts_mempool = NULL; cvar_t r_textshadow = {CF_CLIENT | CF_ARCHIVE, "r_textshadow", "0", "draws a shadow on all text to improve readability (note: value controls offset, 1 = 1 pixel, 1.5 = 1.5 pixels, etc)"}; -cvar_t r_textbrightness = {CF_CLIENT | CF_ARCHIVE, "r_textbrightness", "0", "additional brightness for text color codes (0 keeps colors as is, 1 makes them all white)"}; -cvar_t r_textcontrast = {CF_CLIENT | CF_ARCHIVE, "r_textcontrast", "1", "additional contrast for text color codes (1 keeps colors as is, 0 makes them all black)"}; +cvar_t r_textbrightness = {CF_CLIENT | CF_ARCHIVE, "r_textbrightness", "0.25", "additional brightness for text color codes (0 keeps colors as is, 1 makes them all white)"}; +cvar_t r_textcontrast = {CF_CLIENT | CF_ARCHIVE, "r_textcontrast", "1.25", "additional contrast for text color codes (1 keeps colors as is, 0 makes them all black)"}; cvar_t r_font_postprocess_blur = {CF_CLIENT | CF_ARCHIVE, "r_font_postprocess_blur", "0", "font blur amount"}; cvar_t r_font_postprocess_outline = {CF_CLIENT | CF_ARCHIVE, "r_font_postprocess_outline", "0", "font outline amount"}; -- 2.39.2