Version constants updated
Post shader tweaks

Slighly reduced bloom intensity on both bloom shaders, bloom fine has less squareness with a new filter kernel.

HDR shader has a minimally changed exposure curve, tiny bit brighter.

DoF shader adds distance blur in heavy weather, softening outlines of distant objects to simulate dispersion.
Fogging improvements

Fogging calculations in exp fog mode reworked. Fog near the player in heavy weather (large fog offset like fog and ashstorms) is much closer to the density of the original fog. Fog and ashstorms look thicker, and fogged water reflections more accurately match the objects above ground.

Scattering fog calculations, near fog colour is now view angle dependent, instead of being the sun-facing colour. Corrects colour discrepancies at sunset and sunrise.

MGEXEgui distant land tab auto-calculates better (farther) statics distances and a near fog distance that goes with the fogging calculation improvements.

Mournhold steps and streetlamps included in distant land and reflections.
Macro function updates

Screenshots now capture without the UI included, unless you are in menu mode.

Moving the third person camera in-game with macro functions displays the camera offset coordinates.

Logging format strings corrected.
UAC compatibility

Removed MGEXEgui's requirement to run as administrator so that it can access virtualstore'd files and registry for maximum compatibility.
Large address shader fixes

Forgot to add the correct flag to shader compiler calls for building large address aware shaders. This fixes some bugs with alt-tabbing and the ffe shaders when Morrowind is using >2GB.

Modified the post shader class to check if effect variables are actually bound and not null.
Moon rendering in scattering fog mode

Fixes the rendering of the "moon shadow", a sky-coloured background layer rendering by Morrowind that prevents stars from shining through the additive blended moons. Previously, the moons appeared over-bright during day due to a mismatch between the moon shadow colour and the sky scattering colour.

The moon shadow is detected by marking its scenegraph node specular power, and the shader is directed to replace the mismatched vertex colour with the scattering calculation.
Per-pixel lighting beta work

Added code to address problems with the Light spell effect. The game uses an excessively bright ambient light as the effect, which kills any shading on nearby objects. The new code adds an approximation of ambient support (just a scalar), while the Light effect is rescaled to a reasonable brightness and partially converted to a point source.

Added code to exactly detect spell projectile lights and boost their brightness.

Fixed particle lighting. Certain additive particles would go missing in dark areas, due to the use of pure white ambient lighting that distant land normally ignores. Shader setup directly examines the ambient value instead.

Modified recommend falloff coefficients to be brighter in dark areas, but bloom out less near point light sources.
Per-pixel lighting work

Fixed bad calculation (colour approaches infinity) in fog colour approximation when fog start distance was greater than 2-3 cells. Passing the bad value to the per-pixel shader caused it to render pure blackness.

Capped the result of scaled and biased bump luminance to 1.0 in the shader bump stage, as D3D seems to do. Some custom meshes with bumpmaps have very high luminance scaling. This is probably to counter the unintended loss of intensity caused by a using a normal map in place of an EMBM map (the z in the blue channel maps to luminance in EMBM).

Clamped negative light values to 0 before tonemap and fogging stage to work around poor interaction of negative lights and fog.

Increased supported texture stages from 4 to 6, for compatibility with meshes using an excessive number of texture layers.

Fixed vertex colour rendering when lighting is turned off, for compatibility with Morrowind's debug visuals.

MGEXEgui auto near fog distance modified now that it works properly. Lighting falloff coefficients tweaked slightly for a brighter highlight.
Localization update

Improvements to layouts to accomodate more text.

Added code to localize toolbars and menus, for use with shader editor.

Renamed some controls in the macro editor for easier identification.

Updated localization template.
Distant statics generation

Added simplified distant versions of the ghostfence meshes, that work around the z-fighting caused by the mesh quantizer.

Added the Vivec Palace water mesh to the exception list, as it is so large that it intrudes over normal rendering.
Rendering updates

Sky reflection bug introduced in moon rendering update fixed. The skypos direction vector was not calculated correctly when reflected.

Made ffe shader compatible with Morrowind Code Patch 2.1 light spell fixes by adding detection for quadratic lights.

SSAO shaders handle blending over fog more accurately.

DoF shader radius reduced by a small amount.
MWSE weather functions

Added functions to control colour settings for all weathers, and to control sunrise/sunset times.
Rendering fixes

Fixed fog colour input for fog calculation. Reading from Direct3D was not always giving the world fog colour, but stale data from previous rendering in some rare cases.

Adjusted water meshing to reduce gaps in distant reflections caused by distant land projection bias.

Reverted SSAO blending change due to poor interaction with atmosphere scattering. It now uses the fog^3 method from the original SSAO which appears to be closest to accurate.
Localization contributions

French and Russian localizations are up to date. Thanks to papill6n and Fritz.
MWSE weather functions

Merged SetSunrise and SetSunset functions into one for compactness and efficiency.

Revised MWSEInstruction::pop methods to reflect that all integer types pop as VMREGTYPE.
Adjusted fog approximation for heavy fog

Corrected near fog approximation to exponential fog when fog end
is closer than 1 cell.

Added a minor useful optimization flag to the compile.
Fix starting without distant land generated

Fixed initialization to start without errors when there are
no distant land files and distant land set to off.
Shader optimization

Converted depth reads in all shaders to use point sampling where appropriate.

Optimized sunshaft shader by clipping shader operations to the downscaled target and clamping texture coordinates properly when upscaling.
MWSE weather functions

Added function to control scattering coefficients for high quality sky option.