dlightsetup:
//Con_Printf("dlight %i : %f %f %f : %f %f %f\n", i, org[0], org[1], org[2], red * radius, green * radius, blue * radius);
memset (dl, 0, sizeof(*dl));
- //dl->ent = ent;
+ dl->ent = ent;
VectorCopy(org, dl->origin);
dl->radius = radius;
dl->color[0] = red;
CL_RelinkEntities
===============
*/
-static void CL_RelinkNetworkEntities()
+static void CL_RelinkNetworkEntities(void)
{
entity_t *ent;
int i, effects, temp;
VectorCopy (neworg, ent->persistent.trail_origin);
// persistent.modelindex will be updated by CL_LerpUpdate
- if (ent->state_current.modelindex != ent->persistent.modelindex)
+ if (ent->state_current.modelindex != ent->persistent.modelindex || !ent->state_previous.active)
VectorCopy(neworg, oldorg);
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;
if (effects)
{
if (effects & EF_BRIGHTFIELD)
- CL_EntityParticles (ent);
+ {
+ if (gamemode == GAME_NEXIUZ)
+ {
+ dlightcolor[0] += 100.0f;
+ dlightcolor[1] += 200.0f;
+ dlightcolor[2] += 400.0f;
+ // don't do trail if we have no previous location
+ if (ent->state_previous.active)
+ CL_RocketTrail (oldorg, neworg, 8, ent);
+ }
+ else
+ CL_EntityParticles (ent);
+ }
if (effects & EF_MUZZLEFLASH)
ent->persistent.muzzleflash = 100.0f;
if (effects & EF_DIMLIGHT)
v2[0] = v[0] * 18 + neworg[0];
v2[1] = v[1] * 18 + neworg[1];
v2[2] = v[2] * 18 + neworg[2] + 16;
- CL_TraceLine(neworg, v2, v, NULL, 0, true);
+ CL_TraceLine(neworg, v2, v, NULL, 0, true, NULL);
CL_AllocDlight (NULL, v, ent->persistent.muzzleflash, 1, 1, 1, 0, 0);
ent->persistent.muzzleflash -= cl.frametime * 1000;
{
// * 4 for the expansion from 0-255 to 0-1023 range,
// / 255 to scale down byte colors
- VectorMA(dlightcolor, ent->state_current.glowsize * (4.0f / 255.0f), (qbyte *)&d_8to24table[ent->state_current.glowcolor], dlightcolor);
+ VectorMA(dlightcolor, ent->state_current.glowsize * (4.0f / 255.0f), (qbyte *)&palette_complete[ent->state_current.glowcolor], dlightcolor);
}
// LordHavoc: customizable trail
if (ent->render.flags & RENDER_GLOWTRAIL)
{
VectorCopy(neworg, v);
// hack to make glowing player light shine on their gun
- if (i == cl.viewentity && !chase_active.integer)
+ if (i == cl.viewentity/* && !chase_active.integer*/)
v[2] += 30;
- CL_AllocDlight (NULL, v, 1, dlightcolor[0], dlightcolor[1], dlightcolor[2], 0, 0);
+ 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_RelinkEffects()
+static void CL_RelinkEffects(void)
{
int i, intframe;
cl_effect_t *e;