From 2a9db29c58a04bd7eb3ab7c2aa647308b700b68d Mon Sep 17 00:00:00 2001
From: Jaime Passos <lazymyuutsu@gmail.com>
Date: Sat, 23 Nov 2019 18:41:28 -0300
Subject: [PATCH] fix showfps with st_translucency

---
 src/screen.c   | 4 ++--
 src/st_stuff.c | 2 +-
 src/v_video.h  | 4 ++++
 3 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/src/screen.c b/src/screen.c
index a1f6b7f55d..5005118b6c 100644
--- a/src/screen.c
+++ b/src/screen.c
@@ -421,9 +421,9 @@ void SCR_DisplayTicRate(void)
 	else if (totaltics == TICRATE) ticcntcolor = V_GREENMAP;
 
 	V_DrawString(vid.width-(72*vid.dupx), h,
-		V_YELLOWMAP|V_NOSCALESTART|V_HUDTRANS, "FPS:");
+		V_YELLOWMAP|V_NOSCALESTART|V_USERHUDTRANS, "FPS:");
 	V_DrawString(vid.width-(40*vid.dupx), h,
-		ticcntcolor|V_NOSCALESTART|V_HUDTRANS, va("%02d/%02u", totaltics, TICRATE));
+		ticcntcolor|V_NOSCALESTART|V_USERHUDTRANS, va("%02d/%02u", totaltics, TICRATE));
 
 	lasttic = ontic;
 }
diff --git a/src/st_stuff.c b/src/st_stuff.c
index 5ccf9bb52d..6f75a25e7e 100644
--- a/src/st_stuff.c
+++ b/src/st_stuff.c
@@ -198,7 +198,7 @@ void ST_Ticker(boolean run)
 
 // 0 is default, any others are special palettes.
 INT32 st_palette = 0;
-INT32 st_translucency = 0;
+INT32 st_translucency = 10;
 
 void ST_doPaletteStuff(void)
 {
diff --git a/src/v_video.h b/src/v_video.h
index cd32ac5f89..e3dbb75dc0 100644
--- a/src/v_video.h
+++ b/src/v_video.h
@@ -106,6 +106,10 @@ extern RGBA_t *pMasterPalette;
 #define V_HUDTRANSHALF       0x000D0000
 #define V_HUDTRANS           0x000E0000 // draw the hud translucent
 #define V_HUDTRANSDOUBLE     0x000F0000
+// Macros follow
+#define V_USERHUDTRANSHALF   ((10-(cv_translucenthud.value/2))<<V_ALPHASHIFT)
+#define V_USERHUDTRANS       ((10-cv_translucenthud.value)<<V_ALPHASHIFT)
+#define V_USERHUDTRANSDOUBLE ((10-min(cv_translucenthud.value*2, 10))<<V_ALPHASHIFT)
 
 #define V_AUTOFADEOUT        0x00100000 // used by CECHOs, automatic fade out when almost over
 #define V_RETURN8            0x00200000 // 8 pixel return instead of 12
-- 
GitLab