cl_main.c cl_parse.c:

entity_t baseline fixes
gl_ngraph.c:
	make r_LineGraph non-static
This commit is contained in:
Bill Currie 2001-05-19 01:58:31 +00:00
parent ec5daaa764
commit fef41a4e70
3 changed files with 39 additions and 29 deletions

View file

@ -90,7 +90,9 @@ client_state_t cl;
// FIXME: put these on hunk? // FIXME: put these on hunk?
efrag_t cl_efrags[MAX_EFRAGS]; efrag_t cl_efrags[MAX_EFRAGS];
entity_t cl_entities[MAX_EDICTS]; entity_t cl_entities[MAX_EDICTS];
entity_state_t cl_baselines[MAX_EDICTS];
entity_t cl_static_entities[MAX_STATIC_ENTITIES]; entity_t cl_static_entities[MAX_STATIC_ENTITIES];
entity_state_t cl_static_entity_baselines[MAX_STATIC_ENTITIES];
lightstyle_t cl_lightstyle[MAX_LIGHTSTYLES]; lightstyle_t cl_lightstyle[MAX_LIGHTSTYLES];
dlight_t cl_dlights[MAX_DLIGHTS]; dlight_t cl_dlights[MAX_DLIGHTS];
@ -174,6 +176,7 @@ CL_ClearState (void)
// clear other arrays // clear other arrays
memset (cl_efrags, 0, sizeof (cl_efrags)); memset (cl_efrags, 0, sizeof (cl_efrags));
memset (cl_entities, 0, sizeof (cl_entities)); memset (cl_entities, 0, sizeof (cl_entities));
memset (cl_baselines, 0, sizeof (cl_baselines));
memset (cl_dlights, 0, sizeof (cl_dlights)); memset (cl_dlights, 0, sizeof (cl_dlights));
memset (cl_lightstyle, 0, sizeof (cl_lightstyle)); memset (cl_lightstyle, 0, sizeof (cl_lightstyle));
@ -183,11 +186,12 @@ CL_ClearState (void)
cl.free_efrags[i].entnext = &cl.free_efrags[i + 1]; cl.free_efrags[i].entnext = &cl.free_efrags[i + 1];
cl.free_efrags[i].entnext = NULL; cl.free_efrags[i].entnext = NULL;
for (i = 0; i < MAX_EDICTS; i++) { for (i = 0; i < MAX_EDICTS; i++) {
cl_entities[i].baseline.alpha = 255; cl_entities[i].baseline = &cl_baselines[i];
cl_entities[i].baseline.scale = 16; cl_entities[i].baseline->alpha = 255;
cl_entities[i].baseline.glow_color = 254; cl_entities[i].baseline->scale = 16;
cl_entities[i].baseline.glow_size = 0; cl_entities[i].baseline->glow_color = 254;
cl_entities[i].baseline.colormod = 255; cl_entities[i].baseline->glow_size = 0;
cl_entities[i].baseline->colormod = 255;
} }
} }
@ -798,6 +802,8 @@ CL_SendCmd (void)
void void
CL_Init (void) CL_Init (void)
{ {
int i;
SZ_Alloc (&cls.message, 1024); SZ_Alloc (&cls.message, 1024);
CL_InitInput (); CL_InitInput ();
@ -810,4 +816,8 @@ CL_Init (void)
Cmd_AddCommand ("playdemo", CL_PlayDemo_f, "No Description"); Cmd_AddCommand ("playdemo", CL_PlayDemo_f, "No Description");
Cmd_AddCommand ("timedemo", CL_TimeDemo_f, "No Description"); Cmd_AddCommand ("timedemo", CL_TimeDemo_f, "No Description");
Cmd_AddCommand ("maplist", COM_Maplist_f, "No Description"); Cmd_AddCommand ("maplist", COM_Maplist_f, "No Description");
for (i = 0; i < MAX_STATIC_ENTITIES; i++) {
cl_static_entities[i].baseline = &cl_static_entity_baselines[i];
}
} }

View file

