---
name: "Arma 3: CfgWorlds Config Reference"
type: topic
aliases: ["Arma 3 CfgWorlds Config Reference", "CfgWorlds Config Reference"]
source: https://community.bistudio.com/wiki/Arma_3:_CfgWorlds_Config_Reference
revid: 373245
updated: 2025-04-12T22:20:54Z
---

# Arma 3: CfgWorlds Config Reference

> [!WARNING]
> This reference page was created for Arma 3 v1.66+, some fields may not exist in prior games and versions.

#### A

##### class AmbientA3

```cpp
class AmbientA3
{
    maxCost = 500; // max. cost of all animals spawned by the ambient system

    class Main_spawn_circle_name
    {
        areaSpawnRadius = 440.0;    // radius of the main spawn circle, testing circles are placed on this radius
        areaMaxRadius = 500.0;        // radius where animals are removed
        spawnCircleRadius = 30.0;    // radius of testing circles
        spawnInterval = 4.7;        // how often is the creation process started in seconds

        class Species
        {
            class Animal_config_class    // class of animal from CfgVehicles
            {
                maxCircleCount = 5;        // expression - max. number of a given kind in testing circle
                maxWorldCount = 8;        // max. number of animals on map
                cost = 3;                // cost of animal
                spawnCount = 1;            // how many animals should be spawned at once
                groupSpawnRadius = 10;    // radius for spawning of animal group
                maxAlt = 200;            // if defined, an animal can be created only if [camera height above/under water/ground] < maxAlt
                minAlt = -10;            // if defined, an animal can be created only if [camera height above/under water/ground] > minAlt
            };
        };
    };
};
```

For more information visit the [Ambient Animals System Page](../topics/Animals~3A_Ambient_System.md)

##### class AnomalyPars

```cpp
class AnomalyPars
{
    // outer model (should be sphere with radius of 1 and normals directed outwards)
    outerModel = ""; /// path should be defined in data
    // inner model (should be sphere with radius of 1 and normals directed inwards)
    innerModel = ""; /// path should be defined in data
    // scale of refraction (R, G, B - you can use different values to achieve abberation effect)
    refractScale[] = {0.04, 0.03, 0.05};
    // animation time coef (horizontal, vertical), use {0,0, 0} for no animation (third value not used)
    timeScale[] = {0.03, 0.03, 0.0};
    // distance (in meters) from the anomaly boundary, where the postprocess effect should be used (0 = no postprocess)
    postProcessDistance = 3.0;
};
```

##### aroundSunCoefExponent

Arma 3 v1.60
Float: Modifiers of around sun coefficient for pixel shader computations.

```cpp
// coef = pow(coef * _aroundSunCoefMultiplier, _aroundSunCoefExponent);
aroundSunCoefExponent = "12.0f"; //value used by BI in all A3 terrains
```

##### aroundSunCoefMultiplier

Arma 3 v1.60
Float: Modifiers of around sun coefficient for pixel shader computations.

```cpp
// coef = pow(coef * _aroundSunCoefMultiplier, _aroundSunCoefExponent);
aroundSunCoefMultiplier = "1.4f"; //value used by BI in all A3 terrains
```

##### author

String: Defines the author of the world, which is shown in the loading screen

```cpp
author = "$STR_A3_Bohemia_Interactive"; //value used by Tanoa, $STR_A3_Bohemia_Interactive corresponds to a stringtable entry
```

#### C

##### causticsBrightnessCoef

Float: Brightness coefficient

```cpp
aroundSunCoefMultiplier = "1.4f"; //value used by BI in all A3 terrains
```

##### causticsDepthFadeCoef

Float: Coef used for caustics intensity fading with depth (how fast the intensity fades with depth), 1.0 = linear, 2.0 = quadratic,...

```cpp
causticsDepthFadeCoef = "0.05f"; //value used by Tanoa
```

##### causticsDepthLimit

Float: Depth limit (under water) for caustics drawing (in m)

```cpp
causticsDepthLimit = "80.0f"; //value used by Tanoa
```

##### causticsDistanceLimit

Float: Distance limit for caustics drawing (in m)

```cpp
causticsDistanceLimit = "200.0f"; //value used by Tanoa
```

##### causticsEnabled

Integer: Enable/disable caustics

```cpp
causticsEnabled = 1; //value used by Tanoa
```

##### causticsTexture

String: Caustics texture path

```cpp
causticsTexture = "A3\data_f\caustics\caustic_anim_ca.paa"; //value used by Tanoa
```

##### causticsTextureArea

Float: Length of the side of the rectangle, that covers one caustics texture (in meters) in zero depth

```cpp
causticsTextureArea = "2.0f"; //value used by Tanoa
```

##### causticsTextureAreaDeep

