]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - r_light.c
two-layer sky rendering now uses GL_ARB_texture_env_combine if available to render...
[xonotic/darkplaces.git] / r_light.c
index 5e05081eae9da30cda8b249a02e1c198ca0edd39..f8f797c4b4c71ef95e9639ce92869f6c498d6e35 100644 (file)
--- a/r_light.c
+++ b/r_light.c
@@ -21,7 +21,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 
 #include "quakedef.h"
 
-cvar_t r_lightmodels = {"r_lightmodels", "1"};
+cvar_t r_lightmodels = {0, "r_lightmodels", "1"};
 
 void r_light_start(void)
 {
@@ -249,7 +249,7 @@ void R_VisMarkLights (vec3_t lightorigin, dlight_t *light, int bit, int bitindex
        }
        else
        {
-               int             i, k, l, m, c;
+               int             i, k, m, c, leafnum;
                msurface_t *surf, **mark;
                mleaf_t *leaf;
                byte    *in = pvsleaf->compressed_vis;
@@ -276,14 +276,14 @@ void R_VisMarkLights (vec3_t lightorigin, dlight_t *light, int bit, int bitindex
                        c = *in++;
                        if (c)
                        {
-                               l = model->numleafs - (k << 3);
-                               if (l > 8)
-                                       l = 8;
-                               for (i=0 ; i<l ; i++)
+                               for (i = 0;i < 8;i++)
                                {
                                        if (c & (1<<i))
                                        {
-                                               leaf = &model->leafs[(k << 3)+i+1];
+                                               leafnum = (k << 3)+i+1;
+                                               if (leafnum > model->numleafs)
+                                                       return;
+                                               leaf = &model->leafs[leafnum];
 //                                             if (leaf->visframe != r_framecount)
 //                                                     continue;
 //                                             if (leaf->contents == CONTENTS_SOLID)