Parameter | Type | Description | Default value |
---|---|---|---|
sync_fog_color | boolean | whether to synchronize the global fog color | true |
sync_fog_dist | boolean | whether to synchronize the global fog distance | true |
fog_dist_mult | real | value to multiply zonal fog distance by | 1.0 |
fog_dist_add | real | value to add to zonal fog distance after multiplying | 0.0 |
sync_fog_disabled | boolean | whether to disable global fog if room's is disabled | false |
When placed on the Player
object (via the starting point), KDSyncGlobalFog
keeps the color and/or distance of the global fog synchronized with that of the current room's fog zone. Since only global fog can apply to the various NewSky layers, this allows the sky fog to match the (near-)ground fog. (The initial fog, both global and per zone, is defined in the Mission Variables → Fog Zones dialog.)
If the sync_fog_color
parameter is true
, the fog color will be synchronized; if sync_fog_dist
is true, the fog distance will be synchronized. The fog distance used globally is equal to the zonal fog distance, multiplied by fog_dist_mult
, added to fog_dist_add
.
This script supports smooth transitions; see that section for details.
When looking at the sky from indoor areas (ones without fog), it is expected that the outdoor fog levels should apply. As such, this script ignores rooms where fog is set to Disabled
, leaving the global fog unchanged from the last (outdoor) zone. If the sync_fog_disabled
parameter is true
, however, global fog will instead be disabled in rooms where fog is disabled. Regardless of this setting, global fog will be disabled in fog zones where fog is disabled (distance is set to 0.0
).
Since this script continuously alters the global fog settings, no room in a mission using this script should be set to use global fog; use only the zones (1–8) or Disabled. This script is compatible with KDTrapFog
when that script's fog_zone
parameter is not 0
; that script will notify this one automatically of changes. This script is not compatible, of course, with KDTrapFog
with a fog_zone
of 0
(global).