FTEQW
Documentation of the FTE engine source tree.
cl_tent.c File Reference

Typedefs

typedef struct tentmodels_s tentmodels_t
 
typedef struct associatedeffect_s associatedeffect_t
 
typedef struct custtentinst_s custtentinst_t
 

Enumerations

enum  {
  q2cl_mod_explode , q2cl_mod_smoke , q2cl_mod_flash , q2cl_mod_parasite_tip ,
  q2cl_mod_explo4 , q2cl_mod_bfg_explo , q2cl_mod_powerscreen , q2cl_mod_max
}
 

Functions

entity_state_tCL_FindPacketEntity (int num)
 
void CL_AssociateEffect_f (void)
 
void CL_InitTEntSounds (void)
 
void CL_InitTEnts (void)
 
void CL_ShutdownTEnts (void)
 
void CL_ClearTEntParticleState (void)
 
void P_LoadedModel (model_t *mod)
 
void CL_RefreshCustomTEnts (void)
 
void CL_RegisterParticles (void)
 
int CLQ2_RegisterTEntModels (void)
 
void CL_ClearTEnts (void)
 
explosion_t * CL_AllocExplosion (vec3_t org)
 
beam_tCL_NewBeam (int entity, int tag, tentmodels_t *btype)
 
beam_tCL_AddBeam (enum beamtype_e tent, int ent, vec3_t start, vec3_t end)
 
void CL_ParseBeamOffset (enum beamtype_e tent)
 
beam_tCL_ParseBeam (enum beamtype_e tent)
 
float * CL_FindLatestEntityOrigin (int entnum)
 
void CL_ParseStream (int type)
 
void CL_ParseTEnt (qboolean nqprot) void CL_ParseTEnt(void)
 
void CL_ParseTEnt_Sized (void)
 
void MSG_ReadPos (vec3_t pos)
 
void MSG_ReadDir (vec3_t dir)
 
void CL_SpawnCustomTEnt (custtentinst_t *info)
 
void CL_RunPCustomTEnts (void)
 
qboolean CL_WriteCustomTEnt (sizebuf_t *buf, int id)
 
void CL_ParseCustomTEnt (void)
 
void CL_ClearCustomTEnts (void)
 
int CL_TranslateParticleFromServer (int qceffect)
 
void CL_ParseTrailParticles (void)
 
void CL_ParsePointParticles (qboolean compact)
 
void CLNQ_ParseParticleEffect (void)
 
void CL_ParseParticleEffect2 (void)
 
void CL_ParseParticleEffect3 (void)
 
void CL_ParseParticleEffect4 (void)
 
void CL_SpawnSpriteEffect (vec3_t org, vec3_t dir, vec3_t orientationup, model_t *model, int startframe, int framecount, float framerate, float alpha, float scale, float randspin, float gravity, int traileffect, unsigned int renderflags, int skinnum)
 
void CL_ParseEffect (qboolean effect2)
 
void CL_SmokeAndFlash (vec3_t origin)
 
void CL_Laser (vec3_t start, vec3_t end, int colors)
 
void CLQ2_ParseSteam (void)
 
void CLQ2_ParseTEnt (void)
 
entity_tCL_NewTempEntity (void)
 
qboolean CSQC_GetEntityOrigin (unsigned int csqcent, float *out)
 
void CL_UpdateBeams (float frametime)
 
void CL_UpdateExplosions (float frametime)
 
void CL_UpdateTEnts (void)
 

Variables

int pt_q2 [sizeof(q2efnames)/sizeof(q2efnames[0])]
 
int pt_muzzleflash =P_INVALID
 
int pt_gunshot =P_INVALID
 
int ptdp_gunshotquad =P_INVALID
 
int pt_spike =P_INVALID
 
int ptdp_spikequad =P_INVALID
 
int pt_superspike =P_INVALID
 
int ptdp_superspikequad =P_INVALID
 
int pt_wizspike =P_INVALID
 
int pt_knightspike =P_INVALID
 
int pt_explosion =P_INVALID
 
int ptdp_explosionquad =P_INVALID
 
int pt_tarexplosion =P_INVALID
 
int pt_teleportsplash =P_INVALID
 
int pt_lavasplash =P_INVALID
 
int ptdp_smallflash =P_INVALID
 
int ptdp_flamejet =P_INVALID
 
int ptdp_flame =P_INVALID
 
int ptdp_blood =P_INVALID
 