@ -381,7 +381,7 @@ CL_ParseUpdate (int bits)
if (modnum >= MAX_MODELS) if (modnum >= MAX_MODELS)
Host_Error ("CL_ParseModel: bad modnum"); Host_Error ("CL_ParseModel: bad modnum");
} else } else
modnum = ent->baseline.modelindex; modnum = ent->baseline->modelindex;
model = cl.model_precache[modnum]; model = cl.model_precache[modnum];
if (model != ent->model) { if (model != ent->model) {
@ -403,12 +403,12 @@ CL_ParseUpdate (int bits)
if (bits & U_FRAME) if (bits & U_FRAME)
ent->frame = MSG_ReadByte (net_message); ent->frame = MSG_ReadByte (net_message);
else else
ent->frame = ent->baseline.frame; ent->frame = ent->baseline->frame;
if (bits & U_COLORMAP) if (bits & U_COLORMAP)
i = MSG_ReadByte (net_message); i = MSG_ReadByte (net_message);
else else
i = ent->baseline.colormap; i = ent->baseline->colormap;
if (!i) if (!i)
ent->colormap = vid.colormap; ent->colormap = vid.colormap;
else { else {
@ -420,7 +420,7 @@ CL_ParseUpdate (int bits)
if (bits & U_SKIN) if (bits & U_SKIN)
skin = MSG_ReadByte (net_message); skin = MSG_ReadByte (net_message);
else else
skin = ent->baseline.skin; skin = ent->baseline->skin;
if (skin != ent->skinnum) { if (skin != ent->skinnum) {
ent->skinnum = skin; ent->skinnum = skin;
if (num > 0 && num <= cl.maxclients) if (num > 0 && num <= cl.maxclients)
@ -430,7 +430,7 @@ CL_ParseUpdate (int bits)
if (bits & U_EFFECTS) if (bits & U_EFFECTS)
ent->effects = MSG_ReadByte (net_message); ent->effects = MSG_ReadByte (net_message);
else else
ent->effects = ent->baseline.effects; ent->effects = ent->baseline->effects;
// shift the known values for interpolation // shift the known values for interpolation
VectorCopy (ent->msg_origins[0], ent->msg_origins[1]); VectorCopy (ent->msg_origins[0], ent->msg_origins[1]);
@ -439,29 +439,29 @@ CL_ParseUpdate (int bits)
if (bits & U_ORIGIN1) if (bits & U_ORIGIN1)
ent->msg_origins[0][0] = MSG_ReadCoord (net_message); ent->msg_origins[0][0] = MSG_ReadCoord (net_message);
else else
ent->msg_origins[0][0] = ent->baseline.origin[0]; ent->msg_origins[0][0] = ent->baseline->origin[0];
if (bits & U_ANGLE1) if (bits & U_ANGLE1)
ent->msg_angles[0][0] = MSG_ReadAngle (net_message); ent->msg_angles[0][0] = MSG_ReadAngle (net_message);
else else
ent->msg_angles[0][0] = ent->baseline.angles[0]; ent->msg_angles[0][0] = ent->baseline->angles[0];
if (bits & U_ORIGIN2) if (bits & U_ORIGIN2)
ent->msg_origins[0][1] = MSG_ReadCoord (net_message); ent->msg_origins[0][1] = MSG_ReadCoord (net_message);
else else
ent->msg_origins[0][1] = ent->baseline.origin[1]; ent->msg_origins[0][1] = ent->baseline->origin[1];
if (bits & U_ANGLE2) if (bits & U_ANGLE2)
ent->msg_angles[0][1] = MSG_ReadAngle (net_message); ent->msg_angles[0][1] = MSG_ReadAngle (net_message);
else else
ent->msg_angles[0][1] = ent->baseline.angles[1]; ent->msg_angles[0][1] = ent->baseline->angles[1];
if (bits & U_ORIGIN3) if (bits & U_ORIGIN3)
ent->msg_origins[0][2] = MSG_ReadCoord (net_message); ent->msg_origins[0][2] = MSG_ReadCoord (net_message);
else else
ent->msg_origins[0][2] = ent->baseline.origin[2]; ent->msg_origins[0][2] = ent->baseline->origin[2];
if (bits & U_ANGLE3) if (bits & U_ANGLE3)
ent->msg_angles[0][2] = MSG_ReadAngle (net_message); ent->msg_angles[0][2] = MSG_ReadAngle (net_message);
else else
ent->msg_angles[0][2] = ent->baseline.angles[2]; ent->msg_angles[0][2] = ent->baseline->angles[2];
if (bits & U_NOLERP) if (bits & U_NOLERP)
ent->forcelink = true; ent->forcelink = true;
@ -481,13 +481,13 @@ CL_ParseBaseline (entity_t *ent)
{ {
int i; int i;
ent->baseline.modelindex = MSG_ReadByte (net_message); ent->baseline->modelindex = MSG_ReadByte (net_message);
ent->baseline.frame = MSG_ReadByte (net_message); ent->baseline->frame = MSG_ReadByte (net_message);
ent->baseline.colormap = MSG_ReadByte (net_message); ent->baseline->colormap = MSG_ReadByte (net_message);
ent->baseline.skin = MSG_ReadByte (net_message); ent->baseline->skin = MSG_ReadByte (net_message);
for (i = 0; i < 3; i++) { for (i = 0; i < 3; i++) {
ent->baseline.origin[i] = MSG_ReadCoord (net_message); ent->baseline->origin[i] = MSG_ReadCoord (net_message);
ent->baseline.angles[i] = MSG_ReadAngle (net_message); ent->baseline->angles[i] = MSG_ReadAngle (net_message);
} }
// LordHavoc: set up the baseline to account for new effects (alpha, // LordHavoc: set up the baseline to account for new effects (alpha,
// colormod, etc) // colormod, etc)
@ -618,14 +618,14 @@ CL_ParseStatic (void)
CL_ParseBaseline (ent); CL_ParseBaseline (ent);
// copy it to the current state // copy it to the current state
ent->model = cl.model_precache[ent->baseline.modelindex]; ent->model = cl.model_precache[ent->baseline->modelindex];
ent->frame = ent->baseline.frame; ent->frame = ent->baseline->frame;
ent->colormap = vid.colormap; ent->colormap = vid.colormap;
ent->skinnum = ent->baseline.skin; ent->skinnum = ent->baseline->skin;
ent->effects = ent->baseline.effects; ent->effects = ent->baseline->effects;
VectorCopy (ent->baseline.origin, ent->origin); VectorCopy (ent->baseline->origin, ent->origin);
VectorCopy (ent->baseline.angles, ent->angles); VectorCopy (ent->baseline->angles, ent->angles);
R_AddEfrags (ent); R_AddEfrags (ent);
} }

View file

@ -61,7 +61,7 @@ int netgraphtexture; // netgraph texture
//XXXstatic byte ngraph_texels[NET_GRAPHHEIGHT][NET_TIMINGS]; //XXXstatic byte ngraph_texels[NET_GRAPHHEIGHT][NET_TIMINGS];
static void void
R_LineGraph (int x, int h) R_LineGraph (int x, int h)
{ {
#if 0 #if 0