typedef struct cshift_s
{
float destcolor[3];
- float percent; // 0-256
+ float percent; // 0-255
+ float alphafade; // (any speed)
} cshift_t;
#define CSHIFT_CONTENTS 0
// list of demos in loop
char demos[MAX_DEMOS][MAX_DEMONAME];
// the actively playing demo (set by CL_PlayDemo_f)
- char demoname[64];
+ char demoname[MAX_QPATH];
// demo recording info must be here, because record is started before
// entering a map (and clearing client_state_t)
qboolean demorecording;
+ fs_offset_t demo_lastcsprogssize;
+ int demo_lastcsprogscrc;
qboolean demoplayback;
qboolean timedemo;
// -1 = use normal cd track
double qw_downloadspeedtime;
int qw_downloadspeedcount;
int qw_downloadspeedrate;
+ qboolean qw_download_deflate;
// current file upload buffer (for uploading screenshots to server)
unsigned char *qw_uploaddata;
{
PBLEND_ALPHA = 0,
PBLEND_ADD = 1,
- PBLEND_MOD = 2
+ PBLEND_INVMOD = 2
}
pblend_t;
typedef struct particle_s
{
// fields used by rendering: (40 bytes)
- unsigned short typeindex;
- unsigned short texnum;
+ unsigned char typeindex;
+ unsigned char blendmode;
+ unsigned char orientation;
+ unsigned char texnum;
vec3_t org;
vec3_t vel; // velocity of particle, or orientation of decal, or end point of beam
float size;
float alpha; // 0-255
unsigned char color[3];
unsigned char qualityreduction; // enables skipping of this particle according to r_refdef.view.qualityreduction
+ float stretch; // only for sparks
// fields not used by rendering: (40 bytes)
float sizeincrease; // rate of size change per second
void CL_ReadDemoMessage(void);
void CL_WriteDemoMessage(sizebuf_t *mesage);
+void CL_CutDemo(unsigned char **buf, fs_offset_t *filesize);
+void CL_PasteDemo(unsigned char **buf, fs_offset_t *filesize);
+
void CL_NextDemo(void);
void CL_Stop_f(void);
void CL_Record_f(void);