// FIELDS UPDATED BY RENDERER:
// last time visible during trace culling
double last_trace_visibility;
+
+ // user wavefunc parameters (from csqc)
+ float userwavefunc_param[Q3WAVEFUNC_USER_COUNT];
}
entity_render_t;
typedef enum capturevideoformat_e
{
CAPTUREVIDEOFORMAT_AVI_I420,
- CAPTUREVIDEOFORMAT_OGG_VORBIS_THEORA,
+ CAPTUREVIDEOFORMAT_OGG_VORBIS_THEORA
}
capturevideoformat_t;
// password spectator name team skin topcolor bottomcolor rate noaim msg *ver *ip
char userinfo[MAX_USERINFO_STRING];
+ // extra user info for the "connect" command
+ char connect_userinfo[MAX_USERINFO_STRING];
+
// video capture stuff
capturevideostate_t capturevideo;
+
+ // crypto channel
+ crypto_t crypto;
}
client_static_t;
// whether the replay should allow a jump at the first sequence
qboolean movement_replay_canjump;
+ // previous gun angles (for leaning effects)
+ vec3_t gunangles_prev;
+ vec3_t gunangles_highpass;
+ vec3_t gunangles_adjustment_lowpass;
+ vec3_t gunangles_adjustment_highpass;
+ // previous gun angles (for leaning effects)
+ vec3_t gunorg_prev;
+ vec3_t gunorg_highpass;
+ vec3_t gunorg_adjustment_lowpass;
+ vec3_t gunorg_adjustment_highpass;
+
// pitch drifting vars
float idealpitch;
float pitchvel;
qboolean oldonground;
double lastongroundtime;
double hitgroundtime;
+ float bob2_smooth;
+ float bobfall_speed;
+ float bobfall_swing;
// don't change view angle, full screen, etc
int intermission;
char sound_name[MAX_SOUNDS][MAX_QPATH];
// for display on solo scoreboard
- char levelname[40];
+ char worldmessage[40]; // map title (not related to filename)
+ // variants of map name
+ char worldbasename[MAX_QPATH]; // %s
+ char worldname[MAX_QPATH]; // maps/%s.bsp
+ char worldnamenoextension[MAX_QPATH]; // maps/%s
// cl_entitites[cl.viewentity] = player
int viewentity;
// the real player entity (normally same as viewentity,
float movevars_airstopaccelerate;
float movevars_airstrafeaccelerate;
float movevars_maxairstrafespeed;
+ float movevars_airstrafeaccel_qw;
float movevars_aircontrol;
+ float movevars_aircontrol_power;
+ float movevars_aircontrol_penalty;
float movevars_warsowbunny_airforwardaccel;
float movevars_warsowbunny_accel;
float movevars_warsowbunny_topspeed;
float movevars_warsowbunny_turnaccel;
float movevars_warsowbunny_backtosideratio;
float movevars_ticrate;
+ float movevars_airspeedlimit_nonqw;
// models used by qw protocol
int qw_modelindex_spike;
extern cvar_t cl_autodemo;
extern cvar_t cl_autodemo_nameformat;
+extern cvar_t cl_autodemo_delete;
extern cvar_t r_draweffects;
void CL_Shutdown (void);
void CL_Init (void);
-void CL_EstablishConnection(const char *host);
+void CL_EstablishConnection(const char *host, int firstarg);
void CL_Disconnect (void);
void CL_Disconnect_f (void);
void CL_Particles_Clear(void);
void CL_Particles_Init(void);
void CL_Particles_Shutdown(void);
-particle_t *CL_NewParticle(const vec3_t sortorigin, unsigned short ptypeindex, int pcolor1, int pcolor2, int ptex, float psize, float psizeincrease, float palpha, float palphafade, float pgravity, float pbounce, float px, float py, float pz, float pvx, float pvy, float pvz, float pairfriction, float pliquidfriction, float originjitter, float velocityjitter, qboolean pqualityreduction, float lifetime, float stretch, pblend_t blendmode, porientation_t orientation, int staincolor1, int staincolor2, int staintex, float stainalpha, float stainsize, float angle, float spin);
+particle_t *CL_NewParticle(const vec3_t sortorigin, unsigned short ptypeindex, int pcolor1, int pcolor2, int ptex, float psize, float psizeincrease, float palpha, float palphafade, float pgravity, float pbounce, float px, float py, float pz, float pvx, float pvy, float pvz, float pairfriction, float pliquidfriction, float originjitter, float velocityjitter, qboolean pqualityreduction, float lifetime, float stretch, pblend_t blendmode, porientation_t orientation, int staincolor1, int staincolor2, int staintex, float stainalpha, float stainsize, float angle, float spin, float tint[4]);
typedef enum effectnameindex_s
{
int CL_ParticleEffectIndexForName(const char *name);
const char *CL_ParticleEffectNameForIndex(int i);
void CL_ParticleEffect(int effectindex, float pcount, const vec3_t originmins, const vec3_t originmaxs, const vec3_t velocitymins, const vec3_t velocitymaxs, entity_t *ent, int palettecolor);
-void CL_ParticleTrail(int effectindex, float pcount, const vec3_t originmins, const vec3_t originmaxs, const vec3_t velocitymins, const vec3_t velocitymaxs, entity_t *ent, int palettecolor, qboolean spawndlight, qboolean spawnparticles);
+void CL_ParticleTrail(int effectindex, float pcount, const vec3_t originmins, const vec3_t originmaxs, const vec3_t velocitymins, const vec3_t velocitymaxs, entity_t *ent, int palettecolor, qboolean spawndlight, qboolean spawnparticles, float tintmins[4], float tintmaxs[4]);
void CL_ParseParticleEffect (void);
void CL_ParticleCube (const vec3_t mins, const vec3_t maxs, const vec3_t dir, int count, int colorbase, vec_t gravity, vec_t randomvel);
void CL_ParticleRain (const vec3_t mins, const vec3_t maxs, const vec3_t dir, int count, int colorbase, int type);
float fog_height_texcoordscale;
char fogheighttexturename[64]; // detects changes to active fog height texture
- qboolean draw2dstage;
+ int draw2dstage; // 0 = no, 1 = yes, other value = needs setting up again
// true during envmap command capture
qboolean envmap;