int ptdp_spark =P_INVALID
 
int ptdp_plasmaburn =P_INVALID
 
int ptdp_tei_g3 =P_INVALID
 
int ptdp_tei_smoke =P_INVALID
 
int ptdp_tei_bigexplosion =P_INVALID
 
int ptdp_tei_plasmahit =P_INVALID
 
int ptdp_stardust =P_INVALID
 
int rt_rocket =P_INVALID
 
int rt_grenade =P_INVALID
 
int rt_blood =P_INVALID
 
int rt_wizspike =P_INVALID
 
int rt_slightblood =P_INVALID
 
int rt_knightspike =P_INVALID
 
int rt_vorespike =P_INVALID
 
int rtdp_nexuizplasma =P_INVALID
 
int rtdp_glowtrail =P_INVALID
 
int ptqw_gunshot =P_INVALID
 
int ptqw_blood =P_INVALID
 
int ptqw_lightningblood =P_INVALID
 
int rtqw_railtrail =P_INVALID
 
int ptfte_bullet =P_INVALID
 
int ptfte_superbullet =P_INVALID
 
beam_tcl_beams
 
int cl_beams_max
 
sfx_tcl_sfx_knighthit
 
sfx_tcl_sfx_r_exp3
 
cvar_t cl_expsprite = CVARFD("cl_expsprite", "1", CVAR_ARCHIVE, "Display a central sprite in explosion effects. QuakeWorld typically does so, NQ mods should not (which is problematic when played with the qw protocol).")
 
cvar_t r_explosionlight = CVARFC("r_explosionlight", "1", CVAR_ARCHIVE, Cvar_Limiter_ZeroToOne_Callback)
 
cvar_t r_dimlight_colour = CVARFD("r_dimlight_colour", "2.0 1.0 0.5 200", CVAR_ARCHIVE, "The red, green, blue, radius values for EF_DIMLIGHT effects (used for quad+pent in vanilla quake).")
 
cvar_t r_brightlight_colour = CVARFD("r_brightlight_colour", "2.0 1.0 0.5 400", CVAR_ARCHIVE, "The red, green, blue, radius values for EF_BRIGHTLIGHT effects (unused in vanilla quake).")
 
cvar_t r_redlight_colour = CVARFD("r_redlight_colour", "3.0 0.5 0.5 200", CVAR_ARCHIVE, "The red, green, blue, radius values for EF_RED effects (typically used for pentagram in quakeworld).")
 
cvar_t r_greenlight_colour = CVARFD("r_greenlight_colour", "0.5 3.0 0.5 200", CVAR_ARCHIVE, "The red, green, blue, radius values for EF_GREEN effects (rarely used).")
 
cvar_t r_bluelight_colour = CVARFD("r_bluelight_colour", "0.5 0.5 3.0 200", CVAR_ARCHIVE, "The red, green, blue, radius values for EF_BLUE effects (typically used for quad-damage in quakeworld)")
 
cvar_t r_rocketlight_colour = CVARFD("r_rocketlight_colour", "2.0 1.0 0.25 200", CVAR_ARCHIVE, "This controls the RGB+radius values of MF_ROCKET effects.")
 
cvar_t r_muzzleflash_colour = CVARFD("r_muzzleflash_colour", "1.5 1.3 1.0 200", CVAR_ARCHIVE, "This controls the initial RGB+radius of EF_MUZZLEFLASH/svc_muzzleflash effects.")
 
cvar_t r_muzzleflash_fade = CVARFD("r_muzzleflash_fade", "1.5 0.75 0.375 1000", CVAR_ARCHIVE, "This controls the per-second RGB+radius decay of EF_MUZZLEFLASH/svc_muzzleflash effects.")
 
cvar_t cl_truelightning = CVARF("cl_truelightning", "0", CVAR_SEMICHEAT)
 
tentsfx_t tentsfx []
 
vec3_t playerbeam_end [MAX_SPLITS]
 
associatedeffect_tassociatedeffect
 
char part_parsenamespace [MAX_QPATH]
 
tentmodels_t q2tentmodels [q2cl_mod_max]
 
custtentinst_tactivepcusttents
 
clcustomtents_t customtenttype [255]
 

Typedef Documentation

◆ associatedeffect_t

typedef struct associatedeffect_s associatedeffect_t

◆ custtentinst_t

typedef struct custtentinst_s custtentinst_t

◆ tentmodels_t

