|
99 | 99 | lum_g += delta_g
|
100 | 100 | lum_b += delta_b
|
101 | 101 |
|
102 |
| - add_r = clamp((lum_r - 1.1) * 0.3, 0, 0.22) |
103 |
| - add_g = clamp((lum_g - 1.1) * 0.3, 0, 0.22) |
104 |
| - add_b = clamp((lum_b - 1.1) * 0.3, 0, 0.22) |
105 |
| - |
106 |
| - // Client-shredding, does not cull any additive overlays. |
107 |
| - //applying_additive = add_r || add_g || add_b |
108 |
| - // Cull additive overlays that would be below 0.03 alpha in any color. |
109 |
| - applying_additive = max(add_r, add_g, add_b) > 0.03 |
110 |
| - // Cull additive overlays whose color alpha sum is lower than 0.03 |
111 |
| - //applying_additive = (add_r + add_g + add_b) > 0.03 |
112 |
| - |
113 | 102 | if (!needs_update)
|
114 | 103 | needs_update = TRUE
|
115 | 104 | SSlighting.corners_queue += src
|
|
125 | 114 | if (largest_color_luminosity > 1)
|
126 | 115 | . = 1 / largest_color_luminosity
|
127 | 116 |
|
128 |
| - // var/old_r = cache_r |
129 |
| - // var/old_g = cache_g |
130 |
| - // var/old_b = cache_b |
| 117 | + var/old_r = cache_r |
| 118 | + var/old_g = cache_g |
| 119 | + var/old_b = cache_b |
| 120 | + |
| 121 | + var/old_add_r = add_r |
| 122 | + var/old_add_g = add_g |
| 123 | + var/old_add_b = add_b |
131 | 124 |
|
132 | 125 | #if LIGHTING_SOFT_THRESHOLD != 0
|
133 | 126 | else if (largest_color_luminosity < LIGHTING_SOFT_THRESHOLD)
|
|
142 | 135 | cache_b = round(lum_b * ., LIGHTING_ROUND_VALUE)
|
143 | 136 | #endif
|
144 | 137 |
|
| 138 | + add_r = clamp((lum_r - 1.1) * 0.3, 0, 0.22) |
| 139 | + add_g = clamp((lum_g - 1.1) * 0.3, 0, 0.22) |
| 140 | + add_b = clamp((lum_b - 1.1) * 0.3, 0, 0.22) |
| 141 | + |
| 142 | + // Client-shredding, does not cull any additive overlays. |
| 143 | + //applying_additive = add_r || add_g || add_b |
| 144 | + // Cull additive overlays that would be below 0.03 alpha in any color. |
| 145 | + applying_additive = max(add_r, add_g, add_b) > 0.03 |
| 146 | + // Cull additive overlays whose color alpha sum is lower than 0.03 |
| 147 | + //applying_additive = (add_r + add_g + add_b) > 0.03 |
| 148 | + |
145 | 149 | src.largest_color_luminosity = round(largest_color_luminosity, LIGHTING_ROUND_VALUE)
|
146 | 150 | #ifdef VISUALIZE_LIGHT_UPDATES
|
147 |
| - if(!SSlighting.allow_duped_corners && old_r == cache_r && old_g == cache_g && old_b == cache_b) |
| 151 | + if(!SSlighting.allow_duped_corners && old_r == cache_r && old_g == cache_g && old_b == cache_b && old_add_r == add_r && old_add_b == add_b && old_add_g == add_g) |
148 | 152 | return
|
149 | 153 | #else
|
150 |
| - // For some reason, preventing duped corners breaks bloom, so it's disabled. |
151 |
| - // if(old_r == cache_r && old_g == cache_g && old_b == cache_b) |
152 |
| - // return |
| 154 | + if(old_r == cache_r && old_g == cache_g && old_b == cache_b && old_add_r == add_r && old_add_b == add_b && old_add_g == add_g) |
| 155 | + return |
153 | 156 | #endif
|
154 | 157 |
|
155 | 158 | var/datum/lighting_object/lighting_object = master_NE?.lighting_object
|
|
0 commit comments