]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - gl_rmain.c
-Moved findflags and findchainflags to the prvm_cmds.c.
[xonotic/darkplaces.git] / gl_rmain.c
index b5b3859f24dd98e1a9368a2d1ef3b1980e1f78d5..656aa1182d4716c987126a223608e9b757f2f910 100644 (file)
@@ -606,7 +606,7 @@ void GL_Init (void)
        VID_CheckExtensions();
 
        // LordHavoc: report supported extensions
-       Con_DPrintf("\nengine extensions: %s\n", ENGINE_EXTENSIONS);
+       Con_DPrintf("\nengine extensions: %s\n", vm_sv_extensions );
 
        // clear to black (loading plaque will be seen over this)
        qglClearColor(0,0,0,1);
@@ -1482,6 +1482,8 @@ void R_UpdateTextureInfo(const entity_render_t *ent, texture_t *t)
                t->currentmaterialflags |= MATERIALFLAG_ADD | MATERIALFLAG_TRANSPARENT;
        else if (t->currentalpha < 1)
                t->currentmaterialflags |= MATERIALFLAG_ALPHA | MATERIALFLAG_TRANSPARENT;
+       if (ent->effects & EF_NODEPTHTEST)
+               t->currentmaterialflags |= MATERIALFLAG_NODEPTHTEST;
 }
 
 void R_UpdateAllTextureInfo(entity_render_t *ent)
@@ -1712,7 +1714,7 @@ static void R_DrawTextureSurfaceList(const entity_render_t *ent, texture_t *text
        float *c;
        float diff[3];
        float colorpants[3], colorshirt[3];
-       float f, r, g, b, a, base, colorscale;
+       float f, r, g, b, a, colorscale;
        const msurface_t *surface;
        qboolean dolightmap;
        qboolean doambient;
@@ -1902,7 +1904,6 @@ static void R_DrawTextureSurfaceList(const entity_render_t *ent, texture_t *text
                        g = ent->colormod[1] * colorscale;
                        b = ent->colormod[2] * colorscale;
                        a = texture->currentalpha;
-                       base = r_ambient.value * (1.0f / 64.0f);
                        // q3bsp has no lightmap updates, so the lightstylevalue that
                        // would normally be baked into the lightmaptexture must be
                        // applied to the color
@@ -2174,10 +2175,10 @@ static void R_DrawTextureSurfaceList(const entity_render_t *ent, texture_t *text
                                colorscale *= 0.5f;
                        }
                        R_Mesh_State(&m);
-                       base = r_ambient.value * (1.0f / 64.0f);
-                       r = ent->colormod[0] * colorscale * base;
-                       g = ent->colormod[1] * colorscale * base;
-                       b = ent->colormod[2] * colorscale * base;
+                       colorscale *= r_ambient.value * (1.0f / 64.0f);
+                       r = ent->colormod[0] * colorscale;
+                       g = ent->colormod[1] * colorscale;
+                       b = ent->colormod[2] * colorscale;
                        a = texture->currentalpha;
                        applycolor = r != 1 || g != 1 || b != 1 || a != 1;
                        for (texturesurfaceindex = 0;texturesurfaceindex < texturenumsurfaces;texturesurfaceindex++)
@@ -2340,7 +2341,7 @@ void R_QueueTextureSurfaceList(entity_render_t *ent, texture_t *texture, int tex
                                tempcenter[1] = (surface->mins[1] + surface->maxs[1]) * 0.5f;
                                tempcenter[2] = (surface->mins[2] + surface->maxs[2]) * 0.5f;
                                Matrix4x4_Transform(&ent->matrix, tempcenter, center);
-                               R_MeshQueue_AddTransparent(ent->effects & EF_NODEPTHTEST ? r_vieworigin : center, RSurfShader_Transparent_Callback, ent, surface - ent->model->data_surfaces);
+                               R_MeshQueue_AddTransparent(texture->currentmaterialflags & MATERIALFLAG_NODEPTHTEST ? r_vieworigin : center, RSurfShader_Transparent_Callback, ent, surface - ent->model->data_surfaces);
                        }
                }
        }