diff --git a/cl_dll/entity.cpp b/cl_dll/entity.cpp index d6142d23..b69f4ebf 100644 --- a/cl_dll/entity.cpp +++ b/cl_dll/entity.cpp @@ -1,5 +1,6 @@ // Client side entity management functions +#include #include #include "hud.h" @@ -19,6 +20,10 @@ #include "discord_integration.h" #include "particleman.h" + +#undef min +#undef max + extern IParticleMan *g_pParticleMan; void Game_AddObjects( void ); @@ -50,6 +55,11 @@ int CL_DLLEXPORT HUD_AddEntity( int type, struct cl_entity_s *ent, const char *m break; } + // show triggers that would be transferred from server-side with specific value in renderfx to differ it from other entities + const int kRenderFxTrigger = 241; + if (ent->curstate.rendermode == kRenderTransColor && ent->curstate.renderfx == kRenderFxTrigger && gHUD.m_pShowServerTriggers->value > 0) + ent->curstate.renderamt = std::min(255.0f, std::max(0.0f, gHUD.m_pShowServerTriggersAlpha->value)); + // hide corpses option if (gHUD.m_pCvarHideCorpses->value > 0 && ent->curstate.renderfx == kRenderFxDeadPlayer) return 0; diff --git a/cl_dll/hud.cpp b/cl_dll/hud.cpp index d8d9486b..a7b945cf 100644 --- a/cl_dll/hud.cpp +++ b/cl_dll/hud.cpp @@ -529,6 +529,8 @@ void CHud :: Init( void ) m_pCvarHideOtherPlayers = CVAR_CREATE("cl_hide_other_players", "0", 0); m_pCvarColor = CVAR_CREATE( "hud_color", "", FCVAR_ARCHIVE ); m_pCvarPlayTeamSoundsVolume = CVAR_CREATE("cl_team_sounds_volume", "1.0", FCVAR_ARCHIVE); + m_pShowServerTriggers = CVAR_CREATE("cl_show_server_triggers", "1", FCVAR_ARCHIVE); + m_pShowServerTriggersAlpha = CVAR_CREATE("cl_show_server_triggers_alpha", "120", FCVAR_ARCHIVE); cl_lw = gEngfuncs.pfnGetCvarPointer( "cl_lw" ); CVAR_CREATE("showtriggers", "0", 0); diff --git a/cl_dll/hud.h b/cl_dll/hud.h index bebc755d..8186bf53 100644 --- a/cl_dll/hud.h +++ b/cl_dll/hud.h @@ -602,6 +602,9 @@ class CHud cvar_t *m_pCvarHideOtherPlayers; cvar_t *m_pCvarPlayTeamSoundsVolume; + cvar_t *m_pShowServerTriggers; + cvar_t *m_pShowServerTriggersAlpha; + int m_iFontHeight; cvar_t* m_pCvarColor;