mirror of
https://git.code.sf.net/p/quake/newtree
synced 2024-11-24 21:12:27 +00:00
flickering rocket/lava lights are dead and cvars now support vectors (archiving
broken atm).
This commit is contained in:
parent
e7a6ad981d
commit
b66c22d0e5
7 changed files with 19 additions and 34 deletions
|
@ -39,6 +39,7 @@ void CL_ParseProjectiles (void);
|
||||||
void CL_ParsePacketEntities (qboolean delta);
|
void CL_ParsePacketEntities (qboolean delta);
|
||||||
void CL_SetSolidEntities (void);
|
void CL_SetSolidEntities (void);
|
||||||
void CL_ParsePlayerinfo (void);
|
void CL_ParsePlayerinfo (void);
|
||||||
|
void CL_Ents_Init (void);
|
||||||
|
|
||||||
extern struct cvar_s *cl_deadbodyfilter;
|
extern struct cvar_s *cl_deadbodyfilter;
|
||||||
extern struct cvar_s *cl_gibfilter;
|
extern struct cvar_s *cl_gibfilter;
|
||||||
|
|
|
@ -40,6 +40,7 @@ typedef struct cvar_s
|
||||||
char *description; // for "help" command
|
char *description; // for "help" command
|
||||||
float value;
|
float value;
|
||||||
int int_val;
|
int int_val;
|
||||||
|
vec3_t vec;
|
||||||
struct cvar_s *next;
|
struct cvar_s *next;
|
||||||
} cvar_t;
|
} cvar_t;
|
||||||
|
|
||||||
|
|
|
@ -49,6 +49,8 @@ extern cvar_t *cl_solid_players;
|
||||||
|
|
||||||
extern cvar_t *gl_flashblend;
|
extern cvar_t *gl_flashblend;
|
||||||
|
|
||||||
|
cvar_t *r_firecolor;
|
||||||
|
|
||||||
static struct predicted_player {
|
static struct predicted_player {
|
||||||
int flags;
|
int flags;
|
||||||
qboolean active;
|
qboolean active;
|
||||||
|
@ -611,6 +613,7 @@ CL_LinkPacketEntities (void)
|
||||||
dl = CL_AllocDlight (-s1->number);
|
dl = CL_AllocDlight (-s1->number);
|
||||||
VectorCopy ((*ent)->origin, dl->origin);
|
VectorCopy ((*ent)->origin, dl->origin);
|
||||||
dl->radius = 200;
|
dl->radius = 200;
|
||||||
|
VectorCopy (r_firecolor->vec, dl->color);
|
||||||
dl->die = cl.time + 0.1;
|
dl->die = cl.time + 0.1;
|
||||||
R_RocketTrail (0, (*ent));
|
R_RocketTrail (0, (*ent));
|
||||||
} else if (model->flags & EF_GRENADE)
|
} else if (model->flags & EF_GRENADE)
|
||||||
|
@ -1192,3 +1195,10 @@ CL_EmitEntities (void)
|
||||||
CL_LinkProjectiles ();
|
CL_LinkProjectiles ();
|
||||||
CL_UpdateTEnts ();
|
CL_UpdateTEnts ();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
CL_Ents_Init (void)
|
||||||
|
{
|
||||||
|
r_firecolor = Cvar_Get ("r_firecolor", "0.9 0.4 0", CVAR_ARCHIVE,
|
||||||
|
"color of rocket and lava ball fires");
|
||||||
|
}
|
||||||
|
|
|
@ -441,6 +441,7 @@ CL_ClearState (void)
|
||||||
if (host_hunklevel) // FIXME: check this...
|
if (host_hunklevel) // FIXME: check this...
|
||||||
Hunk_FreeToLowMark (host_hunklevel);
|
Hunk_FreeToLowMark (host_hunklevel);
|
||||||
|
|
||||||
|
CL_Ents_Init ();
|
||||||
CL_ClearEnts ();
|
CL_ClearEnts ();
|
||||||
CL_ClearTEnts ();
|
CL_ClearTEnts ();
|
||||||
|
|
||||||
|
|
|
@ -207,6 +207,7 @@ Cvar_Set (cvar_t *var, char *value)
|
||||||
var->string = strdup (value);
|
var->string = strdup (value);
|
||||||
var->value = atof (var->string);
|
var->value = atof (var->string);
|
||||||
var->int_val = atoi (var->string);
|
var->int_val = atoi (var->string);
|
||||||
|
sscanf (var->string, "%f %f %f", &var->vec[0], &var->vec[1], &var->vec[2]);
|
||||||
|
|
||||||
Cvar_Info (var);
|
Cvar_Info (var);
|
||||||
}
|
}
|
||||||
|
@ -228,6 +229,7 @@ Cvar_SetROM (cvar_t *var, char *value)
|
||||||
var->string = strdup (value);
|
var->string = strdup (value);
|
||||||
var->value = atof (var->string);
|
var->value = atof (var->string);
|
||||||
var->int_val = atoi (var->string);
|
var->int_val = atoi (var->string);
|
||||||
|
sscanf (var->string, "%f %f %f", &var->vec[0], &var->vec[1], &var->vec[2]);
|
||||||
|
|
||||||
Cvar_Info (var);
|
Cvar_Info (var);
|
||||||
}
|
}
|
||||||
|
@ -525,6 +527,8 @@ Cvar_Get (char *name, char *string, int cvarflags, char *description)
|
||||||
v->description = description;
|
v->description = description;
|
||||||
v->value = atof (v->string);
|
v->value = atof (v->string);
|
||||||
v->int_val = atoi (v->string);
|
v->int_val = atoi (v->string);
|
||||||
|
sscanf (v->string, "%f %f %f",
|
||||||
|
&v->vec[0], &v->vec[1], &v->vec[2]);
|
||||||
Hash_Add (cvar_hash, v);
|
Hash_Add (cvar_hash, v);
|
||||||
} else {
|
} else {
|
||||||
// Cvar does exist, so we update the flags and return.
|
// Cvar does exist, so we update the flags and return.
|
||||||
|
|
|
@ -47,6 +47,7 @@
|
||||||
|
|
||||||
static fire_t r_fires[MAX_FIRES];
|
static fire_t r_fires[MAX_FIRES];
|
||||||
extern cvar_t *gl_fires;
|
extern cvar_t *gl_fires;
|
||||||
|
extern cvar_t *r_firecolor;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
R_AddFire
|
R_AddFire
|
||||||
|
@ -54,14 +55,12 @@ extern cvar_t *gl_fires;
|
||||||
Nifty ball of fire GL effect. Kinda a meshing of the dlight and
|
Nifty ball of fire GL effect. Kinda a meshing of the dlight and
|
||||||
particle engine code.
|
particle engine code.
|
||||||
*/
|
*/
|
||||||
float r_firecolor[3] = { 0.9, 0.4, 0 };
|
|
||||||
|
|
||||||
void
|
void
|
||||||
R_AddFire (vec3_t start, vec3_t end, entity_t *ent)
|
R_AddFire (vec3_t start, vec3_t end, entity_t *ent)
|
||||||
{
|
{
|
||||||
float len;
|
float len;
|
||||||
fire_t *f;
|
fire_t *f;
|
||||||
dlight_t *dl;
|
|
||||||
vec3_t vec;
|
vec3_t vec;
|
||||||
int key;
|
int key;
|
||||||
|
|
||||||
|
@ -79,13 +78,7 @@ R_AddFire (vec3_t start, vec3_t end, entity_t *ent)
|
||||||
f->size = 20;
|
f->size = 20;
|
||||||
f->die = cl.time + 0.5;
|
f->die = cl.time + 0.5;
|
||||||
f->decay = -1;
|
f->decay = -1;
|
||||||
f->color = r_firecolor;
|
f->color = r_firecolor->vec;
|
||||||
|
|
||||||
dl = CL_AllocDlight (-key);
|
|
||||||
VectorCopy (end, dl->origin);
|
|
||||||
dl->radius = 200;
|
|
||||||
dl->die = cl.time + 0.5;
|
|
||||||
dl->color = r_firecolor;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -213,25 +206,3 @@ R_UpdateFires (void)
|
||||||
glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
|
glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
|
||||||
glDepthMask (GL_TRUE);
|
glDepthMask (GL_TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
|
||||||
R_FireColor_f (void)
|
|
||||||
{
|
|
||||||
int i;
|
|
||||||
|
|
||||||
if (Cmd_Argc () == 1) {
|
|
||||||
Con_Printf ("r_firecolor %g %g %g\n",
|
|
||||||
r_firecolor[0], r_firecolor[1], r_firecolor[2]);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (Cmd_Argc () == 5 || Cmd_Argc () == 6) {
|
|
||||||
Con_Printf
|
|
||||||
("Warning: obsolete 4th and 5th parameters to r_firecolor ignored\n");
|
|
||||||
} else if (Cmd_Argc () != 4) {
|
|
||||||
Con_Printf ("Usage r_firecolor R G B\n");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
for (i = 0; i < 4; i++) {
|
|
||||||
r_firecolor[i] = atof (Cmd_Argv (i + 1));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -49,7 +49,6 @@
|
||||||
|
|
||||||
qboolean VID_Is8bit (void);
|
qboolean VID_Is8bit (void);
|
||||||
void R_InitBubble (void);
|
void R_InitBubble (void);
|
||||||
void R_FireColor_f (void);
|
|
||||||
|
|
||||||
cvar_t *gl_fires;
|
cvar_t *gl_fires;
|
||||||
cvar_t *r_netgraph_alpha;
|
cvar_t *r_netgraph_alpha;
|
||||||
|
@ -194,8 +193,6 @@ R_Init (void)
|
||||||
Cmd_AddCommand ("pointfile", R_ReadPointFile_f);
|
Cmd_AddCommand ("pointfile", R_ReadPointFile_f);
|
||||||
Cmd_AddCommand ("loadsky", R_LoadSky_f);
|
Cmd_AddCommand ("loadsky", R_LoadSky_f);
|
||||||
|
|
||||||
Cmd_AddCommand ("r_firecolor", R_FireColor_f);
|
|
||||||
|
|
||||||
R_InitBubble ();
|
R_InitBubble ();
|
||||||
|
|
||||||
R_InitParticles ();
|
R_InitParticles ();
|
||||||
|
|
Loading…
Reference in a new issue