typedef struct tentmodels_s tentmodels_t

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
q2cl_mod_explode 
q2cl_mod_smoke 
q2cl_mod_flash 
q2cl_mod_parasite_tip 
q2cl_mod_explo4 
q2cl_mod_bfg_explo 
q2cl_mod_powerscreen 
q2cl_mod_max 

Function Documentation

◆ CL_AddBeam()

beam_t * CL_AddBeam ( enum beamtype_e  tent,
int  ent,
vec3_t  start,
vec3_t  end 
)

◆ CL_AllocExplosion()

explosion_t * CL_AllocExplosion ( vec3_t  org)

◆ CL_AssociateEffect_f()

void CL_AssociateEffect_f ( void  )

◆ CL_ClearCustomTEnts()

void CL_ClearCustomTEnts ( void  )

◆ CL_ClearTEntParticleState()

void CL_ClearTEntParticleState ( void  )

◆ CL_ClearTEnts()

void CL_ClearTEnts ( void  )

◆ CL_FindLatestEntityOrigin()

float * CL_FindLatestEntityOrigin ( int  entnum)

◆ CL_FindPacketEntity()

entity_state_t * CL_FindPacketEntity ( int  num)

◆ CL_InitTEnts()

void CL_InitTEnts ( void  )

◆ CL_InitTEntSounds()

void CL_InitTEntSounds ( void  )

◆ CL_Laser()

void CL_Laser ( vec3_t  start,
vec3_t  end,
int  colors 
)

◆ CL_NewBeam()

beam_t * CL_NewBeam ( int  entity,
int  tag,
tentmodels_t btype 
)

◆ CL_NewTempEntity()

entity_t * CL_NewTempEntity ( void  )

◆ CL_ParseBeam()

beam_t * CL_ParseBeam ( enum beamtype_e  tent)

◆ CL_ParseBeamOffset()

void CL_ParseBeamOffset ( enum beamtype_e  tent)

◆ CL_ParseCustomTEnt()

void CL_ParseCustomTEnt ( void  )

◆ CL_ParseEffect()

void CL_ParseEffect ( qboolean  effect2)

◆ CL_ParseParticleEffect2()

void CL_ParseParticleEffect2 ( void  )

◆ CL_ParseParticleEffect3()

void CL_ParseParticleEffect3 ( void  )

◆ CL_ParseParticleEffect4()

void CL_ParseParticleEffect4 ( void  )

◆ CL_ParsePointParticles()

void CL_ParsePointParticles ( qboolean  compact)

◆ CL_ParseStream()

void CL_ParseStream ( int  type)

◆ CL_ParseTEnt()

void CL_ParseTEnt ( qboolean  nqprot)

◆ CL_ParseTEnt_Sized()

void CL_ParseTEnt_Sized ( void  )

◆ CL_ParseTrailParticles()

void CL_ParseTrailParticles ( void  )

◆ CL_RefreshCustomTEnts()

void CL_RefreshCustomTEnts ( void  )

◆ CL_RegisterParticles()

void CL_RegisterParticles ( void  )

◆ CL_RunPCustomTEnts()

void CL_RunPCustomTEnts ( void  )

◆ CL_ShutdownTEnts()

void CL_ShutdownTEnts ( void  )

◆ CL_SmokeAndFlash()

void CL_SmokeAndFlash ( vec3_t  origin)

◆ CL_SpawnCustomTEnt()

void CL_SpawnCustomTEnt ( custtentinst_t info)

◆ CL_SpawnSpriteEffect()

void CL_SpawnSpriteEffect ( vec3_t  org,
vec3_t  dir,
vec3_t  orientationup,
model_t model,
int  startframe,
int  framecount,
float  framerate,
float  alpha,
float  scale,
float  randspin,
float  gravity,
int  traileffect,
unsigned int  renderflags,
int  skinnum 
)

◆ CL_TranslateParticleFromServer()

int CL_TranslateParticleFromServer ( int  qceffect)

◆ CL_UpdateBeams()

void CL_UpdateBeams ( float  frametime)

◆ CL_UpdateExplosions()

void CL_UpdateExplosions ( float  frametime)

◆ CL_UpdateTEnts()

void CL_UpdateTEnts ( void  )

◆ CL_WriteCustomTEnt()

qboolean CL_WriteCustomTEnt ( sizebuf_t buf,
int  id 
)

◆ CLNQ_ParseParticleEffect()

