]> git.rm.cloudns.org Git - xonotic/darkplaces.git/commitdiff
fix lightmap merging with external lightmaps
authordivverent <divverent@d7cf8633-e32d-0410-b094-e92efae38249>
Thu, 20 Aug 2009 07:34:50 +0000 (07:34 +0000)
committerdivverent <divverent@d7cf8633-e32d-0410-b094-e92efae38249>
Thu, 20 Aug 2009 07:34:50 +0000 (07:34 +0000)
git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@9133 d7cf8633-e32d-0410-b094-e92efae38249

model_brush.c

index 69e683a5403229bac7b42b94021b63d29fd0eca7..f2657c0e0cd45be4b9659055f7d1728c7e82fb6c 100644 (file)
@@ -4615,13 +4615,15 @@ static void Mod_Q3BSP_LoadLightmaps(lump_t *l, lump_t *faceslump)
 
        // figure out what the most reasonable merge power is within limits
        loadmodel->brushq3.num_lightmapmergepower = 0;
-       for (power = 1;power <= mod_q3bsp_lightmapmergepower.integer && (128 << power) <= gl_max_texture_size && (1 << (power * 2)) < 4 * (count >> loadmodel->brushq3.deluxemapping);power++)
+       for (power = 1;power <= mod_q3bsp_lightmapmergepower.integer && (128 << power) <= gl_max_texture_sizepower++)
                loadmodel->brushq3.num_lightmapmergepower = power;
 
        // as the lightmap size may actually be another power of 2, adjust for this
        // (and interpret it as the power for 128x128 lightmaps above)
        for(i = 0; (128 << i) < size; ++i)
                loadmodel->brushq3.num_lightmapmergepower -= 1;
+       while ((1 << (loadmodel->brushq3.num_lightmapmergepower * 2)) >= 4 * (count >> loadmodel->brushq3.deluxemapping))
+               loadmodel->brushq3.num_lightmapmergepower -= 1;
        if(loadmodel->brushq3.num_lightmapmergepower < 0)
                loadmodel->brushq3.num_lightmapmergepower = 0;