From 38a72e018af7ecd39b43387dbd43425a1a0c064d Mon Sep 17 00:00:00 2001 From: Yamagi Burmeister Date: Sat, 6 Aug 2016 17:06:37 +0200 Subject: [PATCH] Implement gl_overbrightbits in non multitexturing mode This is still slighty broken, looks the overbright bits are applied in both R_DrawGLPoly() and R_DrawGLPolyChain(). Fix to come. --- src/client/refresh/r_surf.c | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/src/client/refresh/r_surf.c b/src/client/refresh/r_surf.c index 5448e997..5e647d28 100644 --- a/src/client/refresh/r_surf.c +++ b/src/client/refresh/r_surf.c @@ -72,6 +72,13 @@ R_DrawGLPoly(glpoly_t *p) v = p->verts[0]; + if (gl_overbrightbits->value) + { + R_TexEnv(GL_COMBINE_EXT); + R_SelectTexture(GL_TEXTURE1); + glTexEnvi(GL_TEXTURE_ENV, GL_RGB_SCALE_EXT, gl_overbrightbits->value); + } + glEnableClientState( GL_VERTEX_ARRAY ); glEnableClientState( GL_TEXTURE_COORD_ARRAY ); @@ -112,6 +119,13 @@ R_DrawGLFlowingPoly(msurface_t *fa) } v = p->verts [ 0 ]; + if (gl_overbrightbits->value) + { + R_TexEnv(GL_COMBINE_EXT); + R_SelectTexture(GL_TEXTURE1); + glTexEnvi(GL_TEXTURE_ENV, GL_RGB_SCALE_EXT, gl_overbrightbits->value); + } + glEnableClientState( GL_VERTEX_ARRAY ); glEnableClientState( GL_TEXTURE_COORD_ARRAY ); @@ -195,6 +209,13 @@ R_DrawGLPolyChain(glpoly_t *p, float soffset, float toffset) return; } + if (gl_overbrightbits->value) + { + R_TexEnv(GL_COMBINE_EXT); + R_SelectTexture(GL_TEXTURE1); + glTexEnvi(GL_TEXTURE_ENV, GL_RGB_SCALE_EXT, gl_overbrightbits->value); + } + glEnableClientState( GL_VERTEX_ARRAY ); glEnableClientState( GL_TEXTURE_COORD_ARRAY ); @@ -226,6 +247,13 @@ R_DrawGLPolyChain(glpoly_t *p, float soffset, float toffset) v = p->verts [ 0 ]; + if (gl_overbrightbits->value) + { + R_TexEnv(GL_COMBINE_EXT); + R_SelectTexture(GL_TEXTURE1); + glTexEnvi(GL_TEXTURE_ENV, GL_RGB_SCALE_EXT, gl_overbrightbits->value); + } + glEnableClientState( GL_VERTEX_ARRAY ); glEnableClientState( GL_TEXTURE_COORD_ARRAY );