void CLNQ_ParseParticleEffect ( void  )

◆ CLQ2_ParseSteam()

void CLQ2_ParseSteam ( void  )

◆ CLQ2_ParseTEnt()

void CLQ2_ParseTEnt ( void  )

◆ CLQ2_RegisterTEntModels()

int CLQ2_RegisterTEntModels ( void  )

◆ CSQC_GetEntityOrigin()

qboolean CSQC_GetEntityOrigin ( unsigned int  csqcent,
float *  out 
)

◆ MSG_ReadDir()

void MSG_ReadDir ( vec3_t  dir)

◆ MSG_ReadPos()

void MSG_ReadPos ( vec3_t  pos)

◆ P_LoadedModel()

void P_LoadedModel ( model_t mod)

Variable Documentation

◆ activepcusttents

custtentinst_t* activepcusttents

◆ associatedeffect

associatedeffect_t* associatedeffect

◆ cl_beams

beam_t* cl_beams

◆ cl_beams_max

int cl_beams_max

◆ cl_expsprite

cvar_t cl_expsprite = CVARFD("cl_expsprite", "1", CVAR_ARCHIVE, "Display a central sprite in explosion effects. QuakeWorld typically does so, NQ mods should not (which is problematic when played with the qw protocol).")

◆ cl_sfx_knighthit

sfx_t* cl_sfx_knighthit

◆ cl_sfx_r_exp3

sfx_t* cl_sfx_r_exp3

◆ cl_truelightning

cvar_t cl_truelightning = CVARF("cl_truelightning", "0", CVAR_SEMICHEAT)

◆ customtenttype

clcustomtents_t customtenttype[255]

◆ part_parsenamespace

char part_parsenamespace[MAX_QPATH]

◆ playerbeam_end

vec3_t playerbeam_end[MAX_SPLITS]

◆ pt_explosion

int pt_explosion =P_INVALID

◆ pt_gunshot

int pt_gunshot =P_INVALID

◆ pt_knightspike

int pt_knightspike =P_INVALID

◆ pt_lavasplash

int pt_lavasplash =P_INVALID

◆ pt_muzzleflash

int pt_muzzleflash =P_INVALID

◆ pt_q2

int pt_q2[sizeof(q2efnames)/sizeof(q2efnames[0])]

◆ pt_spike

int pt_spike =P_INVALID

◆ pt_superspike

int pt_superspike =P_INVALID

◆ pt_tarexplosion

int pt_tarexplosion =P_INVALID

◆ pt_teleportsplash

int pt_teleportsplash =P_INVALID

◆ pt_wizspike

int pt_wizspike =P_INVALID

◆ ptdp_blood

int ptdp_blood =P_INVALID

◆ ptdp_explosionquad

int ptdp_explosionquad =P_INVALID

◆ ptdp_flame

int ptdp_flame =P_INVALID

◆ ptdp_flamejet

int ptdp_flamejet =P_INVALID

◆ ptdp_gunshotquad

int ptdp_gunshotquad =P_INVALID

◆ ptdp_plasmaburn

int ptdp_plasmaburn =P_INVALID

◆ ptdp_smallflash

int ptdp_smallflash =P_INVALID

◆ ptdp_spark

int ptdp_spark =P_INVALID

◆ ptdp_spikequad

int ptdp_spikequad =P_INVALID

◆ ptdp_stardust

int ptdp_stardust =P_INVALID

◆ ptdp_superspikequad

int ptdp_superspikequad =P_INVALID

◆ ptdp_tei_bigexplosion

int ptdp_tei_bigexplosion =P_INVALID

◆ ptdp_tei_g3

int ptdp_tei_g3 =P_INVALID

◆ ptdp_tei_plasmahit

int ptdp_tei_plasmahit =P_INVALID

◆ ptdp_tei_smoke

int ptdp_tei_smoke =P_INVALID

◆ ptfte_bullet

int ptfte_bullet =P_INVALID

◆ ptfte_superbullet

int ptfte_superbullet =P_INVALID

◆ ptqw_blood

int ptqw_blood =P_INVALID

◆ ptqw_gunshot

int ptqw_gunshot =P_INVALID

◆ ptqw_lightningblood

int ptqw_lightningblood =P_INVALID

◆ q2tentmodels

