mirror of
https://github.com/YGGverse/hlsdk-portable.git
synced 2025-02-08 21:14:14 +00:00
Add option to controls decals on server
This commit is contained in:
parent
090dea2df1
commit
6c31780cca
@ -31,6 +31,7 @@ cvar_t mp_maxotherdist = { "mp_maxotherdist", "4096", FCVAR_SERVER};
|
||||
cvar_t mp_maxmonsterdist = { "mp_maxmonsterdist", "4096", FCVAR_SERVER};
|
||||
cvar_t mp_servercliptents = { "mp_servercliptents", "0", FCVAR_SERVER};
|
||||
cvar_t mp_maxtentdist = { "mp_maxtentdist", "4096", FCVAR_SERVER};
|
||||
cvar_t mp_maxdecals = { "mp_maxdecals", "-1", FCVAR_SERVER };
|
||||
|
||||
void Ent_RunGC_f( void );
|
||||
|
||||
@ -107,6 +108,7 @@ void GGM_RegisterCVars( void )
|
||||
CVAR_REGISTER( &mp_maxotherdist );
|
||||
CVAR_REGISTER( &mp_servercliptents );
|
||||
CVAR_REGISTER( &mp_maxtentdist );
|
||||
CVAR_REGISTER( &mp_maxdecals );
|
||||
|
||||
g_engfuncs.pfnAddServerCommand( "ent_rungc", Ent_RunGC_f );
|
||||
}
|
||||
@ -751,6 +753,9 @@ void GGM_InitialMenus( CBasePlayer *pPlayer )
|
||||
.Add("Join coop", "joincoop")
|
||||
.Add("Spectate", "spectate")
|
||||
.Show();
|
||||
|
||||
if( mp_maxdecals.value >= 0 )
|
||||
CLIENT_COMMAND( pPlayer->edict(), UTIL_VarArgs("r_decals %f\n", mp_maxdecals.value ) );
|
||||
}
|
||||
|
||||
bool GGM_TouchCommand( CBasePlayer *pPlayer, const char *pcmd )
|
||||
|
@ -20,15 +20,28 @@ extern cvar_t mp_checkentities;
|
||||
extern cvar_t mp_touchmenu;
|
||||
|
||||
// distance clipping (client.cpp)
|
||||
// useful for open world
|
||||
extern cvar_t mp_serverdistclip;
|
||||
extern cvar_t mp_maxbmodeldist;
|
||||
extern cvar_t mp_maxtrashdist;
|
||||
extern cvar_t mp_maxwaterdist;
|
||||
extern cvar_t mp_maxmonsterdist;
|
||||
extern cvar_t mp_maxotherdist;
|
||||
|
||||
// tempentity clipping
|
||||
// if enabled, ignores PVS, so use only on open world
|
||||
extern cvar_t mp_servercliptents;
|
||||
extern cvar_t mp_maxtentdist;
|
||||
|
||||
// control decals count from server
|
||||
// decals is unuseful on sandbox servers
|
||||
// 100 instancs of single bmodel with 100 decals
|
||||
// will cause in 10000 decals in frame
|
||||
// r_decals limit does not cover it because it
|
||||
// only limit decal count on different models
|
||||
|
||||
extern cvar_t mp_maxdecals;
|
||||
|
||||
void GGM_RegisterCVars( void );
|
||||
void Ent_RunGC( bool common, bool enttools, const char *userid, const char *pattern = NULL );
|
||||
bool Q_stricmpext( const char *pattern, const char *text );
|
||||
|
@ -1251,6 +1251,9 @@ void UTIL_DecalTrace( TraceResult *pTrace, int decalNumber )
|
||||
if( decalNumber < 0 )
|
||||
return;
|
||||
|
||||
if( !mp_maxdecals.value ) // even do not send if decals disabled
|
||||
return;
|
||||
|
||||
index = gDecals[decalNumber].index;
|
||||
|
||||
if( index < 0 )
|
||||
@ -1363,6 +1366,9 @@ void UTIL_PlayerDecalTrace( TraceResult *pTrace, int playernum, int decalNumber,
|
||||
if( pTrace->flFraction == 1.0 )
|
||||
return;
|
||||
|
||||
if( !mp_maxdecals.value ) // even do not send if decals disabled
|
||||
return;
|
||||
|
||||
if( mp_serverdistclip.value && mp_servercliptents.value )
|
||||
{
|
||||
// loop through all players
|
||||
@ -1411,6 +1417,9 @@ void UTIL_PlayerDecalTrace( TraceResult *pTrace, int playernum, int decalNumber,
|
||||
|
||||
void UTIL_GunshotDecalTrace( TraceResult *pTrace, int decalNumber )
|
||||
{
|
||||
if( !mp_maxdecals.value ) // even do not send if decals disabled
|
||||
return;
|
||||
|
||||
if( decalNumber < 0 )
|
||||
return;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user