]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - cl_main.c
Add TEXF_PERSISTENT and R_PurgeTexture which only frees textures if that flag isn...
[xonotic/darkplaces.git] / cl_main.c
index 04a34aaf4d8b322e4b8945ac43bcf5e61989fd40..a0b5f09d3bd2c1153be48ff69223c73d47ba8565 100644 (file)
--- a/cl_main.c
+++ b/cl_main.c
@@ -21,6 +21,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 
 #include "quakedef.h"
 #include "cl_collision.h"
+#include "cl_gecko.h"
 #include "cl_video.h"
 #include "image.h"
 #include "csprogs.h"
@@ -63,7 +64,7 @@ cvar_t cl_explosions_size_start = {CVAR_SAVE, "cl_explosions_size_start", "16","
 cvar_t cl_explosions_size_end = {CVAR_SAVE, "cl_explosions_size_end", "128","ending alpha of an explosion shell (just before it disappears)"};
 cvar_t cl_explosions_lifetime = {CVAR_SAVE, "cl_explosions_lifetime", "0.5","how long an explosion shell lasts"};
 
-cvar_t cl_stainmaps = {CVAR_SAVE, "cl_stainmaps", "1","stains lightmaps, much faster than decals but blurred"};
+cvar_t cl_stainmaps = {CVAR_SAVE, "cl_stainmaps", "0","stains lightmaps, much faster than decals but blurred"};
 cvar_t cl_stainmaps_clearonload = {CVAR_SAVE, "cl_stainmaps_clearonload", "1","clear stainmaps on map restart"};
 
 cvar_t cl_beams_polygons = {CVAR_SAVE, "cl_beams_polygons", "1","use beam polygons instead of models"};
@@ -863,11 +864,11 @@ void CL_UpdateNetworkEntity(entity_t *e, int recursionlimit, qboolean interpolat
        {
                unsigned char *cbcolor;
                e->render.colormap = e->state_current.colormap;
-               cbcolor = (unsigned char *) (&palette_pantscolormap[e->render.colormap & 0xF]);
+               cbcolor = palette_rgb_pantscolormap[e->render.colormap & 0xF];
                e->render.colormap_pantscolor[0] = cbcolor[0] * (1.0f / 255.0f);
                e->render.colormap_pantscolor[1] = cbcolor[1] * (1.0f / 255.0f);
                e->render.colormap_pantscolor[2] = cbcolor[2] * (1.0f / 255.0f);
-               cbcolor = (unsigned char *) (&palette_shirtcolormap[(e->render.colormap & 0xF0) >> 4]);
+               cbcolor = palette_rgb_shirtcolormap[(e->render.colormap & 0xF0) >> 4];
                e->render.colormap_shirtcolor[0] = cbcolor[0] * (1.0f / 255.0f);
                e->render.colormap_shirtcolor[1] = cbcolor[1] * (1.0f / 255.0f);
                e->render.colormap_shirtcolor[2] = cbcolor[2] * (1.0f / 255.0f);
@@ -876,11 +877,11 @@ void CL_UpdateNetworkEntity(entity_t *e, int recursionlimit, qboolean interpolat
        {
                unsigned char *cbcolor;
                e->render.colormap = cl.scores[e->state_current.colormap - 1].colors; // color it
-               cbcolor = (unsigned char *) (&palette_pantscolormap[e->render.colormap & 0xF]);
+               cbcolor = palette_rgb_pantscolormap[e->render.colormap & 0xF];
                e->render.colormap_pantscolor[0] = cbcolor[0] * (1.0f / 255.0f);
                e->render.colormap_pantscolor[1] = cbcolor[1] * (1.0f / 255.0f);
                e->render.colormap_pantscolor[2] = cbcolor[2] * (1.0f / 255.0f);
-               cbcolor = (unsigned char *) (&palette_shirtcolormap[(e->render.colormap & 0xF0) >> 4]);
+               cbcolor = palette_rgb_shirtcolormap[(e->render.colormap & 0xF0) >> 4];
                e->render.colormap_shirtcolor[0] = cbcolor[0] * (1.0f / 255.0f);
                e->render.colormap_shirtcolor[1] = cbcolor[1] * (1.0f / 255.0f);
                e->render.colormap_shirtcolor[2] = cbcolor[2] * (1.0f / 255.0f);
@@ -1392,7 +1393,7 @@ void CL_LinkNetworkEntity(entity_t *e)
                // * 4 for the expansion from 0-255 to 0-1023 range,
                // / 255 to scale down byte colors
                dlightradius = max(dlightradius, e->state_current.glowsize * 4);
-               VectorMA(dlightcolor, (1.0f / 255.0f), (unsigned char *)&palette_complete[e->state_current.glowcolor], dlightcolor);
+               VectorMA(dlightcolor, (1.0f / 255.0f), palette_rgb[e->state_current.glowcolor], dlightcolor);
        }
        // make the glow dlight
        if (dlightradius > 0 && (dlightcolor[0] || dlightcolor[1] || dlightcolor[2]) && !(e->render.flags & RENDER_VIEWMODEL) && r_refdef.numlights < MAX_DLIGHTS)
@@ -2302,6 +2303,9 @@ void CL_Init (void)
        CL_Screen_Init();
 
        CL_Video_Init();
+#ifdef SUPPORT_GECKO
+       CL_Gecko_Init();
+#endif
 }