Client particle parsing and rendering functions. More...
#include "../client.h"
#include "cl_particle.h"
#include "cl_localentity.h"
#include "cl_view.h"
#include "cl_parse.h"
#include "cl_hud.h"
#include "../renderer/r_light.h"
#include "../renderer/r_particle.h"
#include "../../shared/parse.h"
Go to the source code of this file.
Data Structures | |
struct | mapParticle_s |
map particles More... | |
struct | timedParticle_s |
Defines | |
#define | MAX_MAPPARTICLES 1024 |
#define | MAX_TIMEDPARTICLES 16 |
#define | V_VECS ((1 << V_FLOAT) | (1 << V_POS) | (1 << V_VECTOR) | (1 << V_COLOR)) |
#define | PTL_ONLY_ONE_TYPE (1<<31) |
#define | V_UNTYPED 0x7FFF |
#define | MAX_PTLDEFS 256 |
#define | MAX_PTLCMDS (MAX_PTLDEFS * 32) |
#define | MAX_PCMD_DATA (MAX_PTLCMDS * 8) |
#define | MAX_STACK_DEPTH 8 |
#define | MAX_STACK_DATA 512 |
Typedefs | |
typedef struct mapParticle_s | mapParticle_t |
map particles | |
typedef struct timedParticle_s | timedParticle_t |
typedef enum pf_s | pf_t |
particle functions enums - see pf_strings and pf_values | |
typedef enum pc_s | pc_t |
particle commands - see pc_strings | |
Enumerations | |
enum | pf_s { PF_INIT, PF_RUN, PF_THINK, PF_ROUND, PF_PHYSICS, PF_NUM_PTLFUNCS } |
particle functions enums - see pf_strings and pf_values More... | |
enum | pc_s { PC_END, PC_PUSH, PC_POP, PC_KPOP, PC_ADD, PC_SUB, PC_MUL, PC_DIV, PC_SIN, PC_COS, PC_TAN, PC_RAND, PC_CRAND, PC_V2, PC_V3, PC_V4, PC_KILL, PC_SPAWN, PC_NSPAWN, PC_TNSPAWN, PC_CHILD, PC_NUM_PTLCMDS } |
particle commands - see pc_strings More... | |
Functions | |
CASSERT (lengthof(pf_strings)==PF_NUM_PTLFUNCS) | |
CASSERT (lengthof(pf_values)==PF_NUM_PTLFUNCS) | |
CASSERT (lengthof(pc_strings)==PC_NUM_PTLCMDS) | |
CASSERT (lengthof(pc_types)==PC_NUM_PTLCMDS) | |
static void | CL_ParticleSpawnTimed (const char *name, ptl_t *parent, qboolean children, int deltaTime, int n) |
Will spawn a n particles deltaTime ms after the parent was spawned. | |
void | CL_AddMapParticle (const char *ptl, const vec3_t origin, const vec2_t wait, const char *info, int levelflags) |
Spawns the map particle. | |
static void | CL_ParticleLoadArt (ptlArt_t *a) |
Loads the image or model for a given particle art. | |
void | CL_ParticleRegisterArt (void) |
static ptlArt_t * | CL_ParticleGetArt (const char *name, int frame, byte type) |
Register art (pics, models) for each particle. | |
void | PTL_InitStartup (void) |
static void * | CL_ParticleCommandGetDataLocation (ptl_t *p, const ptlCmd_t *cmd) |
Determine the memory location where the command accesses and stores its data. | |
static void | CL_ParticleFunction (ptl_t *p, ptlCmd_t *cmd) |
ptl_t * | CL_ParticleSpawn (const char *name, int levelFlags, const vec3_t s, const vec3_t v, const vec3_t a) |
Spawn a new particle to the map. | |
void | CL_ParticleVisible (ptl_t *p, qboolean hide) |
Mark a particle an all its children as invisible or visible. | |
void | CL_ParticleFree (ptl_t *p) |
Free a particle and all it's children. | |
static void | CL_Fading (vec4_t color, fade_t fade, float frac, qboolean onlyAlpha) |
Color fade function. | |
void | CL_ParticleCheckRounds (void) |
checks whether a particle is still active in the current round | |
static void | CL_ParticleRun2 (ptl_t *p) |
Prepares the particle rendering, calculate new position, velocity and all the other particle values that are needed to display it. | |
static void | CL_ParticleRunTimed (void) |
Called every frame and checks whether a timed particle should be spawned. | |
void | CL_ParticleRun (void) |
General system for particle running during the game. | |
static void | CL_ParseMapParticle (ptl_t *ptl, const char *es, qboolean afterwards) |
Parses particle used on maps. | |
void | CL_RunMapParticles (void) |
static void | CL_ParsePtlCmds (const char *name, const char **text) |
int | CL_ParseParticle (const char *name, const char **text) |
Parses particle definitions from UFO-script files. | |
static void | PTL_DebugSpawnMarker_f (void) |
Spawns a debug marker particle in the world. | |
static void | PTL_DebugList_f (void) |
void | CL_InitParticles (void) |
Initializes cvars and commands. | |
Variables | |
static cvar_t * | cl_particleweather |
static mapParticle_t | mapParticles [MAX_MAPPARTICLES] |
static timedParticle_t | timedParticles [MAX_TIMEDPARTICLES] |
static const char * | pf_strings [] |
valid particle functions - see pf_t and pf_values | |
static const size_t | pf_values [] |
particle functions offsets - see pf_strings and pf_t | |
static const char * | pc_strings [PC_NUM_PTLCMDS] |
particle commands - see pc_t | |
static const int | pc_types [PC_NUM_PTLCMDS] |
particle commands parameter and types | |
static const value_t | pps [] |
particle script values | |
static ptlDef_t | ptlDef [MAX_PTLDEFS] |
static ptlCmd_t | ptlCmd [MAX_PTLCMDS] |
static int | numPtlDefs |
static int | numPtlCmds |
static byte | pcmdData [MAX_PCMD_DATA] |
static byte * | pcmdPos = pcmdData |
static const int | RSTACK = -(MAX_PCMD_DATA) |
static byte | cmdStack [MAX_STACK_DATA] |
static void * | stackPtr [MAX_STACK_DEPTH] |
static byte | stackType [MAX_STACK_DEPTH] |
Client particle parsing and rendering functions.
Definition in file cl_particle.c.
#define MAX_MAPPARTICLES 1024 |
Definition at line 36 of file cl_particle.c.
Referenced by CL_AddMapParticle().
#define MAX_PCMD_DATA (MAX_PTLCMDS * 8) |
Definition at line 214 of file cl_particle.c.
#define MAX_PTLCMDS (MAX_PTLDEFS * 32) |
Definition at line 206 of file cl_particle.c.
Referenced by CL_ParsePtlCmds().
#define MAX_PTLDEFS 256 |
Definition at line 205 of file cl_particle.c.
Referenced by CL_ParseParticle().
#define MAX_STACK_DATA 512 |
Definition at line 223 of file cl_particle.c.
#define MAX_STACK_DEPTH 8 |
Definition at line 222 of file cl_particle.c.
Referenced by CL_ParticleFunction().
#define MAX_TIMEDPARTICLES 16 |
Definition at line 37 of file cl_particle.c.
#define PTL_ONLY_ONE_TYPE (1<<31) |
Definition at line 70 of file cl_particle.c.
Referenced by CL_ParsePtlCmds().
#define V_UNTYPED 0x7FFF |
Definition at line 71 of file cl_particle.c.
#define V_VECS ((1 << V_FLOAT) | (1 << V_POS) | (1 << V_VECTOR) | (1 << V_COLOR)) |
Definition at line 69 of file cl_particle.c.
Referenced by CL_ParsePtlCmds(), and CL_ParticleFunction().
typedef struct mapParticle_s mapParticle_t |
map particles
typedef struct timedParticle_s timedParticle_t |
enum pc_s |
particle commands - see pc_strings
PC_END | |
PC_PUSH | |
PC_POP | |
PC_KPOP | |
PC_ADD | |
PC_SUB | |
PC_MUL | |
PC_DIV | |
PC_SIN | |
PC_COS | |
PC_TAN | |
PC_RAND | |
PC_CRAND | |
PC_V2 | |
PC_V3 | |
PC_V4 | |
PC_KILL | |
PC_SPAWN | |
PC_NSPAWN | |
PC_TNSPAWN | |
PC_CHILD | |
PC_NUM_PTLCMDS |
Definition at line 105 of file cl_particle.c.
enum pf_s |
particle functions enums - see pf_strings and pf_values
PF_INIT | |
PF_RUN | |
PF_THINK | |
PF_ROUND | |
PF_PHYSICS |
if a particle hits the ground |
PF_NUM_PTLFUNCS |
Definition at line 74 of file cl_particle.c.
CASSERT | ( | lengthof(pc_types) | = =PC_NUM_PTLCMDS |
) |
CASSERT | ( | lengthof(pc_strings) | = =PC_NUM_PTLCMDS |
) |
CASSERT | ( | lengthof(pf_values) | = =PF_NUM_PTLFUNCS |
) |
CASSERT | ( | lengthof(pf_strings) | = =PF_NUM_PTLFUNCS |
) |
void CL_AddMapParticle | ( | const char * | ptl, | |
const vec3_t | origin, | |||
const vec2_t | wait, | |||
const char * | info, | |||
int | levelflags | |||
) |
Spawns the map particle.
[in] | ptl | Particle name |
[in] | origin | The position in the world |
[in] | wait | |
[in] | info | |
[in] | levelflags | The levelflag mask to show the particle on |
Definition at line 273 of file cl_particle.c.
References cl, Com_DPrintf(), Com_Printf(), DEBUG_CLIENT, frand(), mapParticle_s::info, mapParticle_s::levelflags, MAX_MAPPARTICLES, mapParticle_s::nextTime, mapParticle_s::origin, mapParticle_s::ptl, Q_strncpyz(), VectorCopy, and mapParticle_s::wait.
Referenced by SP_misc_particle().
Color fade function.
[in,out] | color | The color vector to fade. |
[in] | fade | The type of the fade. |
[in] | frac | The fraction to fade the color with. |
[in] | onlyAlpha | Only fade the alpha channel of the given RGBA color. |
Definition at line 819 of file cl_particle.c.
References FADE_IN, FADE_LAST, FADE_NONE, FADE_OUT, FADE_SAW, FADE_SIN, and i.
Referenced by CL_ParticleRun2().
void CL_InitParticles | ( | void | ) |
Initializes cvars and commands.
Definition at line 1470 of file cl_particle.c.
References Cmd_AddCommand(), CVAR_ARCHIVE, Cvar_Get(), CVAR_LATCH, PTL_DebugList_f(), and PTL_DebugSpawnMarker_f().
Referenced by CL_Init().
Parses particle used on maps.
[in,out] | ptl | Pointer to particle being parsed and updated. |
[in] | es | Entity string to parse the particle from |
[in] | afterwards | If this is true you can modify the particle after the init function for the particle was already called |
Definition at line 1061 of file cl_particle.c.
References ART_MODEL, ART_PIC, CL_ParticleGetArt(), Com_EParseValue(), Com_Error(), Com_Parse(), ERR_DROP, ptl_s::frame, key, MAX_VAR, ptl_s::model, value_s::ofs, ptl_s::pic, ptl_s::program, Q_strncpyz(), R_InitParticleProgram(), R_LoadProgram(), R_UseParticleProgram(), value_s::size, value_s::string, value_s::type, and r_program_s::userdata.
Referenced by CL_RunMapParticles().
int CL_ParseParticle | ( | const char * | name, | |
const char ** | text | |||
) |
Parses particle definitions from UFO-script files.
[in] | name | particle name/id |
[in] | text | pointer to the buffer to parse from |
Definition at line 1344 of file cl_particle.c.
References byte, CL_ParsePtlCmds(), Com_EParse(), Com_Parse(), Com_Printf(), i, ptlDef_s::init, MAX_PTLDEFS, ptlDef_s::name, PF_NUM_PTLFUNCS, pf_strings, pos, and Q_strncpyz().
Referenced by CL_ParseClientData().
static void CL_ParsePtlCmds | ( | const char * | name, | |
const char ** | text | |||
) | [static] |
Definition at line 1148 of file cl_particle.c.
References byte, ptlCmd_s::cmd, Com_AlignPtr(), Com_EParse(), Com_EParseValue(), Com_Error(), Com_Parse(), Com_Printf(), ERR_DROP, i, int(), len, MAX_PTLCMDS, MAX_VAR, value_s::ofs, PC_NUM_PTLCMDS, PC_POP, PC_PUSH, PTL_ONLY_ONE_TYPE, Q_strncpyz(), ptlCmd_s::ref, value_s::string, ptlCmd_s::type, value_s::type, V_FLOAT, V_NUM_TYPES, V_VECS, and vt_names.
Referenced by CL_ParseParticle().
void CL_ParticleCheckRounds | ( | void | ) |
checks whether a particle is still active in the current round
Definition at line 856 of file cl_particle.c.
References CL_ParticleFree(), CL_ParticleFunction(), ptl_s::ctrl, i, ptl_s::inuse, r_numParticles, r_particles, ptlDef_s::round, ptl_s::rounds, and ptl_s::roundsCnt.
Referenced by CL_DoEndRound().
Determine the memory location where the command accesses and stores its data.
p | The particle that is used to get local command data locations. | |
cmd | The command to get the data location for. |
Definition at line 391 of file cl_particle.c.
References byte, and ptlCmd_s::ref.
Referenced by CL_ParticleFunction().
void CL_ParticleFree | ( | ptl_t * | p | ) |
Free a particle and all it's children.
[in] | p | the particle to free |
Definition at line 801 of file cl_particle.c.
References ptl_s::children, CL_ParticleFree(), ptl_s::inuse, ptl_s::invis, ptl_s::next, qfalse, and qtrue.
Referenced by CL_EntPerish(), CL_ParticleCheckRounds(), CL_ParticleFree(), CL_ParticleFunction(), CL_ParticleRun2(), and LET_Projectile().
Definition at line 401 of file cl_particle.c.
References ptl_s::a, ART_MODEL, ART_PIC, byte, ptl_s::children, CL_ParticleCommandGetDataLocation(), CL_ParticleFree(), CL_ParticleGetArt(), CL_ParticleSpawn(), CL_ParticleSpawnTimed(), ptlCmd_s::cmd, Com_Error(), Com_Printf(), Com_SetValue(), crand(), ptl_s::ctrl, ERR_DROP, ptl_s::frame, frand(), i, int(), ptl_s::levelFlags, MAX_STACK_DEPTH, ptl_s::model, ptlDef_s::name, ptl_s::next, ptl_s::parent, PC_ADD, PC_CHILD, PC_COS, PC_CRAND, PC_DIV, PC_END, PC_KILL, PC_KPOP, PC_MUL, PC_NSPAWN, PC_POP, PC_PUSH, PC_RAND, PC_SIN, PC_SPAWN, PC_SUB, PC_TAN, PC_TNSPAWN, PC_V2, PC_V3, PC_V4, ptl_s::pic, ptl_s::program, qtrue, R_InitParticleProgram(), R_LoadProgram(), R_UseParticleProgram(), ptlCmd_s::ref, ptl_s::s, ptlCmd_s::type, type, r_program_s::userdata, ptl_s::v, V_FLOAT, V_INT, V_STRING, V_VECS, and vt_names.
Referenced by CL_ParticleCheckRounds(), CL_ParticleRun2(), CL_ParticleSpawn(), and CL_RunMapParticles().
Register art (pics, models) for each particle.
Definition at line 341 of file cl_particle.c.
References ptlArt_s::art, ART_PIC, CL_ParticleLoadArt(), Com_Error(), ERR_DROP, ptlArt_s::frame, i, ptlArt_s::image, MAX_PTL_ART, ptlArt_s::name, Q_strncpyz(), r_numParticlesArt, r_particlesArt, ptlArt_s::skin, and ptlArt_s::type.
Referenced by CL_ParseMapParticle(), CL_ParticleFunction(), and CL_ParticleRun2().
static void CL_ParticleLoadArt | ( | ptlArt_t * | a | ) | [inline, static] |
Loads the image or model for a given particle art.
Definition at line 299 of file cl_particle.c.
References ptlArt_s::art, ART_MODEL, ART_PIC, Com_Error(), Com_Printf(), ERR_DROP, ptlArt_s::frame, ptlArt_s::image, ptlArt_s::model, ptlArt_s::name, R_RegisterImage(), R_RegisterModelShort(), ptlArt_s::type, and va().
Referenced by CL_ParticleGetArt(), and CL_ParticleRegisterArt().
void CL_ParticleRegisterArt | ( | void | ) |
Definition at line 325 of file cl_particle.c.
References CL_ParticleLoadArt(), i, r_numParticlesArt, and r_particlesArt.
Referenced by CL_ViewLoadMedia().
void CL_ParticleRun | ( | void | ) |
General system for particle running during the game.
Definition at line 1039 of file cl_particle.c.
References ca_active, CL_ParticleRun2(), CL_ParticleRunTimed(), cls, i, ptl_s::inuse, r_numParticles, r_particles, and client_static_s::state.
Referenced by CL_Frame().
static void CL_ParticleRun2 | ( | ptl_t * | p | ) | [static] |
Prepares the particle rendering, calculate new position, velocity and all the other particle values that are needed to display it.
[in,out] | p | The particle to handle |
Definition at line 880 of file cl_particle.c.
References ptl_s::a, ptl_s::angles, ART_PIC, ptl_s::autohide, ptl_s::blend, BLEND_BLEND, cl, CL_Fading(), CL_ParticleFree(), CL_ParticleFunction(), CL_ParticleGetArt(), CL_Trace(), cl_worldlevel, cls, ptl_s::color, ptl_s::ctrl, ptl_s::dt, ptl_s::endFrame, trace_s::endpos, f, ptl_s::fps, trace_s::fraction, ptl_s::frame, ptl_s::frameFade, client_static_s::frametime, int(), cvar_s::integer, ptl_s::invis, ptl_s::lastFrame, ptl_s::lastThink, ptl_s::life, ptl_s::lightColor, ptl_s::lightIntensity, ptl_s::lightSustain, MASK_SOLID, ptlArt_s::name, ptl_s::omega, ptl_s::origin, ptl_s::parent, ptlDef_s::physics, ptl_s::physics, ptl_s::pic, qfalse, qtrue, R_AddLight(), R_AddSustainedLight(), ptl_s::rounds, ptl_s::roundsCnt, ptlDef_s::run, ptl_s::s, trace_s::startsolid, ptl_s::startTime, ptl_s::stayalive, ptl_s::style, STYLE_LINE, ptl_s::t, ptlDef_s::think, ptl_s::thinkFade, ptl_s::tps, UNIT_HEIGHT, ptl_s::v, vec3_origin, Vector4Set, VectorCopy, VectorMA(), VectorNotEmpty, and ptl_s::weather.
Referenced by CL_ParticleRun().
static void CL_ParticleRunTimed | ( | void | ) | [static] |
Called every frame and checks whether a timed particle should be spawned.
Definition at line 1000 of file cl_particle.c.
References timedParticle_s::a, ptl_s::a, ptl_s::children, timedParticle_s::children, CL_Milliseconds(), CL_ParticleSpawn(), timedParticle_s::dt, i, ptl_s::inuse, timedParticle_s::lastTime, lengthof, timedParticle_s::levelFlags, timedParticle_s::max, timedParticle_s::n, ptl_s::next, ptl_s::parent, timedParticle_s::parent, timedParticle_s::ptl, timedParticle_s::s, ptl_s::s, timedParticle_s::v, ptl_s::v, and VectorCopy.
Referenced by CL_ParticleRun().
ptl_t* CL_ParticleSpawn | ( | const char * | name, | |
int | levelFlags, | |||
const vec3_t | s, | |||
const vec3_t | v, | |||
const vec3_t | a | |||
) |
Spawn a new particle to the map.
[in] | name | The id of the particle (see ptl_*.ufo script files in base/ufos) |
[in] | levelFlags | Show at which levels |
[in] | s | starting/location vector |
[in] | v | velocity vector |
[in] | a | acceleration vector |
Definition at line 706 of file cl_particle.c.
References ptl_s::a, cl, CL_ParticleFunction(), ptl_s::color, Com_DPrintf(), Com_Printf(), ptl_s::ctrl, DEBUG_CLIENT, i, ptlDef_s::init, ptl_s::inuse, ptl_s::levelFlags, ptl_s::life, MAX_PTLS, ptl_s::model, ptl_s::origin, ptl_s::pic, qtrue, r_numParticles, r_particles, ptl_s::s, ptl_s::startTime, ptl_s::tps, ptl_s::v, Vector4Set, and VectorCopy.
Referenced by CL_ActorTraceMove(), CL_AddActor(), CL_DrawLineOfSight(), CL_NextAlienVisibleFromActor_f(), CL_ParticleAppear(), CL_ParticleFunction(), CL_ParticleRunTimed(), CL_ParticleSpawnEvent(), CL_RunMapParticles(), CL_TargetingGrenade(), CL_TargetingRadius(), CL_TargetingStraight(), LE_ActorBodyHit(), LE_AddGrenade(), LE_AddProjectile(), LE_AddToScene(), LE_PlaySoundFileAndParticleForSurface(), LET_Projectile(), and PTL_DebugSpawnMarker_f().
static void CL_ParticleSpawnTimed | ( | const char * | name, | |
ptl_t * | parent, | |||
qboolean | children, | |||
int | deltaTime, | |||
int | n | |||
) | [static] |
Will spawn a n
particles deltaTime
ms after the parent was spawned.
[in] | name | The id of the particle (see ptl_*.ufo script files in base/ufos) |
[in] | parent | The parent particle |
[in] | children | Spawn as children |
[in] | deltaTime | The time to wait until this particle should get spawned |
[in] | n | The amount of particles to spawn (each after deltaTime of its predecessor) |
Definition at line 237 of file cl_particle.c.
References timedParticle_s::children, Com_Error(), Com_Printf(), timedParticle_s::dt, ERR_DROP, i, lengthof, ptl_s::levelFlags, timedParticle_s::levelFlags, timedParticle_s::max, timedParticle_s::n, timedParticle_s::parent, timedParticle_s::ptl, and Q_strncpyz().
Referenced by CL_ParticleFunction().
Mark a particle an all its children as invisible or visible.
[in] | p | Particle to set the invis flags for |
[in] | hide | Boolean value for hiding the particle |
Definition at line 785 of file cl_particle.c.
References ptl_s::children, CL_ParticleVisible(), ptl_s::invis, and ptl_s::next.
Referenced by CL_ParticleVisible().
void CL_RunMapParticles | ( | void | ) |
Definition at line 1116 of file cl_particle.c.
References ca_active, cl, CL_ParseMapParticle(), CL_ParticleFunction(), CL_ParticleSpawn(), cls, ptl_s::ctrl, frand(), i, mapParticle_s::info, ptlDef_s::init, mapParticle_s::levelflags, mapParticle_s::nextTime, mapParticle_s::origin, mapParticle_s::ptl, qfalse, qtrue, client_static_s::state, and mapParticle_s::wait.
Referenced by CL_Frame().
static void PTL_DebugList_f | ( | void | ) | [static] |
Definition at line 1438 of file cl_particle.c.
References Com_Printf(), Com_ValueToStr(), ptl_s::ctrl, i, ptl_s::inuse, ptl_s::model, r_program_s::name, ptlArt_s::name, ptlDef_s::name, value_s::ofs, ptl_s::pic, ptl_s::program, r_numParticles, r_particles, value_s::string, and value_s::type.
Referenced by CL_InitParticles().
static void PTL_DebugSpawnMarker_f | ( | void | ) | [static] |
Spawns a debug marker particle in the world.
Definition at line 1422 of file cl_particle.c.
References CL_ParticleSpawn(), Cmd_Argc(), Cmd_Argv(), and Com_Printf().
Referenced by CL_InitParticles().
void PTL_InitStartup | ( | void | ) |
Definition at line 376 of file cl_particle.c.
References r_numParticles, and r_numParticlesArt.
Referenced by CL_InitLocal().
cvar_t* cl_particleweather [static] |
Definition at line 39 of file cl_particle.c.
Definition at line 225 of file cl_particle.c.
mapParticle_t mapParticles[MAX_MAPPARTICLES] [static] |
Definition at line 66 of file cl_particle.c.
int numPtlCmds [static] |
Definition at line 212 of file cl_particle.c.
int numPtlDefs [static] |
Definition at line 211 of file cl_particle.c.
const char* pc_strings[PC_NUM_PTLCMDS] [static] |
{ "end", "push", "pop", "kpop", "add", "sub", "mul", "div", "sin", "cos", "tan", "rand", "crand", "v2", "v3", "v4", "kill", "spawn", "nspawn", "tnspawn", "child" }
particle commands - see pc_t
Definition at line 122 of file cl_particle.c.
const int pc_types[PC_NUM_PTLCMDS] [static] |
{ 0, V_UNTYPED, V_UNTYPED, V_UNTYPED, V_VECS, V_VECS, V_VECS, V_VECS, PTL_ONLY_ONE_TYPE | V_FLOAT, PTL_ONLY_ONE_TYPE | V_FLOAT, PTL_ONLY_ONE_TYPE | V_FLOAT, V_VECS, V_VECS, 0, 0, 0, 0, PTL_ONLY_ONE_TYPE | V_STRING, PTL_ONLY_ONE_TYPE | V_STRING, PTL_ONLY_ONE_TYPE | V_STRING, PTL_ONLY_ONE_TYPE | V_STRING }
particle commands parameter and types
Definition at line 138 of file cl_particle.c.
Definition at line 217 of file cl_particle.c.
Definition at line 218 of file cl_particle.c.
const char* pf_strings[] [static] |
{ "init", "run", "think", "round", "physics" }
valid particle functions - see pf_t and pf_values
Definition at line 85 of file cl_particle.c.
Referenced by CL_ParseParticle().
const size_t pf_values[] [static] |
particle script values
CL_ParticleFunction
Definition at line 157 of file cl_particle.c.
Definition at line 209 of file cl_particle.c.
Definition at line 208 of file cl_particle.c.
const int RSTACK = -(MAX_PCMD_DATA) [static] |
Definition at line 220 of file cl_particle.c.
void* stackPtr[MAX_STACK_DEPTH] [static] |
Definition at line 226 of file cl_particle.c.
Definition at line 227 of file cl_particle.c.
timedParticle_t timedParticles[MAX_TIMEDPARTICLES] [static] |
Definition at line 67 of file cl_particle.c.