Team Fortress 2 Source Code as on 22/4/2020
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.

45 lines
2.7 KiB

  1. //========= Copyright Valve Corporation, All rights reserved. ============//
  2. //
  3. //
  4. //
  5. //=============================================================================
  6. #ifndef TF_FX_H
  7. #define TF_FX_H
  8. #ifdef _WIN32
  9. #pragma once
  10. #endif
  11. #include "particle_parse.h"
  12. #include "networkstringtabledefs.h"
  13. void TE_FireBullets( int iPlayerIndex, const Vector &vOrigin, const QAngle &vAngles, int iWeaponID, int iMode, int iSeed, float flSpread, bool bCritical );
  14. // Historically -1 was used for an nEntIndex when we wanted the client to reconstruct
  15. // INVALID_EHANDLE_INDEX, however that forced us to transmit nEntIndex as signed which
  16. // meant that half of the edict values triggered asserts and did not transmit correctly.
  17. // Now we use 2047 as the magic value. This results in the same bit patterns being
  18. // transmitted, but no asserts, and it makes it more explicit that we have stolen one
  19. // of the valid nEntIndex values for a special purpose.
  20. const int kInvalidEHandleExplosion = MAX_EDICTS - 1;
  21. const int kInvalidEHandleParticleEffect = MAX_EDICTS - 1;
  22. 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 );
  23. void TE_TFParticleEffect( IRecipientFilter &filter, float flDelay, const char *pszParticleName, ParticleAttachment_t iAttachType, CBaseEntity *pEntity, const char *pszAttachmentName, bool bResetAllParticlesOnEntity = false );
  24. void TE_TFParticleEffect( IRecipientFilter &filter, float flDelay, const char *pszParticleName, ParticleAttachment_t iAttachType, CBaseEntity *pEntity = NULL, int iAttachmentPoint = -1, bool bResetAllParticlesOnEntity = false );
  25. void TE_TFParticleEffect( IRecipientFilter &filter, float flDelay, const char *pszParticleName, Vector vecOrigin, QAngle vecAngles, CBaseEntity *pEntity = NULL, ParticleAttachment_t iAttachType = PATTACH_CUSTOMORIGIN );
  26. void TE_TFParticleEffect( IRecipientFilter &filter, float flDelay, const char *pszParticleName, Vector vecOrigin, Vector vecStart, QAngle vecAngles, CBaseEntity *pEntity = NULL );
  27. void TE_TFParticleEffect( IRecipientFilter &filter, float flDelay, int iEffectIndex, Vector vecOrigin, Vector vecStart, QAngle vecAngles, CBaseEntity *pEntity = NULL );
  28. void TE_TFParticleEffectComplex
  29. (
  30. IRecipientFilter &filter,
  31. float flDelay,
  32. const char *pszParticleName,
  33. Vector vecOrigin,
  34. QAngle vecAngles,
  35. te_tf_particle_effects_colors_t *pOptionalColors = NULL,
  36. te_tf_particle_effects_control_point_t *pOptionalControlPoint1 = NULL,
  37. CBaseEntity *pEntity = NULL,
  38. ParticleAttachment_t eAttachType = PATTACH_CUSTOMORIGIN,
  39. Vector vecStart = vec3_origin
  40. );
  41. #endif // TF_FX_H