Changelog of Vluzacn's ZHLT v30 - Just read if you want...
Improved the effect of texture lights.
There will be no more bright spots near the texture light.
The compile time will not increase much, unless the textures are very strangely aligned.
This feature also reduces the compile time in '-extra' mode (which should be used for final compile), because without this feature, hlrad must divide 'texchop' by 2 to compensate for the bright spots.
To disable this feature, use the parameter '-noemitterrange' for hlrad. This parameter also disables the fixing of darkness at corners.
Added 'color' key in light_surface, which replaces the color of texture that emits texture light, when the value of 'color' is not empty.
By default, each texture light face takes the brightness that is defined in 'light_surface' or 'info_texlights' or 'light.rad', and then emits to surroundings a combination of its brightness and the color of its texture.
But sometimes, it is not satisfactory to use the color of its texture as the color of texture light.
Now, the 'color' key in the light_surface allows you to replace the color of the texture and define the color of texture light.
Note that this 'color' is different from the r g b components that can be found in the brightness of light entities or texture lights:
Firstly, when 'color' is set, the color of the texture will be discarded.
Secondly, the value of this 'color' is in the same space of texture colors, which is more powerful than the r g b brighness components of lights.
Just like texture colors, this 'color' is tuned by the value of '-texreflectgamma' and '-texreflectscale'. In fact, if this 'color' equals to the color of the texture, then the emitted texture light is the same.
Fixed the darkness of bounced light at corners, which makes the map look much cleaner.
This darkness can be noticed when the texture color is bright and the face at the corner happens to be very thin (either the original face is thin, or it is the result of bsp clipping).
Added an option to blur the lightmap, which will lessen Goldsrc's blocky look of shadows.
To use this feature, add '-blur #' to hlrad's parameters. '#' should be a number larger than 1.0.
Improved the speed of hlbsp.
Now hlbsp compiles very fast even if the map is extremely complicated.
Improved the culling of the func_detail's visibility, which will slightly benefit fps.
Reduced the possibility of causing invisible face problem.
Added the 'light_bounce' entity, which enables the switchable bounced light for opaque entities that have switchable shadows enabled by the 'light_shadow' entity.
The 'light_shadow' can turn off and turn on the shadow of an opaque entity, to simulate the lighting when the opaque entity disappears and when it appears.
However, 'light_shadow' does not turn off and turn on the light bounced off from that opaque entity at the same time. If the bounced light is strong enough and you want a perfect effect, 'light_bounce' entity should be used as well.
The usage of 'light_bounce' is identical to 'light_shadow'. Typically, you place a 'light_shadow' and a 'light_bounce', both of them targeting at the same opaque entity. Then make sure these two light entity are always in the opposite state in the game: when one is turned on, the other one should be turned off.