diff options
Diffstat (limited to 'game/server/tf/tf_fx.h')
| -rw-r--r-- | game/server/tf/tf_fx.h | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/game/server/tf/tf_fx.h b/game/server/tf/tf_fx.h new file mode 100644 index 0000000..d5283c9 --- /dev/null +++ b/game/server/tf/tf_fx.h @@ -0,0 +1,46 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// +// +//============================================================================= + +#ifndef TF_FX_H +#define TF_FX_H +#ifdef _WIN32 +#pragma once +#endif + +#include "particle_parse.h" +#include "networkstringtabledefs.h" +void TE_FireBullets( int iPlayerIndex, const Vector &vOrigin, const QAngle &vAngles, int iWeaponID, int iMode, int iSeed, float flSpread, bool bCritical ); + +// Historically -1 was used for an nEntIndex when we wanted the client to reconstruct +// INVALID_EHANDLE_INDEX, however that forced us to transmit nEntIndex as signed which +// meant that half of the edict values triggered asserts and did not transmit correctly. +// Now we use 2047 as the magic value. This results in the same bit patterns being +// transmitted, but no asserts, and it makes it more explicit that we have stolen one +// of the valid nEntIndex values for a special purpose. +const int kInvalidEHandleExplosion = MAX_EDICTS - 1; +const int kInvalidEHandleParticleEffect = MAX_EDICTS - 1; +void TE_TFExplosion( IRecipientFilter &filter, float flDelay, const Vector &vecOrigin, const Vector &vecNormal, int iWeaponID, int nEntIndex, int nDefID = -1, int nSound = SPECIAL1, int iCustomParticle = INVALID_STRING_INDEX ); +void TE_TFParticleEffect( IRecipientFilter &filter, float flDelay, const char *pszParticleName, ParticleAttachment_t iAttachType, CBaseEntity *pEntity, const char *pszAttachmentName, bool bResetAllParticlesOnEntity = false ); +void TE_TFParticleEffect( IRecipientFilter &filter, float flDelay, const char *pszParticleName, ParticleAttachment_t iAttachType, CBaseEntity *pEntity = NULL, int iAttachmentPoint = -1, bool bResetAllParticlesOnEntity = false ); +void TE_TFParticleEffect( IRecipientFilter &filter, float flDelay, const char *pszParticleName, Vector vecOrigin, QAngle vecAngles, CBaseEntity *pEntity = NULL, ParticleAttachment_t iAttachType = PATTACH_CUSTOMORIGIN ); +void TE_TFParticleEffect( IRecipientFilter &filter, float flDelay, const char *pszParticleName, Vector vecOrigin, Vector vecStart, QAngle vecAngles, CBaseEntity *pEntity = NULL ); +void TE_TFParticleEffect( IRecipientFilter &filter, float flDelay, int iEffectIndex, Vector vecOrigin, Vector vecStart, QAngle vecAngles, CBaseEntity *pEntity = NULL ); + +void TE_TFParticleEffectComplex +( + IRecipientFilter &filter, + float flDelay, + const char *pszParticleName, + Vector vecOrigin, + QAngle vecAngles, + te_tf_particle_effects_colors_t *pOptionalColors = NULL, + te_tf_particle_effects_control_point_t *pOptionalControlPoint1 = NULL, + CBaseEntity *pEntity = NULL, + ParticleAttachment_t eAttachType = PATTACH_CUSTOMORIGIN, + Vector vecStart = vec3_origin +); + +#endif // TF_FX_H
\ No newline at end of file |