diff options
| author | Jørgen P. Tjernø <[email protected]> | 2013-12-02 19:31:46 -0800 |
|---|---|---|
| committer | Jørgen P. Tjernø <[email protected]> | 2013-12-02 19:46:31 -0800 |
| commit | f56bb35301836e56582a575a75864392a0177875 (patch) | |
| tree | de61ddd39de3e7df52759711950b4c288592f0dc /mp/src/game/client/c_te_playerdecal.cpp | |
| parent | Mark some more files as text. (diff) | |
| download | source-sdk-2013-f56bb35301836e56582a575a75864392a0177875.tar.xz source-sdk-2013-f56bb35301836e56582a575a75864392a0177875.zip | |
Fix line endings. WHAMMY.
Diffstat (limited to 'mp/src/game/client/c_te_playerdecal.cpp')
| -rw-r--r-- | mp/src/game/client/c_te_playerdecal.cpp | 552 |
1 files changed, 276 insertions, 276 deletions
diff --git a/mp/src/game/client/c_te_playerdecal.cpp b/mp/src/game/client/c_te_playerdecal.cpp index c8570bb9..9620484f 100644 --- a/mp/src/game/client/c_te_playerdecal.cpp +++ b/mp/src/game/client/c_te_playerdecal.cpp @@ -1,276 +1,276 @@ -//========= Copyright Valve Corporation, All rights reserved. ============//
-//
-// Purpose:
-//
-// $Workfile: $
-// $Date: $
-// $NoKeywords: $
-//=============================================================================//
-#include "cbase.h"
-#include "c_basetempentity.h"
-#include "iefx.h"
-#include "fx.h"
-#include "decals.h"
-#include "materialsystem/imaterialsystem.h"
-#include "filesystem.h"
-#include "materialsystem/imaterial.h"
-#include "materialsystem/itexture.h"
-#include "materialsystem/imaterialvar.h"
-#include "clienteffectprecachesystem.h"
-#include "tier0/vprof.h"
-
-// memdbgon must be the last include file in a .cpp file!!!
-#include "tier0/memdbgon.h"
-
-static ConVar cl_playerspraydisable( "cl_playerspraydisable", "0", FCVAR_CLIENTDLL | FCVAR_ARCHIVE, "Disable player sprays." );
-
-#ifndef _XBOX
-CLIENTEFFECT_REGISTER_BEGIN( PrecachePlayerDecal )
-CLIENTEFFECT_MATERIAL( "decals/playerlogo01" )
-#if !defined(HL2_DLL) || defined(HL2MP)
-CLIENTEFFECT_MATERIAL( "decals/playerlogo02" )
-CLIENTEFFECT_MATERIAL( "decals/playerlogo03" )
-CLIENTEFFECT_MATERIAL( "decals/playerlogo04" )
-CLIENTEFFECT_MATERIAL( "decals/playerlogo05" )
-CLIENTEFFECT_MATERIAL( "decals/playerlogo06" )
-CLIENTEFFECT_MATERIAL( "decals/playerlogo07" )
-CLIENTEFFECT_MATERIAL( "decals/playerlogo08" )
-CLIENTEFFECT_MATERIAL( "decals/playerlogo09" )
-CLIENTEFFECT_MATERIAL( "decals/playerlogo10" )
-CLIENTEFFECT_MATERIAL( "decals/playerlogo11" )
-CLIENTEFFECT_MATERIAL( "decals/playerlogo12" )
-CLIENTEFFECT_MATERIAL( "decals/playerlogo13" )
-CLIENTEFFECT_MATERIAL( "decals/playerlogo14" )
-CLIENTEFFECT_MATERIAL( "decals/playerlogo15" )
-CLIENTEFFECT_MATERIAL( "decals/playerlogo16" )
-CLIENTEFFECT_MATERIAL( "decals/playerlogo17" )
-CLIENTEFFECT_MATERIAL( "decals/playerlogo18" )
-CLIENTEFFECT_MATERIAL( "decals/playerlogo19" )
-CLIENTEFFECT_MATERIAL( "decals/playerlogo20" )
-CLIENTEFFECT_MATERIAL( "decals/playerlogo21" )
-CLIENTEFFECT_MATERIAL( "decals/playerlogo22" )
-CLIENTEFFECT_MATERIAL( "decals/playerlogo23" )
-CLIENTEFFECT_MATERIAL( "decals/playerlogo24" )
-CLIENTEFFECT_MATERIAL( "decals/playerlogo25" )
-CLIENTEFFECT_MATERIAL( "decals/playerlogo26" )
-CLIENTEFFECT_MATERIAL( "decals/playerlogo27" )
-CLIENTEFFECT_MATERIAL( "decals/playerlogo28" )
-CLIENTEFFECT_MATERIAL( "decals/playerlogo29" )
-CLIENTEFFECT_MATERIAL( "decals/playerlogo30" )
-CLIENTEFFECT_MATERIAL( "decals/playerlogo31" )
-CLIENTEFFECT_MATERIAL( "decals/playerlogo32" )
-CLIENTEFFECT_MATERIAL( "decals/playerlogo33" )
-CLIENTEFFECT_MATERIAL( "decals/playerlogo34" )
-CLIENTEFFECT_MATERIAL( "decals/playerlogo35" )
-CLIENTEFFECT_MATERIAL( "decals/playerlogo36" )
-CLIENTEFFECT_MATERIAL( "decals/playerlogo37" )
-CLIENTEFFECT_MATERIAL( "decals/playerlogo38" )
-CLIENTEFFECT_MATERIAL( "decals/playerlogo39" )
-CLIENTEFFECT_MATERIAL( "decals/playerlogo40" )
-CLIENTEFFECT_MATERIAL( "decals/playerlogo41" )
-CLIENTEFFECT_MATERIAL( "decals/playerlogo42" )
-CLIENTEFFECT_MATERIAL( "decals/playerlogo43" )
-CLIENTEFFECT_MATERIAL( "decals/playerlogo44" )
-CLIENTEFFECT_MATERIAL( "decals/playerlogo45" )
-CLIENTEFFECT_MATERIAL( "decals/playerlogo46" )
-CLIENTEFFECT_MATERIAL( "decals/playerlogo47" )
-CLIENTEFFECT_MATERIAL( "decals/playerlogo48" )
-CLIENTEFFECT_MATERIAL( "decals/playerlogo49" )
-CLIENTEFFECT_MATERIAL( "decals/playerlogo40" )
-CLIENTEFFECT_MATERIAL( "decals/playerlogo41" )
-CLIENTEFFECT_MATERIAL( "decals/playerlogo42" )
-CLIENTEFFECT_MATERIAL( "decals/playerlogo43" )
-CLIENTEFFECT_MATERIAL( "decals/playerlogo44" )
-CLIENTEFFECT_MATERIAL( "decals/playerlogo45" )
-CLIENTEFFECT_MATERIAL( "decals/playerlogo46" )
-CLIENTEFFECT_MATERIAL( "decals/playerlogo47" )
-CLIENTEFFECT_MATERIAL( "decals/playerlogo48" )
-CLIENTEFFECT_MATERIAL( "decals/playerlogo49" )
-CLIENTEFFECT_MATERIAL( "decals/playerlogo50" )
-CLIENTEFFECT_MATERIAL( "decals/playerlogo51" )
-CLIENTEFFECT_MATERIAL( "decals/playerlogo52" )
-CLIENTEFFECT_MATERIAL( "decals/playerlogo53" )
-CLIENTEFFECT_MATERIAL( "decals/playerlogo54" )
-CLIENTEFFECT_MATERIAL( "decals/playerlogo55" )
-CLIENTEFFECT_MATERIAL( "decals/playerlogo56" )
-CLIENTEFFECT_MATERIAL( "decals/playerlogo57" )
-CLIENTEFFECT_MATERIAL( "decals/playerlogo58" )
-CLIENTEFFECT_MATERIAL( "decals/playerlogo59" )
-CLIENTEFFECT_MATERIAL( "decals/playerlogo60" )
-CLIENTEFFECT_MATERIAL( "decals/playerlogo61" )
-CLIENTEFFECT_MATERIAL( "decals/playerlogo62" )
-CLIENTEFFECT_MATERIAL( "decals/playerlogo63" )
-CLIENTEFFECT_MATERIAL( "decals/playerlogo64" )
-#endif
-CLIENTEFFECT_REGISTER_END()
-#endif
-
-//-----------------------------------------------------------------------------
-// Purpose: Player Decal TE
-//-----------------------------------------------------------------------------
-class C_TEPlayerDecal : public C_BaseTempEntity
-{
-public:
- DECLARE_CLASS( C_TEPlayerDecal, C_BaseTempEntity );
- DECLARE_CLIENTCLASS();
-
- C_TEPlayerDecal( void );
- virtual ~C_TEPlayerDecal( void );
-
- virtual void PostDataUpdate( DataUpdateType_t updateType );
-
- virtual void Precache( void );
-
-public:
- int m_nPlayer;
- Vector m_vecOrigin;
- int m_nEntity;
-};
-
-//-----------------------------------------------------------------------------
-// Purpose:
-//-----------------------------------------------------------------------------
-C_TEPlayerDecal::C_TEPlayerDecal( void )
-{
- m_nPlayer = 0;
- m_vecOrigin.Init();
- m_nEntity = 0;
-}
-
-//-----------------------------------------------------------------------------
-// Purpose:
-//-----------------------------------------------------------------------------
-C_TEPlayerDecal::~C_TEPlayerDecal( void )
-{
-}
-
-//-----------------------------------------------------------------------------
-// Purpose:
-//-----------------------------------------------------------------------------
-void C_TEPlayerDecal::Precache( void )
-{
-}
-
-//-----------------------------------------------------------------------------
-// Purpose:
-//-----------------------------------------------------------------------------
-IMaterial *CreateTempMaterialForPlayerLogo( int iPlayerIndex, player_info_t *info, char *texname, int nchars )
-{
- // Doesn't have a logo?
- if ( !info->customFiles[0] )
- return NULL;
-
- IMaterial *logo = materials->FindMaterial( VarArgs("decals/playerlogo%2.2d", iPlayerIndex), TEXTURE_GROUP_DECAL );
- if ( IsErrorMaterial( logo ) )
- return NULL;
-
- char logohex[ 16 ];
- Q_binarytohex( (byte *)&info->customFiles[0], sizeof( info->customFiles[0] ), logohex, sizeof( logohex ) );
-
- // See if logo has been downloaded.
- Q_snprintf( texname, nchars, "temp/%s", logohex );
- char fulltexname[ 512 ];
- Q_snprintf( fulltexname, sizeof( fulltexname ), "materials/temp/%s.vtf", logohex );
-
- if ( !filesystem->FileExists( fulltexname ) )
- {
- char custname[ 512 ];
- Q_snprintf( custname, sizeof( custname ), "download/user_custom/%c%c/%s.dat", logohex[0], logohex[1], logohex );
- // it may have been downloaded but not copied under materials folder
- if ( !filesystem->FileExists( custname ) )
- return NULL; // not downloaded yet
-
- // copy from download folder to materials/temp folder
- // this is done since material system can access only materials/*.vtf files
-
- if ( !engine->CopyLocalFile( custname, fulltexname) )
- return NULL;
- }
-
- return logo;
-}
-
-//-----------------------------------------------------------------------------
-// Purpose:
-// Input : filter -
-// delay -
-// pos -
-// player -
-// entity -
-//-----------------------------------------------------------------------------
-void TE_PlayerDecal( IRecipientFilter& filter, float delay,
- const Vector* pos, int player, int entity )
-{
- if ( cl_playerspraydisable.GetBool() )
- return;
-
- // No valid target?
- C_BaseEntity *ent = cl_entitylist->GetEnt( entity );
- if ( !ent )
- return;
-
- // Find player logo for shooter
- player_info_t info;
- engine->GetPlayerInfo( player, &info );
-
- // Make sure we've got the material for this player's logo
- char texname[ 512 ];
- IMaterial *logo = CreateTempMaterialForPlayerLogo( player, &info, texname, 512 );
- if ( !logo )
- return;
-
- ITexture *texture = materials->FindTexture( texname, TEXTURE_GROUP_DECAL );
- if ( IsErrorTexture( texture ) )
- {
- return; // not found
- }
-
- // Update the texture used by the material if need be.
- bool bFound = false;
- IMaterialVar *pMatVar = logo->FindVar( "$basetexture", &bFound );
- if ( bFound && pMatVar )
- {
- if ( pMatVar->GetTextureValue() != texture )
- {
- pMatVar->SetTextureValue( texture );
- logo->RefreshPreservingMaterialVars();
- }
- }
-
- color32 rgbaColor = { 255, 255, 255, 255 };
- effects->PlayerDecalShoot(
- logo,
- (void *)player,
- entity,
- ent->GetModel(),
- ent->GetAbsOrigin(),
- ent->GetAbsAngles(),
- *pos,
- 0,
- 0,
- rgbaColor );
-}
-
-//-----------------------------------------------------------------------------
-// Purpose:
-// Input : bool -
-//-----------------------------------------------------------------------------
-void C_TEPlayerDecal::PostDataUpdate( DataUpdateType_t updateType )
-{
-#ifndef _XBOX
- VPROF( "C_TEPlayerDecal::PostDataUpdate" );
-
- // Decals disabled?
- if ( !r_decals.GetBool() )
- return;
-
- CLocalPlayerFilter filter;
- TE_PlayerDecal( filter, 0.0f, &m_vecOrigin, m_nPlayer, m_nEntity );
-#endif
-}
-
-IMPLEMENT_CLIENTCLASS_EVENT_DT(C_TEPlayerDecal, DT_TEPlayerDecal, CTEPlayerDecal)
- RecvPropVector( RECVINFO(m_vecOrigin)),
- RecvPropInt( RECVINFO(m_nEntity)),
- RecvPropInt( RECVINFO(m_nPlayer)),
-END_RECV_TABLE()
+//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +// $Workfile: $ +// $Date: $ +// $NoKeywords: $ +//=============================================================================// +#include "cbase.h" +#include "c_basetempentity.h" +#include "iefx.h" +#include "fx.h" +#include "decals.h" +#include "materialsystem/imaterialsystem.h" +#include "filesystem.h" +#include "materialsystem/imaterial.h" +#include "materialsystem/itexture.h" +#include "materialsystem/imaterialvar.h" +#include "clienteffectprecachesystem.h" +#include "tier0/vprof.h" + +// memdbgon must be the last include file in a .cpp file!!! +#include "tier0/memdbgon.h" + +static ConVar cl_playerspraydisable( "cl_playerspraydisable", "0", FCVAR_CLIENTDLL | FCVAR_ARCHIVE, "Disable player sprays." ); + +#ifndef _XBOX +CLIENTEFFECT_REGISTER_BEGIN( PrecachePlayerDecal ) +CLIENTEFFECT_MATERIAL( "decals/playerlogo01" ) +#if !defined(HL2_DLL) || defined(HL2MP) +CLIENTEFFECT_MATERIAL( "decals/playerlogo02" ) +CLIENTEFFECT_MATERIAL( "decals/playerlogo03" ) +CLIENTEFFECT_MATERIAL( "decals/playerlogo04" ) +CLIENTEFFECT_MATERIAL( "decals/playerlogo05" ) +CLIENTEFFECT_MATERIAL( "decals/playerlogo06" ) +CLIENTEFFECT_MATERIAL( "decals/playerlogo07" ) +CLIENTEFFECT_MATERIAL( "decals/playerlogo08" ) +CLIENTEFFECT_MATERIAL( "decals/playerlogo09" ) +CLIENTEFFECT_MATERIAL( "decals/playerlogo10" ) +CLIENTEFFECT_MATERIAL( "decals/playerlogo11" ) +CLIENTEFFECT_MATERIAL( "decals/playerlogo12" ) +CLIENTEFFECT_MATERIAL( "decals/playerlogo13" ) +CLIENTEFFECT_MATERIAL( "decals/playerlogo14" ) +CLIENTEFFECT_MATERIAL( "decals/playerlogo15" ) +CLIENTEFFECT_MATERIAL( "decals/playerlogo16" ) +CLIENTEFFECT_MATERIAL( "decals/playerlogo17" ) +CLIENTEFFECT_MATERIAL( "decals/playerlogo18" ) +CLIENTEFFECT_MATERIAL( "decals/playerlogo19" ) +CLIENTEFFECT_MATERIAL( "decals/playerlogo20" ) +CLIENTEFFECT_MATERIAL( "decals/playerlogo21" ) +CLIENTEFFECT_MATERIAL( "decals/playerlogo22" ) +CLIENTEFFECT_MATERIAL( "decals/playerlogo23" ) +CLIENTEFFECT_MATERIAL( "decals/playerlogo24" ) +CLIENTEFFECT_MATERIAL( "decals/playerlogo25" ) +CLIENTEFFECT_MATERIAL( "decals/playerlogo26" ) +CLIENTEFFECT_MATERIAL( "decals/playerlogo27" ) +CLIENTEFFECT_MATERIAL( "decals/playerlogo28" ) +CLIENTEFFECT_MATERIAL( "decals/playerlogo29" ) +CLIENTEFFECT_MATERIAL( "decals/playerlogo30" ) +CLIENTEFFECT_MATERIAL( "decals/playerlogo31" ) +CLIENTEFFECT_MATERIAL( "decals/playerlogo32" ) +CLIENTEFFECT_MATERIAL( "decals/playerlogo33" ) +CLIENTEFFECT_MATERIAL( "decals/playerlogo34" ) +CLIENTEFFECT_MATERIAL( "decals/playerlogo35" ) +CLIENTEFFECT_MATERIAL( "decals/playerlogo36" ) +CLIENTEFFECT_MATERIAL( "decals/playerlogo37" ) +CLIENTEFFECT_MATERIAL( "decals/playerlogo38" ) +CLIENTEFFECT_MATERIAL( "decals/playerlogo39" ) +CLIENTEFFECT_MATERIAL( "decals/playerlogo40" ) +CLIENTEFFECT_MATERIAL( "decals/playerlogo41" ) +CLIENTEFFECT_MATERIAL( "decals/playerlogo42" ) +CLIENTEFFECT_MATERIAL( "decals/playerlogo43" ) +CLIENTEFFECT_MATERIAL( "decals/playerlogo44" ) +CLIENTEFFECT_MATERIAL( "decals/playerlogo45" ) +CLIENTEFFECT_MATERIAL( "decals/playerlogo46" ) +CLIENTEFFECT_MATERIAL( "decals/playerlogo47" ) +CLIENTEFFECT_MATERIAL( "decals/playerlogo48" ) +CLIENTEFFECT_MATERIAL( "decals/playerlogo49" ) +CLIENTEFFECT_MATERIAL( "decals/playerlogo40" ) +CLIENTEFFECT_MATERIAL( "decals/playerlogo41" ) +CLIENTEFFECT_MATERIAL( "decals/playerlogo42" ) +CLIENTEFFECT_MATERIAL( "decals/playerlogo43" ) +CLIENTEFFECT_MATERIAL( "decals/playerlogo44" ) +CLIENTEFFECT_MATERIAL( "decals/playerlogo45" ) +CLIENTEFFECT_MATERIAL( "decals/playerlogo46" ) +CLIENTEFFECT_MATERIAL( "decals/playerlogo47" ) +CLIENTEFFECT_MATERIAL( "decals/playerlogo48" ) +CLIENTEFFECT_MATERIAL( "decals/playerlogo49" ) +CLIENTEFFECT_MATERIAL( "decals/playerlogo50" ) +CLIENTEFFECT_MATERIAL( "decals/playerlogo51" ) +CLIENTEFFECT_MATERIAL( "decals/playerlogo52" ) +CLIENTEFFECT_MATERIAL( "decals/playerlogo53" ) +CLIENTEFFECT_MATERIAL( "decals/playerlogo54" ) +CLIENTEFFECT_MATERIAL( "decals/playerlogo55" ) +CLIENTEFFECT_MATERIAL( "decals/playerlogo56" ) +CLIENTEFFECT_MATERIAL( "decals/playerlogo57" ) +CLIENTEFFECT_MATERIAL( "decals/playerlogo58" ) +CLIENTEFFECT_MATERIAL( "decals/playerlogo59" ) +CLIENTEFFECT_MATERIAL( "decals/playerlogo60" ) +CLIENTEFFECT_MATERIAL( "decals/playerlogo61" ) +CLIENTEFFECT_MATERIAL( "decals/playerlogo62" ) +CLIENTEFFECT_MATERIAL( "decals/playerlogo63" ) +CLIENTEFFECT_MATERIAL( "decals/playerlogo64" ) +#endif +CLIENTEFFECT_REGISTER_END() +#endif + +//----------------------------------------------------------------------------- +// Purpose: Player Decal TE +//----------------------------------------------------------------------------- +class C_TEPlayerDecal : public C_BaseTempEntity +{ +public: + DECLARE_CLASS( C_TEPlayerDecal, C_BaseTempEntity ); + DECLARE_CLIENTCLASS(); + + C_TEPlayerDecal( void ); + virtual ~C_TEPlayerDecal( void ); + + virtual void PostDataUpdate( DataUpdateType_t updateType ); + + virtual void Precache( void ); + +public: + int m_nPlayer; + Vector m_vecOrigin; + int m_nEntity; +}; + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +C_TEPlayerDecal::C_TEPlayerDecal( void ) +{ + m_nPlayer = 0; + m_vecOrigin.Init(); + m_nEntity = 0; +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +C_TEPlayerDecal::~C_TEPlayerDecal( void ) +{ +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void C_TEPlayerDecal::Precache( void ) +{ +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +IMaterial *CreateTempMaterialForPlayerLogo( int iPlayerIndex, player_info_t *info, char *texname, int nchars ) +{ + // Doesn't have a logo? + if ( !info->customFiles[0] ) + return NULL; + + IMaterial *logo = materials->FindMaterial( VarArgs("decals/playerlogo%2.2d", iPlayerIndex), TEXTURE_GROUP_DECAL ); + if ( IsErrorMaterial( logo ) ) + return NULL; + + char logohex[ 16 ]; + Q_binarytohex( (byte *)&info->customFiles[0], sizeof( info->customFiles[0] ), logohex, sizeof( logohex ) ); + + // See if logo has been downloaded. + Q_snprintf( texname, nchars, "temp/%s", logohex ); + char fulltexname[ 512 ]; + Q_snprintf( fulltexname, sizeof( fulltexname ), "materials/temp/%s.vtf", logohex ); + + if ( !filesystem->FileExists( fulltexname ) ) + { + char custname[ 512 ]; + Q_snprintf( custname, sizeof( custname ), "download/user_custom/%c%c/%s.dat", logohex[0], logohex[1], logohex ); + // it may have been downloaded but not copied under materials folder + if ( !filesystem->FileExists( custname ) ) + return NULL; // not downloaded yet + + // copy from download folder to materials/temp folder + // this is done since material system can access only materials/*.vtf files + + if ( !engine->CopyLocalFile( custname, fulltexname) ) + return NULL; + } + + return logo; +} + +//----------------------------------------------------------------------------- +// Purpose: +// Input : filter - +// delay - +// pos - +// player - +// entity - +//----------------------------------------------------------------------------- +void TE_PlayerDecal( IRecipientFilter& filter, float delay, + const Vector* pos, int player, int entity ) +{ + if ( cl_playerspraydisable.GetBool() ) + return; + + // No valid target? + C_BaseEntity *ent = cl_entitylist->GetEnt( entity ); + if ( !ent ) + return; + + // Find player logo for shooter + player_info_t info; + engine->GetPlayerInfo( player, &info ); + + // Make sure we've got the material for this player's logo + char texname[ 512 ]; + IMaterial *logo = CreateTempMaterialForPlayerLogo( player, &info, texname, 512 ); + if ( !logo ) + return; + + ITexture *texture = materials->FindTexture( texname, TEXTURE_GROUP_DECAL ); + if ( IsErrorTexture( texture ) ) + { + return; // not found + } + + // Update the texture used by the material if need be. + bool bFound = false; + IMaterialVar *pMatVar = logo->FindVar( "$basetexture", &bFound ); + if ( bFound && pMatVar ) + { + if ( pMatVar->GetTextureValue() != texture ) + { + pMatVar->SetTextureValue( texture ); + logo->RefreshPreservingMaterialVars(); + } + } + + color32 rgbaColor = { 255, 255, 255, 255 }; + effects->PlayerDecalShoot( + logo, + (void *)player, + entity, + ent->GetModel(), + ent->GetAbsOrigin(), + ent->GetAbsAngles(), + *pos, + 0, + 0, + rgbaColor ); +} + +//----------------------------------------------------------------------------- +// Purpose: +// Input : bool - +//----------------------------------------------------------------------------- +void C_TEPlayerDecal::PostDataUpdate( DataUpdateType_t updateType ) +{ +#ifndef _XBOX + VPROF( "C_TEPlayerDecal::PostDataUpdate" ); + + // Decals disabled? + if ( !r_decals.GetBool() ) + return; + + CLocalPlayerFilter filter; + TE_PlayerDecal( filter, 0.0f, &m_vecOrigin, m_nPlayer, m_nEntity ); +#endif +} + +IMPLEMENT_CLIENTCLASS_EVENT_DT(C_TEPlayerDecal, DT_TEPlayerDecal, CTEPlayerDecal) + RecvPropVector( RECVINFO(m_vecOrigin)), + RecvPropInt( RECVINFO(m_nEntity)), + RecvPropInt( RECVINFO(m_nPlayer)), +END_RECV_TABLE() |