VectorCopy (neworg, ent->render.origin);
ent->render.flags = ent->state_current.flags;
ent->render.effects = effects = ent->state_current.effects;
- if (cl.scores == NULL || !ent->state_current.colormap)
+ if (ent->state_current.flags & RENDER_COLORMAPPED)
+ ent->render.colormap = ent->state_current.colormap;
+ else if (cl.scores == NULL || !ent->state_current.colormap)
ent->render.colormap = -1; // no special coloring
else
ent->render.colormap = cl.scores[ent->state_current.colormap - 1].colors; // color it
#define RENDER_VIEWMODEL 4
#define RENDER_EXTERIORMODEL 8
#define RENDER_LOWPRECISION 16 // send as low precision coordinates to save bandwidth
+#define RENDER_COLORMAPPED 32
typedef struct
{
break;
VectorCopy(origin, s->origin);
VectorCopy(angles, s->angles);
+ if (ent->v.colormap >= 1024)
+ flags |= RENDER_COLORMAPPED;
s->colormap = ent->v.colormap;
s->skin = ent->v.skin;
s->frame = ent->v.frame;