Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- diff --git a/engine/client/gl_local.h b/engine/client/gl_local.h
- index da3f866..8d33dd6 100644
- --- a/engine/client/gl_local.h
- +++ b/engine/client/gl_local.h
- @@ -656,6 +656,7 @@ extern convar_t *gl_nosort;
- extern convar_t *gl_clear;
- extern convar_t *gl_test; // cvar to testify new effects
- extern convar_t *gl_msaa;
- +extern convar_t *gl_overbright;
- extern convar_t *r_speeds;
- extern convar_t *r_fullbright;
- diff --git a/engine/client/gl_rlight.c b/engine/client/gl_rlight.c
- index 24cdf47..11805bc 100644
- --- a/engine/client/gl_rlight.c
- +++ b/engine/client/gl_rlight.c
- @@ -71,12 +71,12 @@ void CL_RunLightStyles( void )
- else if( ls->length == 1 )
- {
- // single length style so don't bother interpolating
- - tr.lightstylevalue[i] = ls->map[0] * 22 * scale;
- + tr.lightstylevalue[i] = max(ls->map[0] * 22 * scale - 4, 0);
- continue;
- }
- else if( !ls->interp || !CVAR_TO_BOOL( cl_lightstyle_lerping ))
- {
- - tr.lightstylevalue[i] = ls->map[flight%ls->length] * 22 * scale;
- + tr.lightstylevalue[i] = max(ls->map[flight%ls->length] * 22 * scale - 4, 0);
- continue;
- }
- diff --git a/engine/client/gl_rsurf.c b/engine/client/gl_rsurf.c
- index 6c1b833..5f7b9ca 100644
- --- a/engine/client/gl_rsurf.c
- +++ b/engine/client/gl_rsurf.c
- @@ -851,7 +851,10 @@ void R_BlendLightmaps( void )
- pglDepthFunc( GL_EQUAL );
- pglDisable( GL_ALPHA_TEST );
- - pglBlendFunc( GL_ZERO, GL_SRC_COLOR );
- + if (gl_overbright->value)
- + pglBlendFunc( GL_DST_COLOR, GL_SRC_COLOR );
- + else
- + pglBlendFunc(GL_ZERO, GL_SRC_COLOR);
- pglTexEnvi( GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE );
- // render static lightmaps first
- diff --git a/engine/client/gl_sprite.c b/engine/client/gl_sprite.c
- index 4538f36..7f07a41 100644
- --- a/engine/client/gl_sprite.c
- +++ b/engine/client/gl_sprite.c
- @@ -932,6 +932,11 @@ void R_DrawSpriteModel( cl_entity_t *e )
- if( e->curstate.rendermode == kRenderGlow || e->curstate.rendermode == kRenderTransAdd )
- R_AllowFog( false );
- + // all sprites can have color
- + pglTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
- + pglEnable(GL_ALPHA_TEST);
- +
- +
- // select properly rendermode
- switch( e->curstate.rendermode )
- {
- @@ -941,6 +946,12 @@ void R_DrawSpriteModel( cl_entity_t *e )
- case kRenderTransTexture:
- pglEnable( GL_BLEND );
- pglBlendFunc( GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA );
- + if (gl_overbright->value)
- + {
- + pglTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_COMBINE_ARB);
- + pglTexEnvf(GL_TEXTURE_ENV, GL_COMBINE_RGB_ARB, GL_MODULATE);
- + pglTexEnvi(GL_TEXTURE_ENV, GL_RGB_SCALE_ARB, 2);
- + }
- break;
- case kRenderGlow:
- pglDisable( GL_DEPTH_TEST );
- @@ -955,9 +966,6 @@ void R_DrawSpriteModel( cl_entity_t *e )
- break;
- }
- - // all sprites can have color
- - pglTexEnvi( GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE );
- - pglEnable( GL_ALPHA_TEST );
- // NOTE: never pass sprites with rendercolor '0 0 0' it's a stupid Valve Hammer Editor bug
- if( e->curstate.rendercolor.r || e->curstate.rendercolor.g || e->curstate.rendercolor.b )
- diff --git a/engine/client/gl_studio.c b/engine/client/gl_studio.c
- index 3ec7057..cb82d28 100644
- --- a/engine/client/gl_studio.c
- +++ b/engine/client/gl_studio.c
- @@ -1674,9 +1674,9 @@ void R_StudioDynamicLight( cl_entity_t *ent, alight_t *plight )
- {
- VectorSet( lightDir, mv->skyvec_x, mv->skyvec_y, mv->skyvec_z );
- - light.r = LightToTexGamma( bound( 0, mv->skycolor_r, 255 ));
- - light.g = LightToTexGamma( bound( 0, mv->skycolor_g, 255 ));
- - light.b = LightToTexGamma( bound( 0, mv->skycolor_b, 255 ));
- + light.r = bound( 0, mv->skycolor_r, 1024 );
- + light.g = bound( 0, mv->skycolor_g, 1024 );
- + light.b = bound( 0, mv->skycolor_b, 1024 );
- }
- }
- @@ -1780,7 +1780,7 @@ void R_StudioDynamicLight( cl_entity_t *ent, alight_t *plight )
- plight->color[1] = finalLight[1] * ( 1.0f / total );
- plight->color[2] = finalLight[2] * ( 1.0f / total );
- }
- - else VectorSet( plight->color, 1.0f, 1.0f, 1.0f );
- + else VectorSet( plight->color, 0.0f, 0.0f, 0.0f );
- if( plight->ambientlight > 128 )
- plight->ambientlight = 128;
- @@ -1840,7 +1840,7 @@ void R_StudioEntityLight( alight_t *lightinfo )
- if( f > r2 ) minstrength = r2 / f;
- else minstrength = 1.0f;
- - if( minstrength > 0.05f )
- + if( minstrength > 0.005f )
- {
- if( g_studio.numlocallights >= MAX_LOCALLIGHTS )
- {
- @@ -2464,6 +2464,7 @@ static void R_StudioDrawHulls( void )
- GL_Bind( GL_TEXTURE0, tr.whiteTexture );
- pglTexEnvf( GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE );
- + if (gl_overbright->value)
- for( i = 0; i < m_pStudioHeader->numhitboxes; i++ )
- {
- @@ -2891,7 +2892,13 @@ static void R_StudioSetupRenderer( int rendermode )
- pglTexEnvf( GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE );
- pglDisable( GL_ALPHA_TEST );
- pglShadeModel( GL_SMOOTH );
- -
- + if (gl_overbright->value)
- + {
- + pglTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_COMBINE_ARB);
- + pglTexEnvf(GL_TEXTURE_ENV, GL_COMBINE_RGB_ARB, GL_MODULATE);
- + pglTexEnvi(GL_TEXTURE_ENV, GL_RGB_SCALE_ARB, 2);
- + }
- +
- // a point to setup local to world transform for boneweighted models
- if( phdr && FBitSet( phdr->flags, STUDIO_HAS_BONEINFO ))
- {
- diff --git a/engine/client/gl_vidnt.c b/engine/client/gl_vidnt.c
- index 39632f6..650146b 100644
- --- a/engine/client/gl_vidnt.c
- +++ b/engine/client/gl_vidnt.c
- @@ -48,6 +48,7 @@ convar_t *gl_vsync;
- convar_t *gl_clear;
- convar_t *gl_test;
- convar_t *gl_msaa;
- +convar_t *gl_overbright;
- convar_t *window_xpos;
- convar_t *window_ypos;
- @@ -1584,7 +1585,7 @@ void GL_InitCommands( void )
- r_fullbright = Cvar_Get( "r_fullbright", "0", FCVAR_CHEAT, "disable lightmaps, get fullbright for entities" );
- r_norefresh = Cvar_Get( "r_norefresh", "0", 0, "disable 3D rendering (use with caution)" );
- r_lighting_extended = Cvar_Get( "r_lighting_extended", "1", FCVAR_ARCHIVE, "allow to get lighting from bmodels too" );
- - r_lighting_modulate = Cvar_Get( "r_lighting_modulate", "0.6", FCVAR_ARCHIVE, "lightstyles modulate scale" );
- + r_lighting_modulate = Cvar_Get( "r_lighting_modulate", "0.5", FCVAR_ARCHIVE, "lightstyles modulate scale" );
- r_lighting_ambient = Cvar_Get( "r_lighting_ambient", "0.3", FCVAR_ARCHIVE, "map ambient lighting scale" );
- r_adjust_fov = Cvar_Get( "r_adjust_fov", "1", FCVAR_ARCHIVE, "making FOV adjustment for wide-screens" );
- r_novis = Cvar_Get( "r_novis", "0", 0, "ignore vis information (perfomance test)" );
- @@ -1620,6 +1621,7 @@ void GL_InitCommands( void )
- gl_wireframe = Cvar_Get( "gl_wireframe", "0", FCVAR_ARCHIVE|FCVAR_SPONLY, "show wireframe overlay" );
- gl_round_down = Cvar_Get( "gl_round_down", "2", FCVAR_RENDERINFO, "round texture sizes to nearest POT value" );
- gl_msaa = Cvar_Get( "gl_msaa", "1", FCVAR_ARCHIVE, "enable multi sample anti-aliasing" );
- + gl_overbright = Cvar_Get("gl_overbright", "1", FCVAR_ARCHIVE, "Restore software rendering-esque overbrighting");
- // these cvar not used by engine but some mods requires this
- gl_polyoffset = Cvar_Get( "gl_polyoffset", "2.0", FCVAR_ARCHIVE, "polygon offset for decals" );
- @@ -1627,7 +1629,7 @@ void GL_InitCommands( void )
- // make sure gl_vsync is checked after vid_restart
- SetBits( gl_vsync->flags, FCVAR_CHANGED );
- - vid_gamma = Cvar_Get( "gamma", "2.5", FCVAR_ARCHIVE, "gamma amount" );
- + vid_gamma = Cvar_Get( "gamma", "2.0", FCVAR_ARCHIVE, "gamma amount" );
- vid_brightness = Cvar_Get( "brightness", "0.0", FCVAR_ARCHIVE, "brighntess factor" );
- vid_mode = Cvar_Get( "vid_mode", VID_AUTOMODE, FCVAR_RENDERINFO|FCVAR_VIDRESTART, "display resolution mode" );
- vid_fullscreen = Cvar_Get( "fullscreen", "0", FCVAR_RENDERINFO|FCVAR_VIDRESTART, "enable fullscreen mode" );
- diff --git a/engine/common/common.h b/engine/common/common.h
- index a016422..20427ac 100644
- --- a/engine/common/common.h
- +++ b/engine/common/common.h
- @@ -64,9 +64,9 @@ XASH SPECIFIC - sort of hack that works only in Xash3D not in GoldSrc
- #define EXPORT __declspec( dllexport )
- #define BIT( n ) (1<<( n ))
- -#define GAMMA ( 2.2 ) // Valve Software gamma
- -#define INVGAMMA ( 1.0 / 2.2 ) // back to 1.0
- -#define TEXGAMMA ( 0.9 ) // compensate dim textures
- +#define GAMMA ( 2.0 ) // Valve Software gamma
- +#define INVGAMMA ( 1.0 / 2.0 ) // back to 1.0
- +#define TEXGAMMA ( 1.0 ) // compensate dim textures
- #define SetBits( iBitVector, bits ) ((iBitVector) = (iBitVector) | (bits))
- #define ClearBits( iBitVector, bits ) ((iBitVector) = (iBitVector) & ~(bits))
- #define FBitSet( iBitVector, bit ) ((iBitVector) & (bit))
- diff --git a/engine/common/gamma.c b/engine/common/gamma.c
- index fd16e39..f28df5a 100644
- --- a/engine/common/gamma.c
- +++ b/engine/common/gamma.c
- @@ -32,7 +32,8 @@ void BuildGammaTable( float lightgamma, float brightness )
- lightgamma = bound( 1.8f, lightgamma, 3.0f );
- brightness = bound( 0.0f, brightness, 10.0f );
- -
- + if (lightgamma != 2.0)
- + {
- if( brightness <= 0.0f )
- g3 = 0.125f;
- else if( brightness > 1.0f )
- @@ -59,6 +60,12 @@ void BuildGammaTable( float lightgamma, float brightness )
- lightgammatable[i] = bound( 0, inf, 255 );
- }
- + }
- + else
- + {
- + for (i = 0; i < 256; i++)
- + lightgammatable[i] = bound(0, i, 255);
- + }
- for( i = 0; i < 256; i++ )
- {
- diff --git a/engine/server/sv_main.c b/engine/server/sv_main.c
- index a9f56e7..81f13ed 100644
- --- a/engine/server/sv_main.c
- +++ b/engine/server/sv_main.c
- @@ -823,7 +823,7 @@ void SV_Init( void )
- sv_maxclients = Cvar_Get( "maxplayers", "1", FCVAR_LATCH, "server max capacity" );
- sv_check_errors = Cvar_Get( "sv_check_errors", "0", FCVAR_ARCHIVE, "check edicts for errors" );
- public_server = Cvar_Get ("public", "0", 0, "change server type from private to public" );
- - sv_lighting_modulate = Cvar_Get( "r_lighting_modulate", "0.6", FCVAR_ARCHIVE, "lightstyles modulate scale" );
- + sv_lighting_modulate = Cvar_Get( "r_lighting_modulate", "0.5", FCVAR_ARCHIVE, "lightstyles modulate scale" );
- sv_reconnect_limit = Cvar_Get ("sv_reconnect_limit", "3", FCVAR_ARCHIVE, "max reconnect attempts" );
- Cvar_RegisterVariable (&sv_failuretime );
- Cvar_RegisterVariable (&sv_unlag);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement