# HG changeset patch # User Adam Kaminski # Date 1604503704 18000 # Wed Nov 04 10:28:24 2020 -0500 # Node ID 02f7fdde0bf8ee005028c1aeedd9218bdd4ee24b # Parent fde699de8300ac3bb04b67e02e61057cc5975623 gl_lights_size is now forced to its default value when sv_forcevideodefaults is true. diff -r fde699de8300 -r 02f7fdde0bf8 docs/zandronum-history.txt --- a/docs/zandronum-history.txt Tue Nov 03 19:09:46 2020 -0500 +++ b/docs/zandronum-history.txt Wed Nov 04 10:28:24 2020 -0500 @@ -45,6 +45,7 @@ ! - sv_forcegldefaults renamed to sv_forcevideodefaults. The old name still exists for compatibility. [Dusk] ! - r_3dfloors is now forced to be true when sv_forcevideodefaults is true. [Dusk] ! - When the wad authentication fails for a connecting client, the client only reports the missing and incompatible PWADS instead of all of them. [Pol Marcet] +! - gl_lights_size is now forced to its default value when sv_forcevideodefaults is true. [Kaminsky] 3.0.1 diff -r fde699de8300 -r 02f7fdde0bf8 src/gl/dynlights/a_dynlight.cpp --- a/src/gl/dynlights/a_dynlight.cpp Tue Nov 03 19:09:46 2020 -0500 +++ b/src/gl/dynlights/a_dynlight.cpp Wed Nov 04 10:28:24 2020 -0500 @@ -371,6 +371,10 @@ { intensity = m_currentIntensity; } + + // [AK] Take care of gl_lights_size and ZADF_FORCE_VIDEO_DEFAULTS. + OVERRIDE_LIGHTS_SIZE_IF_NECESSARY + radius = FLOAT2FIXED(intensity * 2.0f * gl_lights_size); if (x!=oldx || y!=oldy || radius!=oldradius) diff -r fde699de8300 -r 02f7fdde0bf8 src/gl/dynlights/gl_dynlight.h --- a/src/gl/dynlights/gl_dynlight.h Tue Nov 03 19:09:46 2020 -0500 +++ b/src/gl/dynlights/gl_dynlight.h Wed Nov 04 10:28:24 2020 -0500 @@ -180,7 +180,10 @@ } }; - +// [AK] Override gl_lights_size in the same way as gl_fogmode. +#define OVERRIDE_LIGHTS_SIZE_IF_NECESSARY \ + const float gl_lights_size_CVAR_value = gl_lights_size; \ + const float gl_lights_size = ( zadmflags & ZADF_FORCE_VIDEO_DEFAULTS ) ? 1.0f : gl_lights_size_CVAR_value; bool gl_GetLight(Plane & p, ADynamicLight * light, int desaturation, bool checkside, bool forceadditive, FDynLightData &data); bool gl_SetupLight(Plane & p, ADynamicLight * light, Vector & nearPt, Vector & up, Vector & right, float & scale, int desaturation, bool checkside=true, bool forceadditive=true); diff -r fde699de8300 -r 02f7fdde0bf8 src/gl/dynlights/gl_dynlight1.cpp --- a/src/gl/dynlights/gl_dynlight1.cpp Tue Nov 03 19:09:46 2020 -0500 +++ b/src/gl/dynlights/gl_dynlight1.cpp Wed Nov 04 10:28:24 2020 -0500 @@ -93,6 +93,9 @@ bool gl_GetLight(Plane & p, ADynamicLight * light, int desaturation, bool checkside, bool forceadditive, FDynLightData &ldata) { + // [AK] Take care of gl_lights_size and ZADF_FORCE_VIDEO_DEFAULTS. + OVERRIDE_LIGHTS_SIZE_IF_NECESSARY + Vector fn, pos; int i = 0; @@ -168,6 +171,9 @@ bool gl_SetupLight(Plane & p, ADynamicLight * light, Vector & nearPt, Vector & up, Vector & right, float & scale, int desaturation, bool checkside, bool forceadditive) { + // [AK] Take care of gl_lights_size and ZADF_FORCE_VIDEO_DEFAULTS. + OVERRIDE_LIGHTS_SIZE_IF_NECESSARY + Vector fn, pos; float x = FIXED2FLOAT(light->x); diff -r fde699de8300 -r 02f7fdde0bf8 src/gl/dynlights/gl_lightbuffer.cpp --- a/src/gl/dynlights/gl_lightbuffer.cpp Tue Nov 03 19:09:46 2020 -0500 +++ b/src/gl/dynlights/gl_lightbuffer.cpp Wed Nov 04 10:28:24 2020 -0500 @@ -126,6 +126,9 @@ { if (gl_dynlight_shader && gl_lights && GLRenderer->mLightCount && gl_fixedcolormap == CM_DEFAULT) { + // [AK] Take care of gl_lights_size and ZADF_FORCE_VIDEO_DEFAULTS. + OVERRIDE_LIGHTS_SIZE_IF_NECESSARY + TArray pLights(100); TArray pPos(100); TThinkerIterator it(STAT_DLIGHT); diff -r fde699de8300 -r 02f7fdde0bf8 src/gl/scene/gl_spritelight.cpp --- a/src/gl/scene/gl_spritelight.cpp Tue Nov 03 19:09:46 2020 -0500 +++ b/src/gl/scene/gl_spritelight.cpp Wed Nov 04 10:28:24 2020 -0500 @@ -65,6 +65,9 @@ bool gl_GetSpriteLight(AActor *self, fixed_t x, fixed_t y, fixed_t z, subsector_t * subsec, int desaturation, float * out, line_t *line, int side) { + // [AK] Take care of gl_lights_size and ZADF_FORCE_VIDEO_DEFAULTS. + OVERRIDE_LIGHTS_SIZE_IF_NECESSARY + ADynamicLight *light; float frac, lr, lg, lb; float radius; diff -r fde699de8300 -r 02f7fdde0bf8 src/gl/scene/gl_walls_draw.cpp --- a/src/gl/scene/gl_walls_draw.cpp Tue Nov 03 19:09:46 2020 -0500 +++ b/src/gl/scene/gl_walls_draw.cpp Wed Nov 04 10:28:24 2020 -0500 @@ -120,6 +120,9 @@ void GLWall::SetupLights() { + // [AK] Take care of gl_lights_size and ZADF_FORCE_VIDEO_DEFAULTS. + OVERRIDE_LIGHTS_SIZE_IF_NECESSARY + float vtx[]={glseg.x1,zbottom[0],glseg.y1, glseg.x1,ztop[0],glseg.y1, glseg.x2,ztop[1],glseg.y2, glseg.x2,zbottom[1],glseg.y2}; Plane p;