Modified source engine (2017) developed by valve and leaked in 2020. Not for commercial purporses
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.

46 lines
2.7 KiB

5 years ago
//========= 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