summaryrefslogtreecommitdiff
path: root/game/server/tf/tf_fx.h
diff options
context:
space:
mode:
Diffstat (limited to 'game/server/tf/tf_fx.h')
-rw-r--r--game/server/tf/tf_fx.h46
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