Push entitie slightly away from non horizontal surfaces.

Otherwise the entities origin might be in the surface, which causes it
to be rendered in full black.
This commit is contained in:
Yamagi Burmeister 2019-06-15 17:45:05 +02:00
parent 9989340968
commit ffb5bb57f8

View file

@ -530,6 +530,14 @@ retry:
VectorCopy(trace.endpos, ent->s.origin); VectorCopy(trace.endpos, ent->s.origin);
gi.linkentity(ent); gi.linkentity(ent);
/* Push slightly away from non-horizontal surfaces,
prevent origin stuck in the plane which causes
the entity to be rendered in full black. */
if (trace.plane.type != 2)
{
VectorAdd(ent->s.origin, trace.plane.normal, ent->s.origin);
}
if (trace.fraction != 1.0) if (trace.fraction != 1.0)
{ {
SV_Impact(ent, &trace); SV_Impact(ent, &trace);