UFO: Alien Invasion
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
r_particle.cpp File Reference
#include "r_local.h"
#include "r_particle.h"
#include "r_draw.h"

Go to the source code of this file.

Functions

static void R_GetSpriteVectors (const ptl_t *p, vec3_t right, vec3_t up)
 Get Sprite Vectors. More...
 
static void R_SpriteTexcoords (const ptl_t *p, float out[8])
 Fills float array with texture coordinates. More...
 
static void R_DrawSprite (const ptl_t *p)
 
static void R_DrawParticleModel (ptl_t *p)
 
static void R_DrawPtlCircle (const ptl_t *p)
 Draws a circle out of lines. More...
 
static void R_DrawPtlLine (const ptl_t *p)
 
static void R_SetBlendMode (int mode)
 
void R_DrawParticles (void)
 

Variables

ptl_t r_particleArray [MAX_PTLS]
 
int r_numParticles
 
cvar_tr_particles
 

Function Documentation

static void R_DrawPtlCircle ( const ptl_t p)
static

Draws a circle out of lines.

Parameters
[in]pThe particle definition with origin, radius and color
See also
Draw_Circle

Definition at line 186 of file r_particle.cpp.

References ptl_s::color, R_DrawCircle(), R_EnableTexture(), ptl_s::s, ptl_s::size, and texunit_diffuse.

Referenced by R_DrawParticles().

static void R_DrawPtlLine ( const ptl_t p)
static
static void R_GetSpriteVectors ( const ptl_t p,
vec3_t  right,
vec3_t  up 
)
static

Get Sprite Vectors.

Parameters
[in]pthe particle to give the dimensions for
[out]rightthe output right vector for the particle
[out]upthe output up vector for the particle
See also
R_DrawSprite

Definition at line 47 of file r_particle.cpp.

References ptl_s::angles, AngleVectors(), Com_Error(), CrossProduct(), ERR_FATAL, rlocals_s::forward, r_locals, rlocals_s::right, ptl_s::size, ptl_s::style, STYLE_AXIS, STYLE_BEAM, STYLE_FACING, STYLE_ROTATED, rlocals_s::up, VectorNormalizeFast(), and VectorScale.

Referenced by R_DrawSprite().

static void R_SetBlendMode ( int  mode)
static
static void R_SpriteTexcoords ( const ptl_t p,
float  out[8] 
)
inlinestatic

Fills float array with texture coordinates.

Note
Also cares for sprite scrolling (if any)

Definition at line 80 of file r_particle.cpp.

References refdef, ptl_s::scrollS, ptl_s::scrollT, and rendererData_t::time.

Referenced by R_DrawSprite().

Variable Documentation

int r_numParticles
ptl_t r_particleArray[MAX_PTLS]

Definition at line 29 of file r_particle.cpp.

Referenced by CL_ParticleCheckRounds(), CL_ParticleRun(), and CL_ParticleSpawn().

cvar_t* r_particles

Definition at line 32 of file r_particle.cpp.

Referenced by R_RegisterSystemVars().