You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
131 lines
7.5 KiB
131 lines
7.5 KiB
//========= 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
|
|
|