tentmodels_t q2tentmodels[q2cl_mod_max]
Initial value:
= {
{"models/objects/explode/tris.md2"},
{"models/objects/smoke/tris.md2"},
{"models/objects/flash/tris.md2"},
{"models/monsters/parasite/tip/tris.md2"},
{"models/objects/r_explode/tris.md2"},
{"sprites/s_bfg2.sp2"},
{"models/items/armor/effect/tris.md2"}
}

◆ r_bluelight_colour

cvar_t r_bluelight_colour = CVARFD("r_bluelight_colour", "0.5 0.5 3.0 200", CVAR_ARCHIVE, "The red, green, blue, radius values for EF_BLUE effects (typically used for quad-damage in quakeworld)")

◆ r_brightlight_colour

cvar_t r_brightlight_colour = CVARFD("r_brightlight_colour", "2.0 1.0 0.5 400", CVAR_ARCHIVE, "The red, green, blue, radius values for EF_BRIGHTLIGHT effects (unused in vanilla quake).")

◆ r_dimlight_colour

cvar_t r_dimlight_colour = CVARFD("r_dimlight_colour", "2.0 1.0 0.5 200", CVAR_ARCHIVE, "The red, green, blue, radius values for EF_DIMLIGHT effects (used for quad+pent in vanilla quake).")

◆ r_explosionlight

cvar_t r_explosionlight = CVARFC("r_explosionlight", "1", CVAR_ARCHIVE, Cvar_Limiter_ZeroToOne_Callback)

◆ r_greenlight_colour

cvar_t r_greenlight_colour = CVARFD("r_greenlight_colour", "0.5 3.0 0.5 200", CVAR_ARCHIVE, "The red, green, blue, radius values for EF_GREEN effects (rarely used).")

◆ r_muzzleflash_colour

cvar_t r_muzzleflash_colour = CVARFD("r_muzzleflash_colour", "1.5 1.3 1.0 200", CVAR_ARCHIVE, "This controls the initial RGB+radius of EF_MUZZLEFLASH/svc_muzzleflash effects.")

◆ r_muzzleflash_fade

cvar_t r_muzzleflash_fade = CVARFD("r_muzzleflash_fade", "1.5 0.75 0.375 1000", CVAR_ARCHIVE, "This controls the per-second RGB+radius decay of EF_MUZZLEFLASH/svc_muzzleflash effects.")

◆ r_redlight_colour

cvar_t r_redlight_colour = CVARFD("r_redlight_colour", "3.0 0.5 0.5 200", CVAR_ARCHIVE, "The red, green, blue, radius values for EF_RED effects (typically used for pentagram in quakeworld).")

◆ r_rocketlight_colour

cvar_t r_rocketlight_colour = CVARFD("r_rocketlight_colour", "2.0 1.0 0.25 200", CVAR_ARCHIVE, "This controls the RGB+radius values of MF_ROCKET effects.")

◆ rt_blood

int rt_blood =P_INVALID

◆ rt_grenade

int rt_grenade =P_INVALID

◆ rt_knightspike

int rt_knightspike =P_INVALID

◆ rt_rocket

int rt_rocket =P_INVALID

◆ rt_slightblood

int rt_slightblood =P_INVALID

◆ rt_vorespike

int rt_vorespike =P_INVALID

◆ rt_wizspike

int rt_wizspike =P_INVALID

◆ rtdp_glowtrail

int rtdp_glowtrail =P_INVALID

◆ rtdp_nexuizplasma

int rtdp_nexuizplasma =P_INVALID

◆ rtqw_railtrail

int rtqw_railtrail =P_INVALID

◆ tentsfx

tentsfx_t tentsfx[]
Initial value:
=
{
{&cl_sfx_wizhit, "wizard/hit.wav"},
{&cl_sfx_knighthit, "hknight/hit.wav"},
{&cl_sfx_tink1, "weapons/tink1.wav"},
{&cl_sfx_ric1, "weapons/ric1.wav"},
{&cl_sfx_ric2, "weapons/ric2.wav"},
{&cl_sfx_ric3, "weapons/ric3.wav"},
{&cl_sfx_r_exp3, "weapons/r_exp3.wav"}
}
sfx_t * cl_sfx_knighthit
Definition: cl_tent.c:279
sfx_t * cl_sfx_r_exp3
Definition: cl_tent.c:284
sfx_t * cl_sfx_ric1
sfx_t * cl_sfx_ric2
sfx_t * cl_sfx_wizhit
sfx_t * cl_sfx_tink1
sfx_t * cl_sfx_ric3