]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - gl_rmain.c
fix flipped sprites
[xonotic/darkplaces.git] / gl_rmain.c
index 0ce87d35782dbee5e89cbaeb9b2b8ed590f4df0c..eaec1e0102b1ebbf0e210f4e0d49f3017abc1732 100644 (file)
@@ -954,9 +954,7 @@ void R_ShadowVolumeLighting (int visiblevolumes)
                                        {
                                                ent = r_refdef.entities[i];
                                                if (ent->visframe == r_framecount && ent->model && ent->model->DrawLight
-                                                && ent->maxs[0] >= clipmins[0] && ent->mins[0] <= clipmaxs[0]
-                                                && ent->maxs[1] >= clipmins[1] && ent->mins[1] <= clipmaxs[1]
-                                                && ent->maxs[2] >= clipmins[2] && ent->mins[2] <= clipmaxs[2]
+                                                && BoxesOverlap(ent->mins, ent->maxs, clipmins, clipmaxs)
                                                 && !(ent->effects & EF_ADDITIVE) && ent->alpha == 1)
                                                {
                                                        Matrix4x4_Transform(&ent->inversematrix, wl->origin, relativelightorigin);
@@ -982,11 +980,7 @@ void R_ShadowVolumeLighting (int visiblevolumes)
                        clipmaxs[0] = rd->origin[0] + lightradius;
                        clipmaxs[1] = rd->origin[1] + lightradius;
                        clipmaxs[2] = rd->origin[2] + lightradius;
-                       if (VIS_CullBox(clipmins, clipmaxs))
-                               continue;
-
-                       //if (R_Shadow_ScissorForBBoxAndSphere(clipmins, clipmaxs, rd->origin, cullradius))
-                       if (R_Shadow_ScissorForBBox(clipmins, clipmaxs))
+                       if (VIS_CullBox(clipmins, clipmaxs) || R_Shadow_ScissorForBBox(clipmins, clipmaxs))
                                continue;
 
                        cullradius = RadiusFromBoundsAndOrigin(clipmins, clipmaxs, rd->origin);
@@ -1045,9 +1039,7 @@ void R_ShadowVolumeLighting (int visiblevolumes)
                                        {
                                                ent = r_refdef.entities[i];
                                                if (ent->visframe == r_framecount && ent->model && ent->model->DrawLight
-                                                && ent->maxs[0] >= clipmins[0] && ent->mins[0] <= clipmaxs[0]
-                                                && ent->maxs[1] >= clipmins[1] && ent->mins[1] <= clipmaxs[1]
-                                                && ent->maxs[2] >= clipmins[2] && ent->mins[2] <= clipmaxs[2]
+                                                && BoxesOverlap(ent->mins, ent->maxs, clipmins, clipmaxs)
                                                 && !(ent->effects & EF_ADDITIVE) && ent->alpha == 1)
                                                {
                                                        Matrix4x4_Transform(&ent->inversematrix, rd->origin, relativelightorigin);
@@ -1427,10 +1419,10 @@ void R_CalcBeam_Vertex3f (float *vert, const vec3_t org1, const vec3_t org2, flo
 void R_DrawSpriteMesh(const vec3_t origin, const vec3_t left, const vec3_t up, float scalex1, float scalex2, float scaley1, float scaley2)
 {
        R_Mesh_GetSpace(4);
-       varray_texcoord2f[0][0] = 1;varray_texcoord2f[0][1] = 1;
-       varray_texcoord2f[0][2] = 1;varray_texcoord2f[0][3] = 0;
-       varray_texcoord2f[0][4] = 0;varray_texcoord2f[0][5] = 0;
-       varray_texcoord2f[0][6] = 0;varray_texcoord2f[0][7] = 1;
+       varray_texcoord2f[0][0] = 0;varray_texcoord2f[0][1] = 1;
+       varray_texcoord2f[0][2] = 0;varray_texcoord2f[0][3] = 0;
+       varray_texcoord2f[0][4] = 1;varray_texcoord2f[0][5] = 0;
+       varray_texcoord2f[0][6] = 1;varray_texcoord2f[0][7] = 1;
        varray_vertex3f[ 0] = origin[0] + left[0] * scalex2 + up[0] * scaley1;
        varray_vertex3f[ 1] = origin[1] + left[1] * scalex2 + up[1] * scaley1;
        varray_vertex3f[ 2] = origin[2] + left[2] * scalex2 + up[2] * scaley1;