From 32bf4871f5cff23e5fea502f622974dd9a5790e9 Mon Sep 17 00:00:00 2001 From: lordhavoc Date: Thu, 13 Jun 2002 00:38:27 +0000 Subject: [PATCH] Forgot to apply Vic's axial patch for r_light.c, here it is. git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@1951 d7cf8633-e32d-0410-b094-e92efae38249 --- r_light.c | 28 ++++++++++++++++++++++------ 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/r_light.c b/r_light.c index fb9a337c..c4db02cc 100644 --- a/r_light.c +++ b/r_light.c @@ -274,9 +274,17 @@ loc0: if (dist2 >= maxdist) continue; - impact[0] = rd->origin[0] - surf->plane->normal[0] * dist; - impact[1] = rd->origin[1] - surf->plane->normal[1] * dist; - impact[2] = rd->origin[2] - surf->plane->normal[2] * dist; + if (node->plane->type < 3) + { + VectorCopy(rd->origin, impact); + impact[node->plane->type] -= dist; + } + else + { + impact[0] = rd->origin[0] - surf->plane->normal[0] * dist; + impact[1] = rd->origin[1] - surf->plane->normal[1] * dist; + impact[2] = rd->origin[2] - surf->plane->normal[2] * dist; + } impacts = DotProduct (impact, surf->texinfo->vecs[0]) + surf->texinfo->vecs[0][3] - surf->texturemins[0]; @@ -425,9 +433,17 @@ static void R_VisMarkLights (rdlight_t *rd, int bit, int bitindex) dist2 = dist * dist; - impact[0] = rd->origin[0] - surf->plane->normal[0] * dist; - impact[1] = rd->origin[1] - surf->plane->normal[1] * dist; - impact[2] = rd->origin[2] - surf->plane->normal[2] * dist; + if (surf->plane->type < 3) + { + VectorCopy(rd->origin, impact); + impact[surf->plane->type] -= dist; + } + else + { + impact[0] = rd->origin[0] - surf->plane->normal[0] * dist; + impact[1] = rd->origin[1] - surf->plane->normal[1] * dist; + impact[2] = rd->origin[2] - surf->plane->normal[2] * dist; + } impacts = DotProduct (impact, surf->texinfo->vecs[0]) + surf->texinfo->vecs[0][3] - surf->texturemins[0]; d = bound(0, impacts, surf->extents[0] + 16) - impacts; -- 2.39.2