CL_RelinkEntities
===============
*/
-static void CL_RelinkNetworkEntities()
+static void CL_RelinkNetworkEntities(void)
{
entity_t *ent;
int i, effects, temp;
VectorCopy (neworg, ent->render.origin);
ent->render.flags = ent->state_current.flags;
+ if (i == cl.viewentity)
+ ent->render.flags |= RENDER_EXTERIORMODEL;
ent->render.effects = effects = ent->state_current.effects;
if (ent->state_current.flags & RENDER_COLORMAPPED)
ent->render.colormap = ent->state_current.colormap;
CL_AllocDlight (&ent->render, v, 1, dlightcolor[0], dlightcolor[1], dlightcolor[2], 0, 0);
}
- if (chase_active.integer)
- {
- if (ent->render.flags & RENDER_VIEWMODEL)
- continue;
- }
- else
- {
- if (i == cl.viewentity || (ent->render.flags & RENDER_EXTERIORMODEL))
- continue;
- }
+ if (chase_active.integer && (ent->render.flags & RENDER_VIEWMODEL))
+ continue;
// don't show entities with no modelindex (note: this still shows
// entities which have a modelindex that resolved to a NULL model)
}
}
+static void CL_RelinkViewModel(void)
+{
+ entity_t *ent;
+ if (!r_drawviewmodel.integer || chase_active.integer || envmap || !r_drawentities.integer || cl.items & IT_INVISIBILITY || cl.stats[STAT_HEALTH] <= 0 || cl.viewent.render.model == NULL)
+ return;
+
+ ent = &cl.viewent;
+ // FIXME: set up view model here?
+ if (r_refdef.numentities < r_refdef.maxentities)
+ r_refdef.entities[r_refdef.numentities++] = &ent->render;
+}
+
void CL_Effect(vec3_t org, int modelindex, int startframe, int framecount, float framerate)
{
int i;
}
}
-static void CL_RelinkEffects()
+static void CL_RelinkEffects(void)
{
int i, intframe;
cl_effect_t *e;
CL_RelinkWorld();
CL_RelinkStaticEntities();
CL_RelinkNetworkEntities();
+ CL_RelinkViewModel();
CL_RelinkEffects();
CL_RelinkBeams();
CL_MoveParticles();