mirror of
https://github.com/nzp-team/fteqw.git
synced 2024-11-30 07:31:13 +00:00
eefc950400
particles: add an emiteffectnum field (and support emiteffect+traileffect psuedo-fields), for reliable emissions that are not framerate dependant (emitted forwards by default... particles: rewrote 'sky' surface emittance. can now emit from submodels too. particles: be more verbose about unknown mode keywords, instead of silent. server: add basic misc_model emulation, for mods that don't implement one. quake2: better r1q2 compat. renderer: rework mindist+maxdist, should be more consistent as well as more reliable with orthographic matricies. has actual VF_ enumerations now. sound: fix CF_FOLLOW to not crash, and work with openal. client: 'cl_loopbackprotocol nq' now uses appropriate protocol extensions. fs: try using /usr/share/games/foo by default, if it exists. server: uncap drate if unspecified, do not fall back on rate. git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5021 fc73d0e0-1445-4013-8a0c-d673dee63da5
76 lines
2.4 KiB
C
76 lines
2.4 KiB
C
#include "quakedef.h"
|
|
#include "glquake.h"
|
|
|
|
#include "particles.h"
|
|
#include "renderque.h"
|
|
|
|
//returns a valid effect if its existance is known.
|
|
static int PNULL_FindParticleType(const char *name)
|
|
{
|
|
// Con_DPrintf("P_FindParticleType %s\n", name);
|
|
return P_INVALID;
|
|
}
|
|
|
|
static int PNULL_RunParticleEffectTypeString (vec3_t org, vec3_t dir, float count, char *name){return 1;}
|
|
static int PNULL_ParticleTrail (vec3_t startpos, vec3_t end, int type, int dlkey, vec3_t dlaxis[3], trailstate_t **tsk){return 1;}
|
|
static int PNULL_RunParticleEffectState (vec3_t org, vec3_t dir, float count, int typenum, trailstate_t **tsk){return 1;}
|
|
static void PNULL_RunParticleWeather(vec3_t minb, vec3_t maxb, vec3_t dir, float count, int colour, char *efname){}
|
|
static void PNULL_RunParticleCube(int typenum, vec3_t minb, vec3_t maxb, vec3_t dir_min, vec3_t dir_max, float count, int colour, qboolean gravity, float jitter){}
|
|
static void PNULL_RunParticleEffect (vec3_t org, vec3_t dir, int color, int count){}
|
|
static void PNULL_RunParticleEffect2 (vec3_t org, vec3_t dmin, vec3_t dmax, int color, int effect, int count){}
|
|
static void PNULL_RunParticleEffect3 (vec3_t org, vec3_t box, int color, int effect, int count){}
|
|
static void PNULL_RunParticleEffect4 (vec3_t org, float radius, int color, int effect, int count){}
|
|
static void PNULL_RunParticleEffectPalette (const char *nameprefix, vec3_t org, vec3_t dir, int color, int count){}
|
|
|
|
static void PNULL_ParticleTrailIndex (vec3_t start, vec3_t end, int color, int crnd, trailstate_t **tsk){}
|
|
|
|
static qboolean PNULL_InitParticles (void)
|
|
{
|
|
return true;
|
|
}
|
|
|
|
static void PNULL_ShutdownParticles(void)
|
|
{
|
|
}
|
|
|
|
static void PNULL_DelinkTrailstate(trailstate_t **tsk)
|
|
{
|
|
*tsk = NULL;
|
|
}
|
|
static void PNULL_ClearParticles (void){}
|
|
static void PNULL_DrawParticles(void)
|
|
{
|
|
RSpeedLocals();
|
|
|
|
RSpeedRemark();
|
|
RQ_RenderBatchClear();
|
|
RSpeedEnd(RSPEED_PARTICLESDRAW);
|
|
}
|
|
|
|
|
|
particleengine_t pe_null =
|
|
{
|
|
"null",
|
|
"none",
|
|
|
|
PNULL_FindParticleType,
|
|
NULL,
|
|
|
|
PNULL_RunParticleEffectTypeString,
|
|
PNULL_ParticleTrail,
|
|
PNULL_RunParticleEffectState,
|
|
PNULL_RunParticleWeather,
|
|
PNULL_RunParticleCube,
|
|
PNULL_RunParticleEffect,
|
|
PNULL_RunParticleEffect2,
|
|
PNULL_RunParticleEffect3,
|
|
PNULL_RunParticleEffect4,
|
|
PNULL_RunParticleEffectPalette,
|
|
|
|
PNULL_ParticleTrailIndex,
|
|
PNULL_InitParticles,
|
|
PNULL_ShutdownParticles,
|
|
PNULL_DelinkTrailstate,
|
|
PNULL_ClearParticles,
|
|
PNULL_DrawParticles
|
|
};
|