diff options
| author | FluorescentCIAAfricanAmerican <[email protected]> | 2020-04-22 12:56:21 -0400 |
|---|---|---|
| committer | FluorescentCIAAfricanAmerican <[email protected]> | 2020-04-22 12:56:21 -0400 |
| commit | 3bf9df6b2785fa6d951086978a3e66f49427166a (patch) | |
| tree | 2c0f1f0c63c4832882bc93814ebd2c2b1c6224e5 /game/shared/itempents.h | |
| download | archived-source-engine-2018-hl2-src-master.tar.xz archived-source-engine-2018-hl2-src-master.zip | |
Diffstat (limited to 'game/shared/itempents.h')
| -rw-r--r-- | game/shared/itempents.h | 131 |
1 files changed, 131 insertions, 0 deletions
diff --git a/game/shared/itempents.h b/game/shared/itempents.h new file mode 100644 index 0000000..b5a5ca6 --- /dev/null +++ b/game/shared/itempents.h @@ -0,0 +1,131 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +// $Workfile: $ +// $NoKeywords: $ +//===========================================================================// + +#if !defined( ITEMPENTS_H ) +#define ITEMPENTS_H +#ifdef _WIN32 +#pragma once +#endif + +#include "ipredictionsystem.h" +#include "shattersurfacetypes.h" +#include "irecipientfilter.h" + +class CEffectData; +class KeyValues; + + +//----------------------------------------------------------------------------- +// Purpose: Shared interface to temp entities +//----------------------------------------------------------------------------- +abstract_class ITempEntsSystem : public IPredictionSystem +{ +public: + virtual void ArmorRicochet( IRecipientFilter& filer, float delay, + const Vector* pos, const Vector* dir ) = 0; + virtual void BeamEntPoint( IRecipientFilter& filer, float delay, + int nStartEntity, const Vector *start, int nEndEntity, const Vector* end, + int modelindex, int haloindex, int startframe, int framerate, + float life, float width, float endWidth, int fadeLength, float amplitude, + int r, int g, int b, int a, int speed ) = 0; + virtual void BeamEnts( IRecipientFilter& filer, float delay, + int start, int end, int modelindex, int haloindex, int startframe, int framerate, + float life, float width, float endWidth, int fadeLength, float amplitude, + int r, int g, int b, int a, int speed ) = 0; + virtual void BeamFollow( IRecipientFilter& filter, float delay, + int iEntIndex, int modelIndex, int haloIndex, float life, float width, float endWidth, + float fadeLength, float r, float g, float b, float a ) = 0; + virtual void BeamPoints( IRecipientFilter& filer, float delay, + const Vector* start, const Vector* end, int modelindex, int haloindex, int startframe, int framerate, + float life, float width, float endWidth, int fadeLength, float amplitude, + int r, int g, int b, int a, int speed ) = 0; + virtual void BeamLaser( IRecipientFilter& filer, float delay, + int start, int end, int modelindex, int haloindex, int startframe, int framerate, + float life, float width, float endWidth, int fadeLength, float amplitude, int r, int g, int b, int a, int speed ) = 0; + virtual void BeamRing( IRecipientFilter& filer, float delay, + int start, int end, int modelindex, int haloindex, int startframe, int framerate, + float life, float width, int spread, float amplitude, int r, int g, int b, int a, int speed, int flags = 0 ) = 0; + virtual void BeamRingPoint( IRecipientFilter& filer, float delay, + const Vector& center, float start_radius, float end_radius, int modelindex, int haloindex, int startframe, int framerate, + float life, float width, int spread, float amplitude, int r, int g, int b, int a, int speed, int flags = 0 ) = 0; + virtual void BeamSpline( IRecipientFilter& filer, float delay, + int points, Vector* rgPoints ) = 0; + virtual void BloodStream( IRecipientFilter& filer, float delay, + const Vector* org, const Vector* dir, int r, int g, int b, int a, int amount ) = 0; + virtual void BloodSprite( IRecipientFilter& filer, float delay, + const Vector* org, const Vector *dir, int r, int g, int b, int a, int size ) = 0; + virtual void BreakModel( IRecipientFilter& filer, float delay, + const Vector& pos, const QAngle &angle, const Vector& size, const Vector& vel, + int modelindex, int randomization, int count, float time, int flags ) = 0; + virtual void BSPDecal( IRecipientFilter& filer, float delay, + const Vector* pos, int entity, int index ) = 0; + virtual void ProjectDecal( IRecipientFilter& filter, float delay, + const Vector* pos, const QAngle *angles, float distance, int index ) = 0; + virtual void Bubbles( IRecipientFilter& filer, float delay, + const Vector* mins, const Vector* maxs, float height, int modelindex, int count, float speed ) = 0; + virtual void BubbleTrail( IRecipientFilter& filer, float delay, + const Vector* mins, const Vector* maxs, float height, int modelindex, int count, float speed ) = 0; + virtual void Decal( IRecipientFilter& filer, float delay, + const Vector* pos, const Vector* start, int entity, int hitbox, int index ) = 0; + virtual void DynamicLight( IRecipientFilter& filer, float delay, + const Vector* org, int r, int g, int b, int exponent, float radius, float time, float decay ) = 0; + virtual void Explosion( IRecipientFilter& filer, float delay, + const Vector* pos, int modelindex, float scale, int framerate, int flags, int radius, int magnitude, const Vector* normal = NULL, unsigned char materialType = 'C' ) = 0; + virtual void ShatterSurface( IRecipientFilter& filer, float delay, + const Vector* pos, const QAngle* angle, const Vector* vForce, const Vector* vForcePos, + float width, float height, float shardsize, ShatterSurface_t surfacetype, + int front_r, int front_g, int front_b, int back_r, int back_g, int back_b) = 0; + virtual void GlowSprite( IRecipientFilter& filer, float delay, + const Vector* pos, int modelindex, float life, float size, int brightness ) = 0; + virtual void FootprintDecal( IRecipientFilter& filer, float delay, const Vector *origin, const Vector* right, + int entity, int index, unsigned char materialType ) = 0; + virtual void Fizz( IRecipientFilter& filer, float delay, + const CBaseEntity *ed, int modelindex, int density, int current ) = 0; + virtual void KillPlayerAttachments( IRecipientFilter& filer, float delay, + int player ) = 0; + virtual void LargeFunnel( IRecipientFilter& filer, float delay, + const Vector* pos, int modelindex, int reversed ) = 0; + virtual void MetalSparks( IRecipientFilter& filer, float delay, + const Vector* pos, const Vector* dir ) = 0; + virtual void EnergySplash( IRecipientFilter& filer, float delay, + const Vector* pos, const Vector* dir, bool bExplosive ) = 0; + virtual void PlayerDecal( IRecipientFilter& filer, float delay, + const Vector* pos, int player, int entity ) = 0; + virtual void ShowLine( IRecipientFilter& filer, float delay, + const Vector* start, const Vector* end ) = 0; + virtual void Smoke( IRecipientFilter& filer, float delay, + const Vector* pos, int modelindex, float scale, int framerate ) = 0; + virtual void Sparks( IRecipientFilter& filer, float delay, + const Vector* pos, int nMagnitude, int nTrailLength, const Vector *pDir ) = 0; + virtual void Sprite( IRecipientFilter& filer, float delay, + const Vector* pos, int modelindex, float size, int brightness ) = 0; + virtual void SpriteSpray( IRecipientFilter& filer, float delay, + const Vector* pos, const Vector* dir, int modelindex, int speed, float noise, int count ) = 0; + virtual void WorldDecal( IRecipientFilter& filer, float delay, + const Vector* pos, int index ) = 0; + virtual void MuzzleFlash( IRecipientFilter& filer, float delay, + const Vector &start, const QAngle &angles, float scale, int type ) = 0; + virtual void Dust( IRecipientFilter& filer, float delay, + const Vector &pos, const Vector &dir, float size, float speed ) = 0; + virtual void GaussExplosion( IRecipientFilter& filer, float delay, + const Vector &pos, const Vector &dir, int type ) = 0; + virtual void DispatchEffect( IRecipientFilter& filter, float delay, + const Vector &pos, const char *pName, const CEffectData &data ) = 0; + virtual void PhysicsProp( IRecipientFilter& filter, float delay, int modelindex, int skin, + const Vector& pos, const QAngle &angles, const Vector& vel, int flags, int effects ) = 0; + + // For playback from external tools + virtual void TriggerTempEntity( KeyValues *pKeyValues ) = 0; + + virtual void ClientProjectile( IRecipientFilter& filter, float delay, + const Vector* vecOrigin, const Vector* vecVelocity, int modelindex, int lifetime, CBaseEntity *pOwner ) = 0; +}; + +extern ITempEntsSystem *te; + +#endif // ITEMPENTS_H |