From f56bb35301836e56582a575a75864392a0177875 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B8rgen=20P=2E=20Tjern=C3=B8?= Date: Mon, 2 Dec 2013 19:31:46 -0800 Subject: Fix line endings. WHAMMY. --- mp/src/game/server/EffectsServer.cpp | 396 +++++++++++++++++------------------ 1 file changed, 198 insertions(+), 198 deletions(-) (limited to 'mp/src/game/server/EffectsServer.cpp') diff --git a/mp/src/game/server/EffectsServer.cpp b/mp/src/game/server/EffectsServer.cpp index e5f47eb4..7f0dd0f3 100644 --- a/mp/src/game/server/EffectsServer.cpp +++ b/mp/src/game/server/EffectsServer.cpp @@ -1,198 +1,198 @@ -//========= Copyright Valve Corporation, All rights reserved. ============// -// -// Purpose: Utility code. -// -// $NoKeywords: $ -//=============================================================================// - -#include "cbase.h" -#include "te.h" -#include "shake.h" -#include "decals.h" -#include "IEffects.h" - -// memdbgon must be the last include file in a .cpp file!!! -#include "tier0/memdbgon.h" - -extern short g_sModelIndexSmoke; // (in combatweapon.cpp) holds the index for the smoke cloud -extern short g_sModelIndexBloodDrop; // (in combatweapon.cpp) holds the sprite index for the initial blood -extern short g_sModelIndexBloodSpray; // (in combatweapon.cpp) holds the sprite index for splattered blood - - -//----------------------------------------------------------------------------- -// Client-server neutral effects interface -//----------------------------------------------------------------------------- -class CEffectsServer : public IEffects -{ -public: - CEffectsServer(); - virtual ~CEffectsServer(); - - // Members of the IEffect interface - virtual void Beam( const Vector &Start, const Vector &End, int nModelIndex, - int nHaloIndex, unsigned char frameStart, unsigned char frameRate, - float flLife, unsigned char width, unsigned char endWidth, unsigned char fadeLength, - unsigned char noise, unsigned char red, unsigned char green, - unsigned char blue, unsigned char brightness, unsigned char speed); - virtual void Smoke( const Vector &origin, int mModel, float flScale, float flFramerate ); - virtual void Sparks( const Vector &position, int nMagnitude = 1, int nTrailLength = 1, const Vector *pvecDir = NULL ); - virtual void Dust( const Vector &pos, const Vector &dir, float size, float speed ); - virtual void MuzzleFlash( const Vector &origin, const QAngle &angles, float scale, int type ); - virtual void MetalSparks( const Vector &position, const Vector &direction ); - virtual void EnergySplash( const Vector &position, const Vector &direction, bool bExplosive = false ); - virtual void Ricochet( const Vector &position, const Vector &direction ); - - // FIXME: Should these methods remain in this interface? Or go in some - // other client-server neutral interface? - virtual float Time(); - virtual bool IsServer(); - virtual void SuppressEffectsSounds( bool bSuppress ) { Assert(0); } - -private: - //----------------------------------------------------------------------------- - // Purpose: Returning true means don't even call TE func - // Input : filter - - // *suppress_host - - // Output : static bool - //----------------------------------------------------------------------------- - bool SuppressTE( CRecipientFilter& filter ) - { - if ( GetSuppressHost() ) - { - if ( !filter.IgnorePredictionCull() ) - { - filter.RemoveRecipient( (CBasePlayer *)GetSuppressHost() ); - } - - if ( !filter.GetRecipientCount() ) - { - // Suppress it - return true; - } - } - - // There's at least one recipient - return false; - } -}; - - -//----------------------------------------------------------------------------- -// Client-server neutral effects interface accessor -//----------------------------------------------------------------------------- -static CEffectsServer s_EffectServer; -EXPOSE_SINGLE_INTERFACE_GLOBALVAR(CEffectsServer, IEffects, IEFFECTS_INTERFACE_VERSION, s_EffectServer); -IEffects *g_pEffects = &s_EffectServer; - - -//----------------------------------------------------------------------------- -// constructor, destructor -//----------------------------------------------------------------------------- -CEffectsServer::CEffectsServer() -{ -} - -CEffectsServer::~CEffectsServer() -{ -} - - -//----------------------------------------------------------------------------- -// Generates a beam -//----------------------------------------------------------------------------- -void CEffectsServer::Beam( const Vector &vecStart, const Vector &vecEnd, int nModelIndex, - int nHaloIndex, unsigned char frameStart, unsigned char frameRate, - float flLife, unsigned char width, unsigned char endWidth, unsigned char fadeLength, - unsigned char noise, unsigned char red, unsigned char green, - unsigned char blue, unsigned char brightness, unsigned char speed) -{ - CBroadcastRecipientFilter filter; - if ( !SuppressTE( filter ) ) - { - te->BeamPoints( filter, 0.0, - &vecStart, &vecEnd, nModelIndex, nHaloIndex, frameStart, frameRate, flLife, - width, endWidth, fadeLength, noise, red, green, blue, brightness, speed ); - } -} - - -//----------------------------------------------------------------------------- -// Generates various tempent effects -//----------------------------------------------------------------------------- -void CEffectsServer::Smoke( const Vector &origin, int mModel, float flScale, float flFramerate ) -{ - CPVSFilter filter( origin ); - if ( !SuppressTE( filter ) ) - { - te->Smoke( filter, 0.0, &origin, mModel, flScale * 0.1f, flFramerate ); - } -} - -void CEffectsServer::Sparks( const Vector &position, int nMagnitude, int nTrailLength, const Vector *pvecDir ) -{ - CPVSFilter filter( position ); - if ( !SuppressTE( filter ) ) - { - te->Sparks( filter, 0.0, &position, nMagnitude, nTrailLength, pvecDir ); - } -} - -void CEffectsServer::Dust( const Vector &pos, const Vector &dir, float size, float speed ) -{ - CPVSFilter filter( pos ); - if ( !SuppressTE( filter ) ) - { - te->Dust( filter, 0.0, pos, dir, size, speed ); - } -} - -void CEffectsServer::MuzzleFlash( const Vector &origin, const QAngle &angles, float scale, int type ) -{ - CPVSFilter filter( origin ); - if ( !SuppressTE( filter ) ) - { - te->MuzzleFlash( filter, 0.0f, origin, angles, scale, type ); - } -} - -void CEffectsServer::MetalSparks( const Vector &position, const Vector &direction ) -{ - CPVSFilter filter( position ); - if ( !SuppressTE( filter ) ) - { - te->MetalSparks( filter, 0.0, &position, &direction ); - } -} - -void CEffectsServer::EnergySplash( const Vector &position, const Vector &direction, bool bExplosive ) -{ - CPVSFilter filter( position ); - if ( !SuppressTE( filter ) ) - { - te->EnergySplash( filter, 0.0, &position, &direction, bExplosive ); - } -} - -void CEffectsServer::Ricochet( const Vector &position, const Vector &direction ) -{ - CPVSFilter filter( position ); - if ( !SuppressTE( filter ) ) - { - te->ArmorRicochet( filter, 0.0, &position, &direction ); - } -} - - -//----------------------------------------------------------------------------- -// FIXME: Should these methods remain in this interface? Or go in some -// other client-server neutral interface? -//----------------------------------------------------------------------------- -float CEffectsServer::Time() -{ - return gpGlobals->curtime; -} - -bool CEffectsServer::IsServer() -{ - return true; -} +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: Utility code. +// +// $NoKeywords: $ +//=============================================================================// + +#include "cbase.h" +#include "te.h" +#include "shake.h" +#include "decals.h" +#include "IEffects.h" + +// memdbgon must be the last include file in a .cpp file!!! +#include "tier0/memdbgon.h" + +extern short g_sModelIndexSmoke; // (in combatweapon.cpp) holds the index for the smoke cloud +extern short g_sModelIndexBloodDrop; // (in combatweapon.cpp) holds the sprite index for the initial blood +extern short g_sModelIndexBloodSpray; // (in combatweapon.cpp) holds the sprite index for splattered blood + + +//----------------------------------------------------------------------------- +// Client-server neutral effects interface +//----------------------------------------------------------------------------- +class CEffectsServer : public IEffects +{ +public: + CEffectsServer(); + virtual ~CEffectsServer(); + + // Members of the IEffect interface + virtual void Beam( const Vector &Start, const Vector &End, int nModelIndex, + int nHaloIndex, unsigned char frameStart, unsigned char frameRate, + float flLife, unsigned char width, unsigned char endWidth, unsigned char fadeLength, + unsigned char noise, unsigned char red, unsigned char green, + unsigned char blue, unsigned char brightness, unsigned char speed); + virtual void Smoke( const Vector &origin, int mModel, float flScale, float flFramerate ); + virtual void Sparks( const Vector &position, int nMagnitude = 1, int nTrailLength = 1, const Vector *pvecDir = NULL ); + virtual void Dust( const Vector &pos, const Vector &dir, float size, float speed ); + virtual void MuzzleFlash( const Vector &origin, const QAngle &angles, float scale, int type ); + virtual void MetalSparks( const Vector &position, const Vector &direction ); + virtual void EnergySplash( const Vector &position, const Vector &direction, bool bExplosive = false ); + virtual void Ricochet( const Vector &position, const Vector &direction ); + + // FIXME: Should these methods remain in this interface? Or go in some + // other client-server neutral interface? + virtual float Time(); + virtual bool IsServer(); + virtual void SuppressEffectsSounds( bool bSuppress ) { Assert(0); } + +private: + //----------------------------------------------------------------------------- + // Purpose: Returning true means don't even call TE func + // Input : filter - + // *suppress_host - + // Output : static bool + //----------------------------------------------------------------------------- + bool SuppressTE( CRecipientFilter& filter ) + { + if ( GetSuppressHost() ) + { + if ( !filter.IgnorePredictionCull() ) + { + filter.RemoveRecipient( (CBasePlayer *)GetSuppressHost() ); + } + + if ( !filter.GetRecipientCount() ) + { + // Suppress it + return true; + } + } + + // There's at least one recipient + return false; + } +}; + + +//----------------------------------------------------------------------------- +// Client-server neutral effects interface accessor +//----------------------------------------------------------------------------- +static CEffectsServer s_EffectServer; +EXPOSE_SINGLE_INTERFACE_GLOBALVAR(CEffectsServer, IEffects, IEFFECTS_INTERFACE_VERSION, s_EffectServer); +IEffects *g_pEffects = &s_EffectServer; + + +//----------------------------------------------------------------------------- +// constructor, destructor +//----------------------------------------------------------------------------- +CEffectsServer::CEffectsServer() +{ +} + +CEffectsServer::~CEffectsServer() +{ +} + + +//----------------------------------------------------------------------------- +// Generates a beam +//----------------------------------------------------------------------------- +void CEffectsServer::Beam( const Vector &vecStart, const Vector &vecEnd, int nModelIndex, + int nHaloIndex, unsigned char frameStart, unsigned char frameRate, + float flLife, unsigned char width, unsigned char endWidth, unsigned char fadeLength, + unsigned char noise, unsigned char red, unsigned char green, + unsigned char blue, unsigned char brightness, unsigned char speed) +{ + CBroadcastRecipientFilter filter; + if ( !SuppressTE( filter ) ) + { + te->BeamPoints( filter, 0.0, + &vecStart, &vecEnd, nModelIndex, nHaloIndex, frameStart, frameRate, flLife, + width, endWidth, fadeLength, noise, red, green, blue, brightness, speed ); + } +} + + +//----------------------------------------------------------------------------- +// Generates various tempent effects +//----------------------------------------------------------------------------- +void CEffectsServer::Smoke( const Vector &origin, int mModel, float flScale, float flFramerate ) +{ + CPVSFilter filter( origin ); + if ( !SuppressTE( filter ) ) + { + te->Smoke( filter, 0.0, &origin, mModel, flScale * 0.1f, flFramerate ); + } +} + +void CEffectsServer::Sparks( const Vector &position, int nMagnitude, int nTrailLength, const Vector *pvecDir ) +{ + CPVSFilter filter( position ); + if ( !SuppressTE( filter ) ) + { + te->Sparks( filter, 0.0, &position, nMagnitude, nTrailLength, pvecDir ); + } +} + +void CEffectsServer::Dust( const Vector &pos, const Vector &dir, float size, float speed ) +{ + CPVSFilter filter( pos ); + if ( !SuppressTE( filter ) ) + { + te->Dust( filter, 0.0, pos, dir, size, speed ); + } +} + +void CEffectsServer::MuzzleFlash( const Vector &origin, const QAngle &angles, float scale, int type ) +{ + CPVSFilter filter( origin ); + if ( !SuppressTE( filter ) ) + { + te->MuzzleFlash( filter, 0.0f, origin, angles, scale, type ); + } +} + +void CEffectsServer::MetalSparks( const Vector &position, const Vector &direction ) +{ + CPVSFilter filter( position ); + if ( !SuppressTE( filter ) ) + { + te->MetalSparks( filter, 0.0, &position, &direction ); + } +} + +void CEffectsServer::EnergySplash( const Vector &position, const Vector &direction, bool bExplosive ) +{ + CPVSFilter filter( position ); + if ( !SuppressTE( filter ) ) + { + te->EnergySplash( filter, 0.0, &position, &direction, bExplosive ); + } +} + +void CEffectsServer::Ricochet( const Vector &position, const Vector &direction ) +{ + CPVSFilter filter( position ); + if ( !SuppressTE( filter ) ) + { + te->ArmorRicochet( filter, 0.0, &position, &direction ); + } +} + + +//----------------------------------------------------------------------------- +// FIXME: Should these methods remain in this interface? Or go in some +// other client-server neutral interface? +//----------------------------------------------------------------------------- +float CEffectsServer::Time() +{ + return gpGlobals->curtime; +} + +bool CEffectsServer::IsServer() +{ + return true; +} -- cgit v1.2.3