X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=cl_main.c;h=851f591a2a808d69bcef7173bc982948c8b39c52;hb=aa0de3e4b596bea6e31e151f8b34841940e90641;hp=13037820abf37b450eead51f5ffddeeaaac3853d;hpb=c4ee1bbcc6b2f917465f07269ad09942bbf40849;p=xonotic%2Fdarkplaces.git diff --git a/cl_main.c b/cl_main.c index 13037820..851f591a 100644 --- a/cl_main.c +++ b/cl_main.c @@ -526,21 +526,29 @@ static void CL_RelinkNetworkEntities() { vec3_t mins, maxs; int temp; + /* if (ent->render.angles[0] || ent->render.angles[2]) { - VectorAdd(neworg, ent->render.model->rotatedmins, mins); - VectorAdd(neworg, ent->render.model->rotatedmaxs, maxs); + VectorMA(neworg, 0.25f, ent->render.model->rotatedmins, mins); + VectorMA(neworg, 0.25f, ent->render.model->rotatedmaxs, maxs); } else if (ent->render.angles[1]) { - VectorAdd(neworg, ent->render.model->yawmins, mins); - VectorAdd(neworg, ent->render.model->yawmaxs, maxs); + VectorMA(neworg, 0.25f, ent->render.model->yawmins, mins); + VectorMA(neworg, 0.25f, ent->render.model->yawmaxs, maxs); } else { - VectorAdd(neworg, ent->render.model->normalmins, mins); - VectorAdd(neworg, ent->render.model->normalmaxs, maxs); + VectorMA(neworg, 0.25f, ent->render.model->normalmins, mins); + VectorMA(neworg, 0.25f, ent->render.model->normalmaxs, maxs); } + */ + mins[0] = neworg[0] - 16.0f; + mins[1] = neworg[1] - 16.0f; + mins[2] = neworg[2] - 16.0f; + maxs[0] = neworg[0] + 16.0f; + maxs[1] = neworg[1] + 16.0f; + maxs[2] = neworg[2] + 16.0f; // how many flames to make temp = (int) (cl.time * 300) - (int) (cl.oldtime * 300); CL_FlameCube(mins, maxs, temp); @@ -550,6 +558,44 @@ static void CL_RelinkNetworkEntities() dlightcolor[1] += d * 0.7f; dlightcolor[2] += d * 0.3f; } + if (effects & EF_STARDUST) + { + if (ent->render.model) + { + vec3_t mins, maxs; + int temp; + /* + if (ent->render.angles[0] || ent->render.angles[2]) + { + VectorMA(neworg, 0.25f, ent->render.model->rotatedmins, mins); + VectorMA(neworg, 0.25f, ent->render.model->rotatedmaxs, maxs); + } + else if (ent->render.angles[1]) + { + VectorMA(neworg, 0.25f, ent->render.model->yawmins, mins); + VectorMA(neworg, 0.25f, ent->render.model->yawmaxs, maxs); + } + else + { + VectorMA(neworg, 0.25f, ent->render.model->normalmins, mins); + VectorMA(neworg, 0.25f, ent->render.model->normalmaxs, maxs); + } + */ + mins[0] = neworg[0] - 16.0f; + mins[1] = neworg[1] - 16.0f; + mins[2] = neworg[2] - 16.0f; + maxs[0] = neworg[0] + 16.0f; + maxs[1] = neworg[1] + 16.0f; + maxs[2] = neworg[2] + 16.0f; + // how many particles to make + temp = (int) (cl.time * 200) - (int) (cl.oldtime * 200); + CL_Stardust(mins, maxs, temp); + } + d = 100; + dlightcolor[0] += d * 1.0f; + dlightcolor[1] += d * 0.7f; + dlightcolor[2] += d * 0.3f; + } } // LordHavoc: if the model has no flags, don't check each @@ -574,10 +620,9 @@ static void CL_RelinkNetworkEntities() else if (ent->render.model->flags & EF_ROCKET) { CL_RocketTrail (oldorg, ent->render.origin, 0, ent); - // LordHavoc: changed from 200, 160, 80 to 250, 200, 100 - dlightcolor[0] += 250.0f; - dlightcolor[1] += 200.0f; - dlightcolor[2] += 100.0f; + dlightcolor[0] += 200.0f; + dlightcolor[1] += 160.0f; + dlightcolor[2] += 80.0f; } else if (ent->render.model->flags & EF_GRENADE) { @@ -591,14 +636,15 @@ static void CL_RelinkNetworkEntities() } } // LordHavoc: customizable glow - glowsize = ent->state_current.glowsize * 4.0f; // FIXME: interpolate? + glowsize = ent->state_current.glowsize; // FIXME: interpolate? glowcolor = ent->state_current.glowcolor; if (glowsize) { qbyte *tempcolor = (qbyte *)&d_8to24table[glowcolor]; - dlightcolor[0] += glowsize * tempcolor[0] * (1.0f / 255.0f); - dlightcolor[1] += glowsize * tempcolor[1] * (1.0f / 255.0f); - dlightcolor[2] += glowsize * tempcolor[2] * (1.0f / 255.0f); + // * 4 for the expansion from 0-255 to 0-1023 range, + // / 255 to scale down byte colors + glowsize *= (4.0f / 255.0f); + VectorMA(dlightcolor, glowsize, tempcolor, dlightcolor); } // LordHavoc: customizable trail if (ent->render.flags & RENDER_GLOWTRAIL) @@ -607,13 +653,11 @@ static void CL_RelinkNetworkEntities() if (dlightcolor[0] || dlightcolor[1] || dlightcolor[2]) { vec3_t vec; - dlightradius = VectorLength(dlightcolor); - d = 1.0f / dlightradius; VectorCopy(neworg, vec); // hack to make glowing player light shine on their gun if (i == cl.viewentity && !chase_active.integer) vec[2] += 30; - CL_AllocDlight (/*&ent->render*/ NULL, vec, dlightradius, dlightcolor[0] * d, dlightcolor[1] * d, dlightcolor[2] * d, 0, 0); + CL_AllocDlight (/*&ent->render*/ NULL, vec, 1, dlightcolor[0], dlightcolor[1], dlightcolor[2], 0, 0); } if (chase_active.integer) @@ -831,9 +875,13 @@ void CL_SendCmd (void) // get basic movement from keyboard CL_BaseMove (&cmd); + IN_PreMove(); // OS independent code + // allow mice or other external controllers to add to the move IN_Move (&cmd); + IN_PostMove(); // OS independent code + // send the unreliable message CL_SendMove (&cmd); }