fteqw/engine/client/p_null.c
Spoike ffc2a08589 pass network addresses around as a pointer rather than as a struct. They've grown quite a bit from vanilla code and can now be quite large. this should give more efficient network filtering+matching.
Added version+time+date to segfault lots.
try to use vbo+vao as needed.
added a manifest file in order to disable uac emulation and its virtual store lies.
particles now support a sort of namespace. eg: an effect called "cfg.effect" will load up the 'cfg' particle config and use its 'effect' effect (but not replace any explicit effects). You can still create particle effects called 'cfg.effect' with no issue.
Added support for fsarchive plugins.
Added a sys_register_file_associations command. .bsp not yet handled, but demo playback should work fine.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4324 fc73d0e0-1445-4013-8a0c-d673dee63da5
2013-05-03 04:28:08 +00:00

76 lines
2.3 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(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, 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(vec3_t minb, vec3_t maxb, vec3_t dir, 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_ParticleTrailIndex (vec3_t start, vec3_t end, int color, int crnd, trailstate_t **tsk){}
static void PNULL_EmitSkyEffectTris(model_t *mod, msurface_t *fa, int ptype){}
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_ParticleTrailIndex,
PNULL_EmitSkyEffectTris,
PNULL_InitParticles,
PNULL_ShutdownParticles,
PNULL_DelinkTrailstate,
PNULL_ClearParticles,
PNULL_DrawParticles
};