From c33d084a0cba00c59283344e40015adb33834821 Mon Sep 17 00:00:00 2001 From: Marco Cawthorne Date: Wed, 3 Jan 2024 14:52:28 -0800 Subject: [PATCH] Client: more accurate C4 HUD indicator (always visible when in inventory, flash when in zone) --- src/client/hud.qc | 44 ++++++++++++++++++++++++++++++++------------ 1 file changed, 32 insertions(+), 12 deletions(-) diff --git a/src/client/hud.qc b/src/client/hud.qc index a6866ba..240ecf4 100644 --- a/src/client/hud.qc +++ b/src/client/hud.qc @@ -536,7 +536,7 @@ HUD_DrawZones(void) if (pl.gflags & GF_BUYZONE) { zc++; } - if (pl.gflags & GF_BOMBZONE) { + if (pl.g_items & ITEM_C4BOMB) { zc++; } if (pl.gflags & GF_RESCUEZONE) { @@ -561,17 +561,37 @@ HUD_DrawZones(void) ); pos[1] += 32; } - if (pl.gflags & GF_BOMBZONE) { - drawsubpic( - pos, - [32,32], - g_hud7_spr, - [0/256,148/256], - [32/256,32/256], - [0,1,0], - 1.0f, - DRAWFLAG_ADDITIVE - ); + if (pl.g_items & ITEM_C4BOMB) { + bool isRed = false; + + if (pl.gflags & GF_BOMBZONE) { + isRed = (time*4) & 1 ? true : false; + } + + if (isRed) { + drawsubpic( + pos, + [32,32], + g_hud7_spr, + [0/256,148/256], + [32/256,32/256], + [1,0,0], + 1.0f, + DRAWFLAG_ADDITIVE + ); + } else { + drawsubpic( + pos, + [32,32], + g_hud7_spr, + [0/256,148/256], + [32/256,32/256], + [0,1,0], + 1.0f, + DRAWFLAG_ADDITIVE + ); + } + pos[1] += 32; } if (pl.gflags & GF_RESCUEZONE) {