Advertisement
Guest User

Untitled

a guest
May 26th, 2021
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Diff 10.03 KB | None | 0 0
  1. diff --git a/engine/client/gl_local.h b/engine/client/gl_local.h
  2. index da3f866..8d33dd6 100644
  3. --- a/engine/client/gl_local.h
  4. +++ b/engine/client/gl_local.h
  5. @@ -656,6 +656,7 @@ extern convar_t *gl_nosort;
  6.  extern convar_t    *gl_clear;
  7.  extern convar_t    *gl_test;       // cvar to testify new effects
  8.  extern convar_t    *gl_msaa;  
  9. +extern convar_t *gl_overbright;
  10.  
  11.  extern convar_t    *r_speeds;
  12.  extern convar_t    *r_fullbright;
  13. diff --git a/engine/client/gl_rlight.c b/engine/client/gl_rlight.c
  14. index 24cdf47..11805bc 100644
  15. --- a/engine/client/gl_rlight.c
  16. +++ b/engine/client/gl_rlight.c
  17. @@ -71,12 +71,12 @@ void CL_RunLightStyles( void )
  18.         else if( ls->length == 1 )
  19.         {
  20.             // single length style so don't bother interpolating
  21. -           tr.lightstylevalue[i] = ls->map[0] * 22 * scale;
  22. +           tr.lightstylevalue[i] = max(ls->map[0] * 22 * scale - 4, 0);
  23.             continue;
  24.         }
  25.         else if( !ls->interp || !CVAR_TO_BOOL( cl_lightstyle_lerping ))
  26.         {
  27. -           tr.lightstylevalue[i] = ls->map[flight%ls->length] * 22 * scale;
  28. +           tr.lightstylevalue[i] = max(ls->map[flight%ls->length] * 22 * scale - 4, 0);
  29.             continue;
  30.         }
  31.  
  32. diff --git a/engine/client/gl_rsurf.c b/engine/client/gl_rsurf.c
  33. index 6c1b833..5f7b9ca 100644
  34. --- a/engine/client/gl_rsurf.c
  35. +++ b/engine/client/gl_rsurf.c
  36. @@ -851,7 +851,10 @@ void R_BlendLightmaps( void )
  37.     pglDepthFunc( GL_EQUAL );
  38.  
  39.     pglDisable( GL_ALPHA_TEST );
  40. -   pglBlendFunc( GL_ZERO, GL_SRC_COLOR );
  41. +   if (gl_overbright->value)
  42. +       pglBlendFunc( GL_DST_COLOR, GL_SRC_COLOR );
  43. +   else
  44. +       pglBlendFunc(GL_ZERO, GL_SRC_COLOR);
  45.     pglTexEnvi( GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE );
  46.  
  47.     // render static lightmaps first
  48. diff --git a/engine/client/gl_sprite.c b/engine/client/gl_sprite.c
  49. index 4538f36..7f07a41 100644
  50. --- a/engine/client/gl_sprite.c
  51. +++ b/engine/client/gl_sprite.c
  52. @@ -932,6 +932,11 @@ void R_DrawSpriteModel( cl_entity_t *e )
  53.     if( e->curstate.rendermode == kRenderGlow || e->curstate.rendermode == kRenderTransAdd )
  54.         R_AllowFog( false );
  55.  
  56. +   // all sprites can have color
  57. +   pglTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
  58. +   pglEnable(GL_ALPHA_TEST);
  59. +
  60. +
  61.     // select properly rendermode
  62.     switch( e->curstate.rendermode )
  63.     {
  64. @@ -941,6 +946,12 @@ void R_DrawSpriteModel( cl_entity_t *e )
  65.     case kRenderTransTexture:
  66.         pglEnable( GL_BLEND );
  67.         pglBlendFunc( GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA );
  68. +       if (gl_overbright->value)
  69. +       {
  70. +           pglTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_COMBINE_ARB);
  71. +           pglTexEnvf(GL_TEXTURE_ENV, GL_COMBINE_RGB_ARB, GL_MODULATE);
  72. +           pglTexEnvi(GL_TEXTURE_ENV, GL_RGB_SCALE_ARB, 2);
  73. +       }
  74.         break;
  75.     case kRenderGlow:
  76.         pglDisable( GL_DEPTH_TEST );
  77. @@ -955,9 +966,6 @@ void R_DrawSpriteModel( cl_entity_t *e )
  78.         break;
  79.     }
  80.  
  81. -   // all sprites can have color
  82. -   pglTexEnvi( GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE );
  83. -   pglEnable( GL_ALPHA_TEST );
  84.  
  85.     // NOTE: never pass sprites with rendercolor '0 0 0' it's a stupid Valve Hammer Editor bug
  86.     if( e->curstate.rendercolor.r || e->curstate.rendercolor.g || e->curstate.rendercolor.b )
  87. diff --git a/engine/client/gl_studio.c b/engine/client/gl_studio.c
  88. index 3ec7057..cb82d28 100644
  89. --- a/engine/client/gl_studio.c
  90. +++ b/engine/client/gl_studio.c
  91. @@ -1674,9 +1674,9 @@ void R_StudioDynamicLight( cl_entity_t *ent, alight_t *plight )
  92.         {
  93.             VectorSet( lightDir, mv->skyvec_x, mv->skyvec_y, mv->skyvec_z );
  94.  
  95. -           light.r = LightToTexGamma( bound( 0, mv->skycolor_r, 255 ));
  96. -           light.g = LightToTexGamma( bound( 0, mv->skycolor_g, 255 ));
  97. -           light.b = LightToTexGamma( bound( 0, mv->skycolor_b, 255 ));
  98. +           light.r = bound( 0, mv->skycolor_r, 1024 );
  99. +           light.g = bound( 0, mv->skycolor_g, 1024 );
  100. +           light.b = bound( 0, mv->skycolor_b, 1024 );
  101.         }
  102.     }
  103.  
  104. @@ -1780,7 +1780,7 @@ void R_StudioDynamicLight( cl_entity_t *ent, alight_t *plight )
  105.         plight->color[1] = finalLight[1] * ( 1.0f / total );
  106.         plight->color[2] = finalLight[2] * ( 1.0f / total );
  107.     }
  108. -   else VectorSet( plight->color, 1.0f, 1.0f, 1.0f );
  109. +   else VectorSet( plight->color, 0.0f, 0.0f, 0.0f );
  110.  
  111.     if( plight->ambientlight > 128 )
  112.         plight->ambientlight = 128;
  113. @@ -1840,7 +1840,7 @@ void R_StudioEntityLight( alight_t *lightinfo )
  114.         if( f > r2 ) minstrength = r2 / f;
  115.         else minstrength = 1.0f;
  116.  
  117. -       if( minstrength > 0.05f )
  118. +       if( minstrength > 0.005f )
  119.         {
  120.             if( g_studio.numlocallights >= MAX_LOCALLIGHTS )
  121.             {
  122. @@ -2464,6 +2464,7 @@ static void R_StudioDrawHulls( void )
  123.  
  124.     GL_Bind( GL_TEXTURE0, tr.whiteTexture );
  125.     pglTexEnvf( GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE );
  126. +   if (gl_overbright->value)
  127.  
  128.     for( i = 0; i < m_pStudioHeader->numhitboxes; i++ )
  129.     {
  130. @@ -2891,7 +2892,13 @@ static void R_StudioSetupRenderer( int rendermode )
  131.     pglTexEnvf( GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE );
  132.     pglDisable( GL_ALPHA_TEST );
  133.     pglShadeModel( GL_SMOOTH );
  134. -
  135. +   if (gl_overbright->value)
  136. +   {
  137. +       pglTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_COMBINE_ARB);
  138. +       pglTexEnvf(GL_TEXTURE_ENV, GL_COMBINE_RGB_ARB, GL_MODULATE);
  139. +       pglTexEnvi(GL_TEXTURE_ENV, GL_RGB_SCALE_ARB, 2);
  140. +   }
  141. +  
  142.     // a point to setup local to world transform for boneweighted models
  143.     if( phdr && FBitSet( phdr->flags, STUDIO_HAS_BONEINFO ))
  144.     {
  145. diff --git a/engine/client/gl_vidnt.c b/engine/client/gl_vidnt.c
  146. index 39632f6..650146b 100644
  147. --- a/engine/client/gl_vidnt.c
  148. +++ b/engine/client/gl_vidnt.c
  149. @@ -48,6 +48,7 @@ convar_t  *gl_vsync;
  150.  convar_t   *gl_clear;
  151.  convar_t   *gl_test;
  152.  convar_t   *gl_msaa;
  153. +convar_t   *gl_overbright;
  154.  
  155.  convar_t   *window_xpos;
  156.  convar_t   *window_ypos;
  157. @@ -1584,7 +1585,7 @@ void GL_InitCommands( void )
  158.     r_fullbright = Cvar_Get( "r_fullbright", "0", FCVAR_CHEAT, "disable lightmaps, get fullbright for entities" );
  159.     r_norefresh = Cvar_Get( "r_norefresh", "0", 0, "disable 3D rendering (use with caution)" );
  160.     r_lighting_extended = Cvar_Get( "r_lighting_extended", "1", FCVAR_ARCHIVE, "allow to get lighting from bmodels too" );
  161. -   r_lighting_modulate = Cvar_Get( "r_lighting_modulate", "0.6", FCVAR_ARCHIVE, "lightstyles modulate scale" );
  162. +   r_lighting_modulate = Cvar_Get( "r_lighting_modulate", "0.5", FCVAR_ARCHIVE, "lightstyles modulate scale" );
  163.     r_lighting_ambient = Cvar_Get( "r_lighting_ambient", "0.3", FCVAR_ARCHIVE, "map ambient lighting scale" );
  164.     r_adjust_fov = Cvar_Get( "r_adjust_fov", "1", FCVAR_ARCHIVE, "making FOV adjustment for wide-screens" );
  165.     r_novis = Cvar_Get( "r_novis", "0", 0, "ignore vis information (perfomance test)" );
  166. @@ -1620,6 +1621,7 @@ void GL_InitCommands( void )
  167.     gl_wireframe = Cvar_Get( "gl_wireframe", "0", FCVAR_ARCHIVE|FCVAR_SPONLY, "show wireframe overlay" );
  168.     gl_round_down = Cvar_Get( "gl_round_down", "2", FCVAR_RENDERINFO, "round texture sizes to nearest POT value" );
  169.     gl_msaa = Cvar_Get( "gl_msaa", "1", FCVAR_ARCHIVE, "enable multi sample anti-aliasing" );
  170. +   gl_overbright = Cvar_Get("gl_overbright", "1", FCVAR_ARCHIVE, "Restore software rendering-esque overbrighting");
  171.  
  172.     // these cvar not used by engine but some mods requires this
  173.     gl_polyoffset = Cvar_Get( "gl_polyoffset", "2.0", FCVAR_ARCHIVE, "polygon offset for decals" );
  174. @@ -1627,7 +1629,7 @@ void GL_InitCommands( void )
  175.     // make sure gl_vsync is checked after vid_restart
  176.     SetBits( gl_vsync->flags, FCVAR_CHANGED );
  177.  
  178. -   vid_gamma = Cvar_Get( "gamma", "2.5", FCVAR_ARCHIVE, "gamma amount" );
  179. +   vid_gamma = Cvar_Get( "gamma", "2.0", FCVAR_ARCHIVE, "gamma amount" );
  180.     vid_brightness = Cvar_Get( "brightness", "0.0", FCVAR_ARCHIVE, "brighntess factor" );
  181.     vid_mode = Cvar_Get( "vid_mode", VID_AUTOMODE, FCVAR_RENDERINFO|FCVAR_VIDRESTART, "display resolution mode" );
  182.     vid_fullscreen = Cvar_Get( "fullscreen", "0", FCVAR_RENDERINFO|FCVAR_VIDRESTART, "enable fullscreen mode" );
  183. diff --git a/engine/common/common.h b/engine/common/common.h
  184. index a016422..20427ac 100644
  185. --- a/engine/common/common.h
  186. +++ b/engine/common/common.h
  187. @@ -64,9 +64,9 @@ XASH SPECIFIC         - sort of hack that works only in Xash3D not in GoldSrc
  188.  
  189.  #define EXPORT     __declspec( dllexport )
  190.  #define BIT( n )       (1<<( n ))
  191. -#define GAMMA      ( 2.2 )     // Valve Software gamma
  192. -#define INVGAMMA       ( 1.0 / 2.2 )   // back to 1.0
  193. -#define TEXGAMMA       ( 0.9 )     // compensate dim textures
  194. +#define GAMMA      ( 2.0 )     // Valve Software gamma
  195. +#define INVGAMMA       ( 1.0 / 2.0 )   // back to 1.0
  196. +#define TEXGAMMA       ( 1.0 )     // compensate dim textures
  197.  #define SetBits( iBitVector, bits )    ((iBitVector) = (iBitVector) | (bits))
  198.  #define ClearBits( iBitVector, bits )  ((iBitVector) = (iBitVector) & ~(bits))
  199.  #define FBitSet( iBitVector, bit ) ((iBitVector) & (bit))
  200. diff --git a/engine/common/gamma.c b/engine/common/gamma.c
  201. index fd16e39..f28df5a 100644
  202. --- a/engine/common/gamma.c
  203. +++ b/engine/common/gamma.c
  204. @@ -32,7 +32,8 @@ void BuildGammaTable( float lightgamma, float brightness )
  205.  
  206.     lightgamma = bound( 1.8f, lightgamma, 3.0f );
  207.     brightness = bound( 0.0f, brightness, 10.0f );
  208. -
  209. +   if (lightgamma != 2.0)
  210. +   {
  211.     if( brightness <= 0.0f )
  212.         g3 = 0.125f;
  213.     else if( brightness > 1.0f )
  214. @@ -59,6 +60,12 @@ void BuildGammaTable( float lightgamma, float brightness )
  215.  
  216.         lightgammatable[i] = bound( 0, inf, 255 );
  217.     }
  218. +   }
  219. +   else
  220. +   {
  221. +       for (i = 0; i < 256; i++)
  222. +           lightgammatable[i] = bound(0, i, 255);
  223. +   }
  224.  
  225.     for( i = 0; i < 256; i++ )
  226.     {
  227. diff --git a/engine/server/sv_main.c b/engine/server/sv_main.c
  228. index a9f56e7..81f13ed 100644
  229. --- a/engine/server/sv_main.c
  230. +++ b/engine/server/sv_main.c
  231. @@ -823,7 +823,7 @@ void SV_Init( void )
  232.     sv_maxclients = Cvar_Get( "maxplayers", "1", FCVAR_LATCH, "server max capacity" );
  233.     sv_check_errors = Cvar_Get( "sv_check_errors", "0", FCVAR_ARCHIVE, "check edicts for errors" );
  234.     public_server = Cvar_Get ("public", "0", 0, "change server type from private to public" );
  235. -   sv_lighting_modulate = Cvar_Get( "r_lighting_modulate", "0.6", FCVAR_ARCHIVE, "lightstyles modulate scale" );
  236. +   sv_lighting_modulate = Cvar_Get( "r_lighting_modulate", "0.5", FCVAR_ARCHIVE, "lightstyles modulate scale" );
  237.     sv_reconnect_limit = Cvar_Get ("sv_reconnect_limit", "3", FCVAR_ARCHIVE, "max reconnect attempts" );
  238.     Cvar_RegisterVariable (&sv_failuretime );
  239.     Cvar_RegisterVariable (&sv_unlag);
  240.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement