diff --git a/THANKS b/THANKS index f21508f..d02af36 100644 --- a/THANKS +++ b/THANKS @@ -27,5 +27,6 @@ Brady McCary Faried Nawaz 'RvB' Victor Shkamerda +Jean-François St-Amour Jeff Teunissen Ulrich 'Q' Spoerlein diff --git a/TODO b/TODO index 58a4a44..ce3f22f 100644 --- a/TODO +++ b/TODO @@ -30,11 +30,11 @@ from http://www.quakesrc.org/?Page=tutorials&Dir=Quake2 : (replace - with X when done) X Removing shadows on certain objects -- Fixing dlight shine trough +X Fixing dlight shine trough - Fix for left over icons on windows taskbar - Adding a clock to the console - Adding Q3A's cvar list -- Transparent console +X Transparent console - How to add .m32 texture support to the Quake2 engine and compile tools. - TGA textures X Stencil buffered shadows diff --git a/src/gl_light.c b/src/gl_light.c index 05add0e..af3724c 100644 --- a/src/gl_light.c +++ b/src/gl_light.c @@ -120,7 +120,7 @@ void R_MarkLights (dlight_t *light, int bit, mnode_t *node) cplane_t *splitplane; float dist; msurface_t *surf; - int i; + int i, sidebit; if (node->contents != -1) return; @@ -143,6 +143,17 @@ void R_MarkLights (dlight_t *light, int bit, mnode_t *node) surf = r_worldmodel->surfaces + node->firstsurface; for (i=0 ; inumsurfaces ; i++, surf++) { + dist = DotProduct (light->origin, surf->plane->normal) - surf->plane->dist; + + if (dist >= 0) + sidebit = 0; + else + sidebit = SURF_PLANEBACK; + + if ( (surf->flags & SURF_PLANEBACK) != sidebit ) + continue; + + if (surf->dlightframe != r_dlightframecount) { surf->dlightbits = 0; @@ -421,9 +432,9 @@ void R_AddDynamicLights (msurface_t *surf) if ( fdist < fminlight ) { - pfBL[0] += ( frad - fdist ) * dl->color[0]; - pfBL[1] += ( frad - fdist ) * dl->color[1]; - pfBL[2] += ( frad - fdist ) * dl->color[2]; + pfBL[0] += ( fminlight - fdist ) * dl->color[0]; + pfBL[1] += ( fminlight - fdist ) * dl->color[1]; + pfBL[2] += ( fminlight - fdist ) * dl->color[2]; } } } diff --git a/src/gl_rmain.c b/src/gl_rmain.c index dbd4db6..ef51b13 100644 --- a/src/gl_rmain.c +++ b/src/gl_rmain.c @@ -895,7 +895,7 @@ void R_SetGL2D (void) qglDisable (GL_CULL_FACE); qglDisable (GL_BLEND); qglEnable (GL_ALPHA_TEST); - qglColor4ubv (color_white); + qglColor4f (1,1,1,0.3); } /*