Float: Length of the side of the rectangle, that covers one caustics texture (in meters) in max depth [causticsDepthLimit](../topics/CfgWorlds_Config_Reference.md#causticsdepthlimit)(causticsDepthLimit)

```cpp
causticsTextureAreaDeep = "156.0f"; //value used by Tanoa
```

##### causticsTextureChangeInterval

Float: Interval of texture change (in s)

```cpp
causticsTextureChangeInterval = "0.04f"; //value used by Tanoa
```

##### causticsTextureCount

Integer: Number of caustics textures

```cpp
causticsTextureCount = 32; //value used by Tanoa
```

##### causticsTextureDepthGranularity

Float: Distance (in meters) over which we interpolate two caustics textures (in different depth)

```cpp
causticsTextureDepthGranularity = "2.5f"; //value used by Tanoa
```

##### causticsTextureMask

String: Caustics texture mask path

```cpp
causticsTextureMask = "A3\data_f\caustics\caustics_anim_%03d.paa"; //value used by Tanoa
```

##### causticsTextureNumRows

Integer: Number of textures in one row in caustic texture (we suppose that number of rows and columns is the same)

```cpp
causticsTextureNumRows = 4; //value used by Tanoa
```

##### centerPosition[]

Array: Default center position

```cpp
centerPosition[] = {7228, 6987, 0}; //value used by Tanoa
```

##### clouds[]

Array:

```cpp
clouds[] = {"A3\data_f\mrak1.p3d", "A3\data_f\mrak2.p3d", "A3\data_f\mrak3.p3d", "A3\data_f\mrak4.p3d"}; //value used by Tanoa
```

##### class clutter

```cpp
class clutter
{
    class YourClutterName : DefaultClutter
    {
        // Determines the affection of the clutter to the wind (0 - stone, 1 - common grass)
        affectedByWind = 0;
        // Path to your clutter model
        model = "path\to\your\clutter.p3d";
        // If colored by the ground, desired color relative to the ground
        relativeColor[] = {1, 1, 1, 1}; //not used in any A3 Clutter configs
        // Maximal scale for random clutter scaling
        scaleMax = 1.0;
        // Minimal scale for random clutter scaling
        scaleMin = 0.5;
        // Use default lighting (0 = disable, 1 = enable). This should be enabled if your clutter uses the "Grass" pixel or vertex shader, otherwise it should be disabled
        swLighting = 1;
    };
};
```

##### clutterColoringFarCoef

Float: Max coef for clutter coloring at far distance (must be >=1, large coef means we can colorize more)

```cpp
clutterColoringFarCoef = "5.0f"; //value used by Tanoa
```

##### clutterColoringFarSpeed

Float: Speed of far clutter coloration (1 = linear, 2 = quadratic, etc.)

```cpp
clutterColoringFarSpeed = "2.0f"; //value used by Tanoa
```

##### clutterColoringFarStart

Float: Distance (in m) when [clutterColoringFarCoef](../topics/CfgWorlds_Config_Reference.md#cluttercoloringfarcoef) when we start to interpolate to [clutterColoringFarCoef](../topics/CfgWorlds_Config_Reference.md#cluttercoloringfarcoef)

```cpp
clutterColoringFarStart = "20.0f"; //value used by Tanoa
```

##### clutterDist

Integer: How far clutter is visible

```cpp
clutterDist = 100; //value used by Tanoa
```

##### clutterGrid

Integer: Controls density of clutters (size of square where single clutter is present)

```cpp
clutterGrid = 0.8; //value used by Tanoa
```

##### clutterRadius

Integer: Maximal size of clutters (for clipping)

```cpp
clutterRadius = 1; //value used by Tanoa
```

##### clutterRoadwayCheckRadiusCoef

Float: Coefficient for clutter radius to check against roadways (0 = check only center, 1 = check whole radius)

```cpp
clutterRoadwayCheckRadiusCoef = "0.8f"; //value used by Tanoa
```

##### cutscenes[]

Array:

```cpp
cutscenes[] = {"Tanoa_intro1"}; //value used by Tanoa
```

#### D

##### description

String: Name of the terrain

```cpp
description = "$STR_A3_CFGWORLDS_TANOA0"; //value used by Tanoa, corresponds to a stringtable entry
```

##### class DOFPars

Parameters for depth of field

```cpp
class DOFPars
{
    // standard dof parameters
    focusDistance = 25.0;
    blur = 1.0;
    farOnly = 1; //blur only far objects? (0 = disable, 1 = enable)

    // underwater dof parameters (no goggles)
    focusDistanceWater = 1.0;
    blurWater = 1.3;
    farOnlyWater = 1; //blur only far objects? (0 = disable, 1 = enable)

    // underwater dof parameters (with goggles)
    focusDistanceWaterGoggles = 4.0;
    blurWaterGoggles = 1.0;
    farOnlyWaterGoggles = 1; //blur only far objects? (0 = disable, 1 = enable)
};
```

##### drawTaxiway

Integer:

```cpp
drawTaxiway = 0; //value used by Tanoa
```

##### dynLightMinBrightnessAbsolute

Integer: These constants are used to determine the radius of dynamic lights. Radius is computed based on minimal brightness. Minimal brightness is computed: max(dynLightMinBrightnessAbsolute, sceneAmbient * dynLightMinBrightnessAmbientCoef) where sceneAmbient is current brightness of scene ambient light.

```cpp
dynLightMinBrightnessAbsolute = 0.05; //value used by Tanoa
```

##### dynLightMinBrightnessAmbientCoef

Integer: These constants are used to determine the radius of dynamic lights. Radius is computed based on minimal brightness. Minimal brightness is computed: max(dynLightMinBrightnessAbsolute, sceneAmbient * dynLightMinBrightnessAmbientCoef) where sceneAmbient is current brightness of scene ambient light.

```cpp
dynLightMinBrightnessAmbientCoef = 0.5; //value used by Tanoa
```

#### E

##### elevationOffset

Float:

```cpp
elevationOffset = 0; //value used by Tanoa
```

##### enableBloodSplashes

Integer: Enable blood splashes

```cpp
enableBloodSplashes = 1; //value used by Tanoa
```

##### enableFootsteps

Integer: Enable footsteps

```cpp
enableFootsteps = 1; //value used by Tanoa
```

##### enableTracks

Integer: Enable vehicle tracks

```cpp
enableTracks = 1; //value used by Tanoa
```

##### class EnvMaps

```cpp
class EnvMaps
{
    class EnvMap1
    {
        // overcast value for which this is used
        overcast = 0;
        texture = "A3\Map_Tanoabuka\data\env_land_ClearSky_ca.paa";
    };
    class EnvMap2
    {
        // overcast value for which this is used
        overcast = 0.4;
        texture = "A3\Map_Tanoabuka\data\env_land_SemiCloudySky_ca.paa";
    };
    class EnvMap3
    {
        // overcast value for which this is used
        overcast = 0.8;
        texture = "A3\Map_Tanoabuka\data\env_land_OvercastSky_ca.paa";
    };
};
```

##### envTexture

String: Set global envTexture to be used instead of assets specific one if defined for the world.

```cpp
envTexture = ""; //value used by Tanoa
```

#### F

##### fogBeta0Max

Integer: beta0 (macroscopic cross-section of atmospheric scatterers at base level) for fog value 1

```cpp
fogBeta0Max = 0.05; //value used by Tanoa
```

##### fogBeta0Min

Integer: beta0 (macroscopic cross-section of atmospheric scatterers at base level) for fog value 0

```cpp
fogBeta0Min = 0; //value used by Tanoa
```

##### fogHeight

Integer: Max height of the Arma fog for clouds (in meters)

```cpp
fogHeight = 2000; //value used by Tanoa
```

Related commands: [fog](../commands/fog.md), [setFog](../commands/setFog.md), [fogParams](../commands/fogParams.md), [fogForecast](../commands/fogForecast.md)

##### forecastFog

Integer:

```cpp
forecastFog = 0; //value used by Tanoa
```

Related commands: [fog](../commands/fog.md), [setFog](../commands/setFog.md), [fogParams](../commands/fogParams.md), [fogForecast](../commands/fogForecast.md)

##### forecastFogBase

Integer: Base forecasted altitude for fog computations (in meters)

```cpp
forecastFogBase = 250; //value used by Tanoa
```

Related commands: [fog](../commands/fog.md), [setFog](../commands/setFog.md), [fogParams](../commands/fogParams.md), [fogForecast](../commands/fogForecast.md)

##### forecastFogDecay

Integer: Forecasted decay coefficient - decay of fog with altitude

```cpp
forecastFogDecay = 0.014; //value used by Tanoa
```

Related commands: [fog](../commands/fog.md), [setFog](../commands/setFog.md), [fogParams](../commands/fogParams.md), [fogForecast](../commands/fogForecast.md)

##### forecastGusts

Integer: Forecasted gusts

```cpp
forecastGusts = 0; //value used by Tanoa
```

Related commands: [gusts](../commands/gusts.md), [setGusts](../commands/setGusts.md)

##### forecastLightnings

Integer: Forecasted lightning

```cpp
forecastLightnings = 0; //value used by Tanoa
```

Related commands: [lightnings](../commands/lightnings.md), [setLightnings](../commands/setLightnings.md)

##### forecastRain

Integer:

```cpp
forecastRain = 0; //value used by Tanoa
```

Related commands: [rain](../commands/rain.md), [setRain](../commands/setRain.md)

##### forecastWaves

Integer: Forecasted waves

```cpp
forecastWaves = 0.1; //value used by Tanoa
```

Related commands: [waves](../commands/waves.md), [setWaves](../commands/setWaves.md)

##### forecastWeather

Integer: Forecasted weather

```cpp
forecastWeather = 0; //value used by Tanoa
```

##### forecastWind

Integer: Forecasted wind

```cpp
forecastWind = 0.1; //value used by Tanoa
```

Related commands: [wind](../commands/wind.md), [setWind](../commands/setWind.md)

##### forecastWindDir

Integer: Forecasted wind direction

```cpp
forecastWindDir = 0; //value used by Tanoa
```

Related commands: [windDir](../commands/windDir.md), [windDir](../commands/windDir.md)

##### fullDetailDist

Float: Distance where ground detail texture is fully visible (begin fading out)

```cpp
fullDetailDist = 5; //value used by Tanoa
```

#### G

##### gridNumbersOverLines

Integer: Displays Numbering over Grid lines instead between

```cpp
gridNumbersOverLines = 1; //value used by Tanoa
```

#### H

##### haloObject

String: Path to halo object model

```cpp
haloObject = "A3\data_f\sunhalo.p3d"; //value used by Tanoa
```

##### hazeBaseBeta0

Integer: Linear regression according to the base height. [More information](../topics/Visual_Upgrade.md#haze-setup)

```cpp
hazeBaseBeta0 = 8e-005; //value used by Tanoa
```

##### hazeBaseHeight

Integer: Base height for the haze computation (in meters). [More information](../topics/Visual_Upgrade.md#haze-setup)

```cpp
hazeBaseHeight = 0; //value used by Tanoa
```

##### hazeDensityDecay

Integer: Density decay based on height. [More information](../topics/Visual_Upgrade.md#haze-setup)

```cpp
hazeDensityDecay = 0.00036; //value used by Tanoa
```

##### hazeDistCoef

Integer: Coefficient used to compute haze distance (haze distance = fogFar * hazeDistCoef), can be > 1. If the value is negative, then standard haze computation is used.

```cpp
hazeDistCoef = 0.1; //value used by Tanoa
```

##### hazeFogCoef

Integer: Fog value, that we want to have at haze distance (=distance computed using hazeDistCoef), 0 = full fog, 1 = no fog. If the value is negative, then standard haze computation is used

```cpp
hazeFogCoef = 0.98; //value used by Tanoa
```

##### class HDRNewPars

```cpp
class HDRNewPars
{
    //@{ global aperture settings
    // global minimal possible aperture
    minAperture = 0.00001;
    // global maximal possible aperture
    maxAperture = 256;
    // how many times greater than standard avg luminance must be current avg luminance to reach current max aperture
    apertureRatioMax = 4;
    // how many times smaller than standard avg luminance must be current avg luminance to reach current min aperture
    apertureRatioMin = 10;
    //@}

    //@{ Bloom settings
    // image scale for bloom composition
    bloomImageScale = 1.0;
    // bloom scale for bloom composition
    bloomScale = 0.3;
    // bloom exponent for bloom computation
    bloomExponent = 1.0;
    // luminance offset for bloom computation
    bloomLuminanceOffset = 0.8;
    // luminance scale for bloom computation
    bloomLuminanceScale = 1;
    // luminance exponent for bloom computation
    bloomLuminanceExponent = 1.2;
    //@}

    //@{ Tone mapping settings
    // tonemapping method (0 = none, 1 = filmic, 2 = Reinhard)
    tonemapMethod = 2;
    // params for filmic tonemapping
    // Uncharted 2 tone mappping filmic curve
    // for more information see http://www.slideshare.net/ozlael/hable-john-uncharted2-hdr-lighting
    tonemapShoulderStrength = 0.22;
    tonemapLinearStrength = 0.30;
    tonemapLinearAngle = 0.10;
    tonemapToeStrength = 0.20;
    tonemapToeNumerator = 0.01;
    tonemapToeDenominator = 0.30;
    tonemapLinearWhite = 11.2;
    tonemapExposureBias = 2.0;
    // params for Reinhard tonemapping
    tonemapLinearWhiteReinhard = 2.5;
    //@}

    //@{ settings for NVG
    // min aperture when using NVG
    nvgApertureMin = 1;
    // standard aperture when using NVG
    nvgApertureStandard = 7;
    // max aperture when using NVG
    nvgApertureMax = 15;
    // average scene luminance for standard aperture when using NVG
    nvgStandardAvgLum = 3;
    // light gain when using NVG
    nvgLightGain = 100;
    // use transition effects when going to/from NVG (0 = disable, 1 = enable)
    nvgTransition = 1;
    // transition coefficient when we are putting NVG on
    nvgTransitionCoefOn = 40.0;
    // transition coefficient when we are putting NVG off
    nvgTransitionCoefOff = 0.01;
    //@}

    //@{ settings for night eye (blue shift)
    // min avg intensity (when the night shift is at full effect)
    nightShiftMinAperture = 0;
    // max avg intensity (when the night shift is at zero effect and begins to take some effect, effect of night shift is then interpolated based on min and max aperture)
    nightShiftMaxAperture = 0.002;
    // maximal possible effect of night shift (0-1, 0 disables it)
    nightShiftMaxEffect = 0.6;
    // luminance scale to determine night shift effects for individual pixels
    nightShiftLuminanceScale = 600;
    //@}

    //@{ settings for light adaptation
    // speed factor for adapting to light (greater number = faster)
    eyeAdaptFactorLight = 0.6;
    // speed factor for adapting to dark (greater number = faster)
    eyeAdaptFactorDark = 0.2;
    //@}
};
```

##### horizonFogColorationStart

Float: Starting vertical texture coordinate for horizon coloration with fog (use 1 to disable coloration)

```cpp
horizonFogColorationStart = "0.8f"; //value used by Tanoa
```

##### horizonParallaxCoef

Integer: Parallax coef used for shifting horizon - the higher the camera, the lower we want the horizon range to be placed use 0 to switch off shifting

```cpp
horizonParallaxCoef = 0; //value used by Tanoa
```

##### horizonSunColorationIntensity

Float: Intensity coefficient for horizon coloration by Sun

```cpp
horizonSunColorationIntensity = "0.001f"; //value used by Tanoa
```

##### horizonSunColorationScale

Integer: Scale coefficient for horizon coloration by Sun

```cpp
horizonSunColorationScale = 10; //value used by Tanoa
```

##### horizontObject

String: Path to model used for horizon object

```cpp
horizontObject = "A3\Map_Tanoabuka\data\horizon.p3d"; //value used by Tanoa
```

##### humidityDownCoef

Integer:

```cpp
humidityDownCoef = 0.05; //value used by Tanoa
```

##### humidityUpCoef

Integer:

```cpp
humidityUpCoef = 0.1; //value used by Tanoa
```

#### I

##### icon

String:

```cpp
icon = ""; //value used by Tanoa
```

##### ilsDirection[]

Array:

```cpp
ilsDirection[] = {-0.2002, 0.087, 0.9798}; //value used by Tanoa
```

##### ilsPosition[]

Array:

```cpp
ilsPosition[] = {7085.57, 7681.84}; //value used by Tanoa
```

##### ilsTaxiIn[]

Array:

```cpp
ilsTaxiIn[] = {6942.61, 7386.26, 6933.84, 7429.14, 6971.82, 7500.5, 7039.36, 7652, 7043.89, 7676.38, 7057.89, 7705.92, 7073.11, 7708.36, 7085.32, 7700.25, 7087.86, 7688.26}; //value used by Tanoa
```

##### ilsTaxiOff[]

Array:

```cpp
ilsTaxiOff[] = {7220.87, 7017.23, 7198.22, 7021.06, 6985.25, 7287.09, 6955.16, 7323.2, 6942.61, 7386.26}; //value used by Tanoa
```

##### interpolateClutterColoring

Integer: If we should use interpolation of clutter coloring coef based on distance of clutter from camera. (0 = false, 1 = true)

```cpp
interpolateClutterColoring = 1; //value used by Tanoa
```

#### L

##### landGrid

Integer: Grid size

```cpp
landGrid = 50; //value used by Tanoa
```

##### latitude

Integer: Latitude on globe, positive is south

```cpp
latitude = 17.698; //value used by Tanoa
```

##### layerMask

String:

```cpp
layerMask = ""; //value used by Tanoa
```

##### lightningsForced

Integer: (0 = false, 1 = true)

```cpp
lightningsForced = 0; //value used by Tanoa
```

##### loadingTexts[]

Array: Random text shown during loading screens

```cpp
loadingTexts[] = {"The mining and heavy ship industry have already devastated many areas of the Tanoan paradise archipelago.", "During the hottest summers, there are many occurrences of native men missing in the jungle.", "Local tribes claim that huge reptilian creatures can be encountered at the foot of the volcano.", "The native people have turned many parts of the wild jungle into fertile fields and plantations.", "Around the Tanoa archipelago, the native people worship a god of fertility and festivity called Darkon.", "The name of the archipelago comes from the Fijian word tanoa which means a bowl (the main island resembles a large bowl).", "Once upon a time, there was a living, fire-breathing volcano..."}; //value used by Tanoa
```

##### longitude

Integer: Longitude on globe, positive is east

```cpp
longitude = 178.783; //value used by Tanoa
```

#### M

##### mapArea[]

Array: Lon/lat coordinates (not in UTM to assure .kml precision). Looks in Arma 3 this parameter is not used anyhow. *[verify required]*

```cpp
mapArea[] = {
    -20.268, 174.003, //Bottom Left
    -20.1353, 174.146 //Top Right
}; //value used by Tanoa
```

##### mapDrawingBrightnessModifier

Float: Modifier for brightness of satellite map textures drawn on the map display view

```cpp
mapDrawingBrightnessModifier = "1.0f"; //value used by Tanoa
```

##### mapSize

Integer: Size of the map in meters

```cpp
mapSize = 15360; //value used by Tanoa
```

##### mapZone

Integer: UTM Zone

```cpp
mapZone = 60; //value used by Tanoa
```

##### maxHillsAltitude

Integer:

```cpp
maxHillsAltitude = 450; //value used by Tanoa
```

##### midDetailTexture

String: Path to mid detail texture used

```cpp
midDetailTexture = "A3\Map_Tanoabuka\Data\L_middle_mco.paa"; //value used by Tanoa
```

##### minHeight

Integer: Min. height - used to clamp data inside of the map during rendering

```cpp
minHeight = -10; //value used by Tanoa
```

##### minHillsAltitude

Integer:

```cpp
minHillsAltitude = 80; //value used by Tanoa
```

##### minRocksInRockSquare

Integer: Minimum rocks needed in a square to show rock polygons on 2D map

```cpp
minRocksInRockSquare = 2; //value used by Tanoa
```

##### minTreesInForestSquare

Integer: Minimum trees needed in a square to show forest polygons on 2D map

```cpp
minTreesInForestSquare = 3; //value used by Tanoa
```

##### minObjInTownSquare

Integer: Unknown

```cpp
minObjInTownSquare = 1.4; //value used by Tanoa
```

##### moonObject

String: Path to model used for moon object

```cpp
moonObject = "A3\data_f\moon.p3d"; //value used by Tanoa
```

#### N

##### class Names

```cpp
class Names
{
    class SomeLocation
    {
        angle = 0;
        demography = "CIV"; //not used by every location
        name = "Some Location Name"; //name of the location, can be stringtable entry
        position[] = {2089.06, 3523.68}; //position in world
        radiusA = 300;
        radiusB = 100;
        type = "Airport";
    };
};
```

##### newRoadsShape

String: Path to roads shape file

```cpp
newRoadsShape = "A3\Map_Tanoabuka\data\roads\roads.shp"; //value used by Tanoa
```

##### noDetailDist

Integer: Where ground detail texture is no longer visible (end fading out)

```cpp
noDetailDist = 50; //value used by Tanoa
```

##### class NVGPars

```cpp
class NVGPars
{
    // is film grain enabled for NVG (0 = disabled, 1 = enabled)?
    filmGrainEnabled = true;
    // film grain params (intensity, sharpness, grain size, intensityX0, intensityX1, monochromatic (0=mono, 1=color))
    filmGrainPars[] = {0.4, 2.75, 1, 3, 1, 0};
};
```

#### O

##### outsideHeight

Integer: Height used outside of the map

```cpp
outsideHeight = -10; //value used by Tanoa
```

##### outsideMaterial

String:

```cpp
outsideMaterial = ""; //value used by Tanoa
```

##### class OutsideTerrain

```cpp
class OutsideTerrain
{
    colorOutside[] = {0.227451, 0.27451, 0.384314, 1};
    enableTerrainSynth = 0; // enable procedural terrain generation, can cause issues in some circumstances (0 = disable, 1 = enable)
    satellite = "A3\map_Stratis\data\s_satout_co.paa"; // defines the satellite texture to be used outside of the terrain when viewing from a distance
    class Layers
    {
        class Layer0
        {
            nopx = "A3\Map_Data\gdt_grass_green_nopx.paa"; // defines the parallax texture to be used outside of the terrain when viewing from close
            texture = "A3\Map_Data\gdt_grass_green_co.paa"; // defines the diffuse texture to be used outside of the terrain when viewing from close
        };
    };

    angleAltitudes[] = { { min1, max1 }, ... , { min512, max512 } };    // since Arma 3 v2.04 - min and max height for out-of-bounds terrain (360°/512 angles)
                                                                        // angle starts from the East, next values go counter-clockwise up to 512 entries
    analysisLength = 123;                                                // since Arma 3 v2.04 - altitude analysis distance from terrain's border towards its centre
};
```

#### P

##### peakWaveBottom

Integer: Point where water peaks should start appearing

```cpp
peakWaveBottom = -5; //value used by Tanoa
```

##### peakWaveTop

Integer: Point where water peaks should be max. visible before going offshore

```cpp
peakWaveTop = -1; //value used by Tanoa
```

##### pictureMap

String: Path to map picture shown on world selection screen and background of loading screen for that terrain.

```cpp
pictureMap = "A3\Map_Tanoabuka\data\pictureMap_ca.paa"; //value used by Tanoa
```

##### plateFormat

String:

```cpp
plateFormat = "T#$-####"; //value used by Tanoa
```

##### plateLetters

String:

```cpp
plateLetters = "ABCDEGHIKLMNOPRSTVXZ"; //value used by Tanoa
```

##### pointObject

String: Path to model used for point object

```cpp
pointObject = "A3\data_f\point.p3d"; //value used by Tanoa
```

##### previewVideo

String: Path to video used for video preview in main menu for the terrain

```cpp
previewVideo = "A3\Map_Tanoa_Scenes_F\Video\previewVideo.ogv"; //value used by Tanoa
```

#### R

##### class Rain

```cpp
class Rain
{
    levels[] = {8, 2};
    raindrop = "\A3\data_f\raindrop.p3d"; //path to model used for rain drop
    speed = 1;
    texture = "A3\data_f\rain_ca.paa"; //path to texture used for rain drop
};
```

##### rainbowObject

String: Path to model used for rainbow object

```cpp
rainbowObject = "A3\data_f\rainbow.p3d"; //value used by Tanoa
```

##### rainForced

Integer: (0 = false, 1 = true)

```cpp
rainForced = 0; //value used by Tanoa
```

##### class RainParticles

> [!NOTE]
> When **snow** param is [true](../commands/true.md) the following changes occur in the engine:
>
> - environmental 'snow' [sound controller](../topics/Sound~3A_SoundControllers.md) is set to 1
> - environmental 'rain' [sound controller](../topics/Sound~3A_SoundControllers.md) is set to 0
> - thunder and lightnings effects are disabled
> - [humidity](../commands/humidity.md) stops updating (use [setHumidity](../commands/setHumidity.md) if specific value is needed)

```cpp
class RainParticles
{
    // Parameters for the new particle rain
    // texture of the particle (r = alpha; g = normalX; b = normalY; a = color;)
    rainDropTexture=PathDTextureAbs;
    // dropsInTexture - the number of drops that are present in the drop texture
    texDropCount=4;
    // minimum rain strength when the effect starts to be rendered
    minRainDensity = 0.01;
    // distance of the effect
    effectRadius=15;
    // coefficient of how much the wind influences water drops
    windCoef=0.05;
    // fall speed of the drops
    dropSpeed=15.0;
    // random part of the fall speed
    rndSpeed=0.2;
    // coefficient of how much the drop could randomly change direction
    rndDir=0.1;
    // width of the single drop
    dropWidth=0.04;
    // height of the single drop
    dropHeight=0.8;
    // color of the drop
    dropColor[]={0.1, 0.1, 0.1, 0.1};
    // luminescence of the drop facing to sun
    lumSunFront=0.3;
    // luminescence of the drop opposite to sun
    lumSunBack=0.1;
    // coefficient that tells us how much "refracted" light from the scene is added to the drop color
    refractCoef=0.3;
    // coefficient to tune color saturation of the refraction effect (0=BW, 1=original color)
    refractSaturation = 0.3;

    // SINCE Arma 3 v2.07.148385
    // rain is snow, will be used in "snow" env sound controller (optional, default is false)
    snow=false;
    // SINCE Arma 3 v2.07.148416
    // when true, the dropColor is preserved and not affected by eye accommodation (optional, default is false)
    dropColorStrong=false;
};
```

#### S

##### safePositionAnchor[]

Array: Used for random safe position finding.

```cpp
safePositionAnchor[] = {9158, 9962}; //value used by Tanoa
```

##### safePositionRadius

Integer: Used for random safe position finding.

```cpp
safePositionRadius = 100; //value used by Tanoa
```

##### satelliteMap

String:

```cpp
satelliteMap = ""; //value used by Tanoa
```

##### satelliteNormalBlendEnd

Integer: Distance, where blending of detail normal ends (satellite normal is fully visible)

```cpp
satelliteNormalBlendEnd = 100; //value used by Tanoa
```

##### satelliteNormalBlendStart

Integer: Distance, where ground detail normal is starts to blend to satellite normal texture

```cpp
satelliteNormalBlendStart = 10; //value used by Tanoa
```

##### satelliteNormalOnDetail

Integer: If the satellite normal map on detail maps is enabled. (0 = false, 1 = true)

```cpp
satelliteNormalOnDetail = 1; //value used by Tanoa
```

##### seaBedUnderwaterDepth

Integer: Depth of sea bed plane under water, positive value means depth under water, negative value means autodetection.

```cpp
seaBedUnderwaterDepth = 52; //value used by Tanoa
```

##### seagullPos[]

Array:

```cpp
seagullPos[] = {1024, 130, 1024}; //value used by Tanoa
```

##### seaMaterial

String: Water material is used for sea landscape parts

```cpp
seaMaterial = "#water"; //value used by Tanoa
```

##### seaTexture

String: Wave detection texture expected by the shaders

```cpp
seaTexture = "#(rgb,8,8,3)color(0,0,0,1)"; //value used by Tanoa
```

##### class SeaWaterShaderPars

```cpp
class SeaWaterShaderPars
{
    // coefficient used to multiply move value of refractions
    refractionMoveCoef = 0.01;
    // minimal water surface opacity, when we are looking from above the water surface down
    minWaterOpacity = 0.65;
    // coef used to multiply square root of distance of pixel from water surface when coputing final opacity of water surface
    // waterOpacity = MinWaterOpacity + sqrt(distance)*WaterOpacityDistCoef;
    waterOpacityDistCoef = 0.07;
    // opacity of water surface when we are under water
    underwaterOpacity = 0.2;
    // distance from object, where we start to fade the water surface to full opacity
    waterOpacityFadeStart = 100;
    // length of water surface opacity fading
    waterOpacityFadeLength = 20;
};
```

For more information see the [Visual update documentation.](../topics/Visual_Upgrade.md#ocean-shader)

##### shoreFoamMaterial

String: Shore material is used for sea and landscape interface parts - the foam part

```cpp
shoreFoamMaterial = "#shoreFoam"; //value used by Tanoa
```

##### shoreMaterial

String: Shore material is used for sea and landscape interface parts

```cpp
shoreMaterial = "#shore"; //value used by Tanoa
```

##### shoreTop

Integer: Top point where water is considered off-shore

```cpp
shoreTop = 0; //value used by Tanoa
```

##### shoreWetMaterial

String: Shore wet material is used for sea and landscape interface parts - the wet part

```cpp
shoreWetMaterial = "#shoreWet"; //value used by Tanoa
```

##### skyColorInfluencesFogColor

Arma 3 v1.60
Integer: If sky color influences fog color. (0 = false, 1 = true) [More information](../topics/Visual_Upgrade.md#lighting-setup)

```cpp
skyColorInfluencesFogColor = 0; //value used by Tanoa
```

##### skyFogColorationStart

Float: Starting vertical texture coordinate for skybox coloration with fog (use 1 to disable coloration)

```cpp
skyFogColorationStart = "0.7f"; //value used by Tanoa
```

##### skyObject

String: Path to model used for sky object

```cpp
skyObject = "A3\Map_Tanoabuka\data\skydome.p3d"; //value used by Tanoa
```

##### skyTexture

String: Path to sky texture

```cpp
skyTexture = "A3\Map_Tanoabuka\data\sky_semicloudy_sky.paa"; //value used by Tanoa
```

##### skyTextureR

String: Path to sky reflection texture, used only as default when there is no weather

```cpp
skyTextureR = "A3\Map_Tanoabuka\data\sky_semicloudy_lco.paa"; //value used by Tanoa
```

##### soundMapSizeCoef

Integer: Defines size of soundMap as multiplier of landRange (soundMap.dimX = landRange * soundMapCoef). In more simple terms how detailed/rough the environment sounds areas are to be computed (trees, houses, sea, meadows).

```cpp
soundMapSizeCoef = 4; //value used by Tanoa
```

##### class SpriteRefractionPars

```cpp
class SpriteRefractionPars
{
    // scale of refraction (R, G, B - you can use different values to achieve abberation effect)
    refractScale[] = {0.02, 0.02, 0.02};
    // animation time coef (horizontal, vertical), use {0,0, 0} for no animation (third value not used)
    timeScale[] = {0.03, 0.03, 0.0};
};
```

##### starsObject

String: Path to model used for stars object

```cpp
starsObject = "A3\data_f\stars.p3d"; //value used by Tanoa
```

##### startDate

String: Start date when terrain is loaded without a date preset (e.g. loading into editor)

```cpp
startDate = "6/6/2035"; //value used by Tanoa
```

##### startFog

Integer: Start fog

```cpp
startFog = 0; //value used by Tanoa
```

Related commands: [fog](../commands/fog.md), [setFog](../commands/setFog.md), [fogParams](../commands/fogParams.md), [fogForecast](../commands/fogForecast.md)

##### startFogBase

Integer: Start base altitude for fog computations (in meters)

```cpp
startFogBase = 250; //value used by Tanoa
```

Related commands: [fog](../commands/fog.md), [setFog](../commands/setFog.md), [fogParams](../commands/fogParams.md), [fogForecast](../commands/fogForecast.md)

##### startFogDecay

Integer: Start decay coefficient - decay of fog with altitude

```cpp
startFogDecay = 0.014; //value used by Tanoa
```

Related commands: [fog](../commands/fog.md), [setFog](../commands/setFog.md), [fogParams](../commands/fogParams.md), [fogForecast](../commands/fogForecast.md)

##### startGusts

Integer: Start gusts

```cpp
startGusts = 0; //value used by Tanoa
```

Related commands: [gusts](../commands/gusts.md), [setGusts](../commands/setGusts.md)

##### startLightnings

Integer: Start lightning

```cpp
startLightnings = 0; //value used by Tanoa
```

Related commands: [lightnings](../commands/lightnings.md), [setLightnings](../commands/setLightnings.md)

##### startRain

Integer: Start rain

```cpp
startRain = 0; //value used by Tanoa
```

Related commands: [rain](../commands/rain.md), [setRain](../commands/setRain.md)

##### startTime

String: Start time (military time)

```cpp
startTime = "12:00"; //value used by Tanoa
```

##### startWaves

Integer: Start waves

```cpp
startWaves = 0.1; //value used by Tanoa
```

Related commands: [waves](../commands/waves.md), [setWaves](../commands/setWaves.md)

##### startWeather

Integer:

```cpp
startWeather = 0.3; //value used by Tanoa
```

##### startWind

Integer:

```cpp
startWind = 0.1; //value used by Tanoa
```

Related commands: [wind](../commands/wind.md), [setWind](../commands/setWind.md)

##### startWindDir

Integer:

```cpp
startWindDir = 0; //value used by Tanoa
```

Related commands: [windDir](../commands/windDir.md), [windDir](../commands/windDir.md)

##### class Subdivision

Fractal and white noise random offset are added. White noise generated more "wild" terrain, while fractal tends to generate smooth, varied terrain

```cpp
class Subdivision
{
    // fractal component of subdivision
    // changes are smaller for smaller rectangles
    class Fractal
    {
        // texture roughness factor
        rougness = 10;
        // max. value for squares containing road
        maxRoad = 0.2;
        // max. value for squares containing track
        maxTrack = 1.0;
        // max. coeficient depending on slope
        maxSlopeFactor = 0.05;
    };
    // white noise component of subdivision
    // change size is independent on rectangle size
    class WhiteNoise
    {
        rougness = 5;
        // max. value for squares containing road
        maxRoad = 0.1;
        // max. value for squares containing track
        maxTrack = 0.5;
        // max. coeficient depending on slope
        maxSlopeFactor = 0.025;
    };

    // do not divide surfaces that are under given limit
    minY = -0.0;
    // do not divide flat surfaces
    minSlope = 0.02;
};
```

##### sunObject

String: Path to model used for sun object

```cpp
sunObject = "A3\data_f\sun.p3d"; //value used by Tanoa
```

#### T

##### terrainBlendMaxBrightenCoef

Float: Maximal brightening coef for blending of satellite map and detail map on terrain (default = 1.0f, no brightening = 0.0f)

```cpp
terrainBlendMaxBrightenCoef = "0.0f"; //value used by Tanoa
```

##### terrainBlendMaxDarkenCoef

Float: Maximal darkening coef for blending of satellite map and detail map on terrain (default = 0.0f, no darkening = 1.0f)

```cpp
terrainBlendMaxDarkenCoef = "1.0f"; //value used by Tanoa
```

##### terrainMaterial

String: Terrain material is used for terrain solid ground, by default load from CfgMaterials

```cpp
terrainMaterial = "#terrain"; //value used by Tanoa
```

##### timeOfChanges

Default time (in seconds) over which the weather changes. BI terrains usually have this set to 30 mins (i.e. 1800s). Mission maker can change this value from the weather settings window in the Eden editor.
\
Integer:

```cpp
timeOfChanges = 1800; //value used by Tanoa
```

#### U

##### class Underwater

Parameters for underwater fog

```cpp
class Underwater
{
    /// fog color is changed based on the depth under the water surface
    /// normal fog color    -> water color    -> deep water color
    /// ^
    /// noWaterFog            -> fullWaterFog    -> deepWaterFog

    /// depth under the water, where water color starts (can be negative = distance above water)
    noWaterFog = -0.3;
    /// depth under the water, where water color is at full strength and deep water color starts
    fullWaterFog = 0.1;
    /// depth under the water, where deep water color is at full strength
    deepWaterFog = 10;

    /// distance of the water fog (fog far)
    waterFogDistance = 20;
    /// distance of the water fog (fog near)
    waterFogDistanceNear = 0;

    /// color of the water fog at fullWaterFog depth
    waterColor[] = {0.02,0.08,0.12};
    /// color of the water fog at deepWaterFog depth
    deepWaterColor[] = {0.01,0.06,0.14};

    /// skyTopColor (zenith) at fullWaterFog depth (reflections on water surface?)
    surfaceColor[] = {0.20,0.30,0.25};
    /// skyTopColor (zenith) at deepWaterFog depth (reflections on water surface?)
    deepSurfaceColor[] = {0.10,0.18,0.22};
};
```

For more information see the [Visual update documentation](../topics/Visual_Upgrade.md#ocean-shader).

##### underwaterOcclusionObject

String: Path to model used for underwater occlusion object

```cpp
underwaterOcclusionObject = "A3\data_f\horizont_sphere.p3d"; //value used by Tanoa
```

#### W

##### class WaterExPars

```cpp
// parameters for water in expansion
class WaterExPars
{
    // base density for water fog (exp coef used for water fog computation) (_A3_MULTI_COMPONENT_FOG)
    fogDensity = 0.04;

    // color of the water fog when the camera is on or above water surface
    fogColor[] = { 0.003, 0.005, 0.01 };

    // coefficients for water fog color extinction based on depth of the camera under water (coefs for RGB)
    // this influences how fast the water fog color darkens when camera moves under water (depends on camera position)
    fogColorExtinctionSpeed[] = { 0.2, 0.1, 0.04 };

    // defines how light influences fog color (r = ambient influence, g = diffuse (sun) influence, b = overall light influence)
    fogColorLightInfluence[] = { 0.6, 0.15, 0.5 };

    // coefficient for water fog gradient (MIN coef, MIDDLE coef, MAX coef)
    fogGradientCoefs[] = { 0.4, 1.0, 1.5 };

    // coefficients for light extinction in water based on the point under water (coefs for RGB)
    // this influences extinction of ambient light under water (depends on shaded point position)
    ligtExtinctionSpeed[] = { 0.3, 0.1, 0.05 };
    // coefficients for diffuse light extinction
    diffuseLigtExtinctionSpeed[] = { 0.3, 0.1, 0.05 };

    // screen space reflections - strength of reflections
    // [0,1] (0 = no reflections, 1 = full reflections)
    ssReflectionStrength = 0.85;
    // screen space reflections - max. jitter used when sampling - this is used to randomize artifacts caused by sparse sampling
    // [0,1] (0 = no jitter, 1 = max jitter)
    ssReflectionMaxJitter = 1.0;
    // screen space reflections - how much small ripples (from water normal map) influence the reflection
    // [0,1] (0 = no influence, 1 = max influence)
    ssReflectionRippleInfluence = 0.15;
    // screen space reflections - coefficient for fading of reflection near screen borders (larger number = faster fading)
    ssReflectionEdgeFadingCoef = 10.0;
    // screen space reflections - coefficient for fading of reflection based on distance (larger number = faster fading)
    ssReflectionDistFadingCoef = 4.0;

    // minimal coef for refraction (at water surface)
    refractionMinCoef = 0.02;
    // maximal coef for refraction (at refractionMaxDist)
    refractionMaxCoef = 0.07;
    // distance (in meters) of the point from water surface, where refraction coefficient becomes refractionMaxCoef;
    refractionMaxDist = 20.0;

    // water surface opacity (should be 0 because of multicomponent fog, use higher values for debugging (-> Buldozer))
    surfaceOpacity = 0.0;

    // intensity of shadow on the water (1 = full shadow, 0 = no shadow)
    shadowIntensity = 0.5;

    // max intensity of specular on water
    specularMaxIntensity = 25.0;
    // specular power for overcast 0
    specularPowerOvercast0 = 200.0;
    // specular power for overcast 1
    specularPowerOvercast1 = 50.0;
    // how much we modify the normal for specular computation (0 = no modification, 1 = full modification)
    specularNormalModifyCoef = 1.0;

    // intensity of foam around objects
    foamAroundObjectsIntensity = 0.25;
    // coef for fading of foam (larger number = faster fade)
    foamAroundObjectsFadeCoef = 8.0;
    // coef for color of the foam
    foamColorCoef = 2.0;
    // coef for deformation of foam texture based on normal of water
    foamDeformationCoef = 0.02;
    // coef for mapping of foam texture based on world coordinates
    foamTextureCoef = 0.2;
    // speed of movement of foam based on time
    foamTimeMoveSpeed = 0.2;
    // amount of movement of foam based on time
    foamTimeMoveAmount = 0.1;

    // darkening of terrain near shore params
    // maximal darkening coef (1.0 = max darkening, 0.0 = no darkening)
    shoreDarkeningMaxCoef = 0.5;
    // height offset above water level, where darkening is in its full power
    shoreDarkeningOffset = 0.2;
    // darkening gradient size
    shoreDarkeningGradient = 0.2;

    // speed of the waves (scaling of time)
    shoreWaveTimeScale = 0.8;
    // offset used to delay when the thick edge of foam appears and dissolves based on wave phase
    shoreWaveShifDerivativeOffset = -0.8;
    // overall shore foam intensity
    shoreFoamIntensity = 0.5;
    // max wave height on shore (in meters)
    shoreMaxWaveHeight = 0.15;
    // reflection intensity on the shore wet layer
    shoreWetLayerReflectionIntensity = 1.0;
};
```

For more information see the [Visual update documentation](../topics/Visual_Upgrade.md#ocean-shader).

##### waterTexture

String:

```cpp
waterTexture = "#(argb,8,8,3)color(0.35,0.47,0.66,1)"; //value used by Tanoa
```

##### wavesForced

Integer: (0 = false, 1 = true)

```cpp
wavesForced = 0; //value used by Tanoa
```

##### windForced

Integer: (0 = false, 1 = true)

```cpp
windForced = 0; //value used by Tanoa
```

##### worldName

String: Path to WRP

```cpp
worldName = "A3\Map_Tanoabuka\Tanoa.wrp"; //value used by Tanoa
```

<sub>Source: [BI Community Wiki — Arma 3: CfgWorlds Config Reference](https://community.bistudio.com/wiki/Arma_3:_CfgWorlds_Config_Reference) (revision 373245).</sub>
