CfgSurfaces Config Reference – Arma 3

From Bohemia Interactive Community
Jump to navigation Jump to search
(→‎files: added docu from BI on pattern matching)
m (Fix syntaxhighlight and some formatting)
Line 2: Line 2:
{{Cfg ref|start}}
{{Cfg ref|start}}
{{Cfg ref|abc}}
{{Cfg ref|abc}}
===A===
=== A ===


====access====
==== access ====
[[TokenNameValueTypes|Integer]]: Determines the manipulability of the class.
[[TokenNameValueTypes|Integer]]: Determines the manipulability of the class.


{| class="bikitable"
{| class="bikitable"
! Value       !! Type !! Description
! Value !! Type !! Description
|-
|-
| <tt>0</tt> || ReadAndWrite ||| Additional values can be added
| <tt>0</tt> || ReadAndWrite ||| Additional values can be added
|-
|-
| <tt>1</tt> || ReadAndCreate ||| Only adding new class members is allowed
| <tt>1</tt> || ReadAndCreate ||| Only adding new class members is allowed
|-
|-
| <tt>2</tt> || ReadOnly ||| No modifications enabled
| <tt>2</tt> || ReadOnly ||| No modifications enabled
|-
|-
| <tt>3</tt> || ReadOnlyVerified ||| No modifications enabled
| <tt>3</tt> || ReadOnlyVerified ||| No modifications enabled
|}
|}


All ''BIS'' classes are '''ReadOnlyVerified''' and can only be inherited into a new class
All ''BIS'' classes are '''ReadOnlyVerified''' and can only be inherited into a new class


<syntaxhighlight lang="c">
<syntaxhighlight lang="cpp">
access = 2; //ReadOnly
access = 2; // ReadOnly
</syntaxhighlight>
</syntaxhighlight>


====AIAvoidStance====
==== AIAvoidStance ====
{{GVI|arma3|1.60}}
{{GVI|arma3|1.60}}
[[TokenNameValueTypes|Integer]]: Allows restricting the AI from entering prone with two levels of emphasis
[[TokenNameValueTypes|Integer]]: Allows restricting the AI from entering prone with two levels of emphasis


{| class="bikitable"
{| class="bikitable"
! Value       !! Description
! Value !! Description
|-
|-
| <tt>0</tt> || No change in behavior
| <tt>0</tt> || No change in behavior
|-
|-
| <tt>1</tt> || Less preference for going prone
| <tt>1</tt> || Less preference for going prone
|-
|-
| <tt>2</tt> || Almost never going prone
| <tt>2</tt> || Almost never going prone
|}
|}


===C===
=== C ===
====character====
 
==== character ====
[[TokenNameValueTypes|String]]: Points to a corresponding [[CfgSurfaceCharacters]] entry, which defines the clutter on this surface.
[[TokenNameValueTypes|String]]: Points to a corresponding [[CfgSurfaceCharacters]] entry, which defines the clutter on this surface.
<syntaxhighlight lang="cpp">
character = "Empty"; // No clutter will be used on this surface
character = "SeabedClutter"; // SeabedClutter defined in CfgSurfaceCharacters will be used on this surface
</syntaxhighlight>


<syntaxhighlight lang="c">
=== D ===
character = "Empty"; //No clutter will be used on this surface
character = "SeabedClutter"; //SeabedClutter defined in CfgSurfaceCharacters will be used on this surface
</syntaxhighlight>


===D===
==== dust ====
====dust====
[[TokenNameValueTypes|Float]]: Amount of dust vehicles will create on this surface (higher value = more dust)
[[TokenNameValueTypes|Float]]: Amount of dust vehicles will create on this surface (higher value = more dust)
<syntaxhighlight lang="c">
<syntaxhighlight lang="cpp">
dust = 0.75; //High amount of dust, used for GdtStratisDryGrass
dust = 0.75; // High amount of dust, used for GdtStratisDryGrass
dust = 0.05; //Almost no dust, used for GdtConcrete
dust = 0.05; // Almost no dust, used for GdtConcrete
</syntaxhighlight>
</syntaxhighlight>


===F===
=== F ===
====files====
 
==== files ====
[[TokenNameValueTypes|String]]: Defines which ground texture and [https://community.bistudio.com/wiki/LOD#Roadway roadway] texture filenames this surface will apply to
[[TokenNameValueTypes|String]]: Defines which ground texture and [https://community.bistudio.com/wiki/LOD#Roadway roadway] texture filenames this surface will apply to
<syntaxhighlight lang="c">
<syntaxhighlight lang="cpp">
files = "gdt_grass_green_*"; //Tells the ground texture what surface it corresponds to
files = "gdt_grass_green_*"; // Tells the ground texture what surface it corresponds to
files = "surfint_wood_*"; //Tells the texture used in the roadway LOD what surface it corresponds to
files = "surfint_wood_*"; // Tells the texture used in the roadway LOD what surface it corresponds to
</syntaxhighlight>
</syntaxhighlight>


Line 75: Line 77:
  full pattern and short pattern with ?????? omitted
  full pattern and short pattern with ?????? omitted


====friction====
==== friction ====
[[TokenNameValueTypes|Float]]: Unknown
[[TokenNameValueTypes|Float]]: Unknown
<syntaxhighlight lang="c">
<syntaxhighlight lang="cpp">
friction = 0.9; //Default value, used by all A3 surfaces
friction = 0.9; // Default value, used by all A3 surfaces
</syntaxhighlight>
</syntaxhighlight>


===G===
=== G ===
====grassCover====
 
==== grassCover ====
[[TokenNameValueTypes|Float]]: Used to simulate grass cover at a distance by sinking the target into the ground (higher value = more sinking)
[[TokenNameValueTypes|Float]]: Used to simulate grass cover at a distance by sinking the target into the ground (higher value = more sinking)
<syntaxhighlight lang="c">
<syntaxhighlight lang="cpp">
grassCover = 0; //Used by GdtStratisConcrete, there will be no simulated grass cover at a distance
grassCover = 0; // Used by GdtStratisConcrete, there will be no simulated grass cover at a distance
grassCover = 0.05; //Used by GdtStratisGreenGrass, there will be some simulated grass cover at a distance
grassCover = 0.05; // Used by GdtStratisGreenGrass, there will be some simulated grass cover at a distance
</syntaxhighlight>
</syntaxhighlight>


===I===
=== I ===
====impact====
==== impact ====
[[TokenNameValueTypes|String]]: Defines what particle effect is shown when the surface is hit by a bullet, points to a corresponding entry in [https://community.bistudio.com/wiki/CfgAmmo_Config_Reference#HitEffects CfgAmmo]
[[TokenNameValueTypes|String]]: Defines what particle effect is shown when the surface is hit by a bullet, points to a corresponding entry in [https://community.bistudio.com/wiki/CfgAmmo_Config_Reference#HitEffects CfgAmmo]
<syntaxhighlight lang="c">
<syntaxhighlight lang="cpp">
impact = "hitGroundHard"; //Used by GdtStony, particle effect will be chunks of rock flying when hit
impact = "hitGroundHard"; // Used by GdtStony, particle effect will be chunks of rock flying when hit
impact = "hitGroundSoft"; //Used by GdtStratisDirt, particle effect will be dirt flying when hit
impact = "hitGroundSoft"; // Used by GdtStratisDirt, particle effect will be dirt flying when hit
</syntaxhighlight>
</syntaxhighlight>


Line 111: Line 114:
</spoiler>
</spoiler>


====isWater====
==== isWater ====
[[TokenNameValueTypes|Integer]]: Declares whether the surface is water
[[TokenNameValueTypes|Integer]]: Declares whether the surface is water
<syntaxhighlight lang="c">
<syntaxhighlight lang="cpp">
isWater = 1; //Used by SurfWater, declares the surface as water
isWater = 1; // Used by SurfWater, declares the surface as water
isWater = 0; //Used by Default, declares the surface is not water
isWater = 0; // Used by Default, declares the surface is not water
</syntaxhighlight>
</syntaxhighlight>


===L===
=== L ===
====lucidity====
 
==== lucidity ====
[[TokenNameValueTypes|Float]]: Unknown
[[TokenNameValueTypes|Float]]: Unknown
<syntaxhighlight lang="c">
<syntaxhighlight lang="cpp">
lucidity = 0.3; //Used by GdtStratisConcrete
lucidity = 0.3; // Used by GdtStratisConcrete
lucidity = 3.5; //Used by GdtStratisForestPine
lucidity = 3.5; // Used by GdtStratisForestPine
lucidity = 150; //Used by GdtStratisSeabed
lucidity = 150; // Used by GdtStratisSeabed
</syntaxhighlight>
</syntaxhighlight>


===M===
=== M ===
====maxClutterColoringCoef====
 
==== maxClutterColoringCoef ====
[[TokenNameValueTypes|Float]]: Defines the maximal coefficient of difference between the color of the surface and clutter (must be greater than or equal to 1)
[[TokenNameValueTypes|Float]]: Defines the maximal coefficient of difference between the color of the surface and clutter (must be greater than or equal to 1)
<syntaxhighlight lang="c">
<syntaxhighlight lang="cpp">
maxClutterColoringCoef = 1.35; //Used by GdtStratisConcrete
maxClutterColoringCoef = 1.35; // Used by GdtStratisConcrete
maxClutterColoringCoef = 1.5; //Used by GdtBeach
maxClutterColoringCoef = 1.5; // Used by GdtBeach
</syntaxhighlight>
</syntaxhighlight>


====maxSpeedCoef====
==== maxSpeedCoef ====
[[TokenNameValueTypes|Float]]: Defines the maximum speed coefficient on that surface
[[TokenNameValueTypes|Float]]: Defines the maximum speed coefficient on that surface
<syntaxhighlight lang="c">
<syntaxhighlight lang="cpp">
maxSpeedCoef = 1; //Used by GdtStratisConcrete, no change in speed
maxSpeedCoef = 1; // Used by GdtStratisConcrete, no change in speed
maxSpeedCoef = 0.9; //Used by GdtStratisGreenGrass, 10% reduction in speed
maxSpeedCoef = 0.9; // Used by GdtStratisGreenGrass, 10% reduction in speed
maxSpeedCoef = 0.8; //Used by GdtStratisForestPine, 20% reduction in speed
maxSpeedCoef = 0.8; // Used by GdtStratisForestPine, 20% reduction in speed
</syntaxhighlight>
</syntaxhighlight>


===R===
=== R ===
====restitution====
 
[[TokenNameValueTypes|Float]]:Unknown
==== restitution ====
<syntaxhighlight lang="c">
[[TokenNameValueTypes|Float]]: Unknown
restitution= 0; //Used by every surface
<syntaxhighlight lang="cpp">
restitution= 0; // Used by every surface
</syntaxhighlight>
</syntaxhighlight>


====rough====
==== rough ====
[[TokenNameValueTypes|Float]]:Defines the roughness of the surface when driving over it in a vehicle (higher value = more bumps)
[[TokenNameValueTypes|Float]]: Defines the roughness of the surface when driving over it in a vehicle (higher value = more bumps)
<syntaxhighlight lang="c">
<syntaxhighlight lang="cpp">
rough = 0.05; //Used by GdtStratisConcrete, minimal bumps
rough = 0.05; // Used by GdtStratisConcrete, minimal bumps
rough = 0.15; //Used by GdtMud, fairly bumpy
rough = 0.15; // Used by GdtMud, fairly bumpy
</syntaxhighlight>
</syntaxhighlight>


===S===
=== S ===
====soundEnviron====
 
[[TokenNameValueTypes|String]]:Defines the sound played when walking or driving a vehicle on the surface, points to sounds defined in [https://community.bistudio.com/wiki/CfgVehicles_Config_Reference#SoundEnvironExt_Class SoundEnvironExt]
==== soundEnviron ====
<syntaxhighlight lang="c">
[[TokenNameValueTypes|String]]: Defines the sound played when walking or driving a vehicle on the surface, points to sounds defined in [https://community.bistudio.com/wiki/CfgVehicles_Config_Reference#SoundEnvironExt_Class SoundEnvironExt]
soundEnviron = "drygrass"; //Used by GdtGrassDry, dry grass sound
<syntaxhighlight lang="cpp">
soundEnviron = "gravel"; //Used by SurfRoadDirt, gravel sound
soundEnviron = "drygrass"; // Used by GdtGrassDry, dry grass sound
soundEnviron = "int_wood"; //Used by SurfIntWood, weapons fired while on this surface will have a reverb effect.
soundEnviron = "gravel"; // Used by SurfRoadDirt, gravel sound
soundEnviron = "int_wood"; // Used by SurfIntWood, weapons fired while on this surface will have a reverb effect.
</syntaxhighlight>
</syntaxhighlight>
This value also determines the sound for footsteps inside of a building corresponding for the [https://community.bistudio.com/wiki/LOD#Roadway roadway] LOD. It is important to use corresponding textures for surfaces that are indoors or outdoors, as it has an effect on the sound when firing weapons on that surface.
This value also determines the sound for footsteps inside of a building corresponding for the [https://community.bistudio.com/wiki/LOD#Roadway roadway] LOD. It is important to use corresponding textures for surfaces that are indoors or outdoors, as it has an effect on the sound when firing weapons on that surface.
Line 225: Line 232:
</spoiler>
</spoiler>


====soundHit====
==== soundHit ====
[[TokenNameValueTypes|String]]:Defines the sound played when the surface is struck by a bullet
[[TokenNameValueTypes|String]]: Defines the sound played when the surface is struck by a bullet
<syntaxhighlight lang="c">
<syntaxhighlight lang="cpp">
soundHit = "concrete"; //Used by GdtStratisConcrete, sound of bullet hitting concrete is played when this surface is hit
soundHit = "concrete"; // Used by GdtStratisConcrete, sound of bullet hitting concrete is played when this surface is hit
soundHit = "soft_ground"; //Used by GdtStratisDirt, sound of dirt is played when this surface is hit
soundHit = "soft_ground"; // Used by GdtStratisDirt, sound of dirt is played when this surface is hit
</syntaxhighlight>
</syntaxhighlight>


Line 242: Line 249:
</spoiler>
</spoiler>


====surfaceFriction====
==== surfaceFriction ====
[[TokenNameValueTypes|Float]]: Defines the surface friction on this surface (lower value = more friction)
[[TokenNameValueTypes|Float]]: Defines the surface friction on this surface (lower value = more friction)
<syntaxhighlight lang="c">
<syntaxhighlight lang="cpp">
surfaceFriction = 2.5; //Used by SurfRoadTarmac, highest surface friction value
surfaceFriction = 2.5; // Used by SurfRoadTarmac, highest surface friction value
surfaceFriction = 2; //Used by SurfRoadConcrete, above average surface friction value
surfaceFriction = 2; // Used by SurfRoadConcrete, above average surface friction value
surfaceFriction = 1.8; //Used by GdtDirt, below average surface friction value
surfaceFriction = 1.8; // Used by GdtDirt, below average surface friction value
surfaceFriction = 1.5; //Used by GdtMarsh, low end of surface friction values
surfaceFriction = 1.5; // Used by GdtMarsh, low end of surface friction values
</syntaxhighlight>
</syntaxhighlight>


===T===
=== T ===
====tracksAlpha====
 
==== tracksAlpha ====
[[TokenNameValueTypes|Integer]]: Defines the alpha value of vehicle tracks
[[TokenNameValueTypes|Integer]]: Defines the alpha value of vehicle tracks
<syntaxhighlight lang="c">
<syntaxhighlight lang="cpp">
tracksAlpha = 1; //Default value used by all surfaces
tracksAlpha = 1; // Default value used by all surfaces
</syntaxhighlight>
</syntaxhighlight>


====transparency====
==== transparency ====
[[TokenNameValueTypes|Integer]]: Unknown
[[TokenNameValueTypes|Integer]]: Unknown
<syntaxhighlight lang="c">
<syntaxhighlight lang="cpp">
transparency = -1; //Default value used by all surfaces
transparency = -1; // Default value used by all surfaces
</syntaxhighlight>
</syntaxhighlight>



Revision as of 14:13, 17 May 2018

This reference page was created for Arma 3 v1.60+, some fields may not exist in prior games and versions.

Template:Cfg ref Template:Cfg ref

A

access

Integer: Determines the manipulability of the class.

Value Type Description
0 ReadAndWrite Additional values can be added
1 ReadAndCreate Only adding new class members is allowed
2 ReadOnly No modifications enabled
3 ReadOnlyVerified No modifications enabled

All BIS classes are ReadOnlyVerified and can only be inherited into a new class

access = 2; // ReadOnly

AIAvoidStance

Arma 3 logo black.png1.60 Integer: Allows restricting the AI from entering prone with two levels of emphasis

Value Description
0 No change in behavior
1 Less preference for going prone
2 Almost never going prone

C

character

String: Points to a corresponding CfgSurfaceCharacters entry, which defines the clutter on this surface.

character = "Empty";		// No clutter will be used on this surface
character = "SeabedClutter";	// SeabedClutter defined in CfgSurfaceCharacters will be used on this surface

D

dust

Float: Amount of dust vehicles will create on this surface (higher value = more dust)

dust = 0.75;	// High amount of dust, used for GdtStratisDryGrass
dust = 0.05;	// Almost no dust, used for GdtConcrete

F

files

String: Defines which ground texture and roadway texture filenames this surface will apply to

files = "gdt_grass_green_*";	// Tells the ground texture what surface it corresponds to
files = "surfint_wood_*";		// Tells the texture used in the roadway LOD what surface it corresponds to

From commented configs of BI (binarize\bin)

Caution: wildcard pattern "files" is matched using special purpose matching

* may be used only as last character of the pattern
* matches any string in filename
? matches any single character in filename

when six trailing question-marks are detected "??????", two patterns are matched:
full pattern and short pattern with ?????? omitted

friction

Float: Unknown

friction = 0.9;	// Default value, used by all A3 surfaces

G

grassCover

Float: Used to simulate grass cover at a distance by sinking the target into the ground (higher value = more sinking)

grassCover = 0;		// Used by GdtStratisConcrete, there will be no simulated grass cover at a distance
grassCover = 0.05;	// Used by GdtStratisGreenGrass, there will be some simulated grass cover at a distance

I

impact

String: Defines what particle effect is shown when the surface is hit by a bullet, points to a corresponding entry in CfgAmmo

impact = "hitGroundHard";	// Used by GdtStony, particle effect will be chunks of rock flying when hit
impact = "hitGroundSoft";	// Used by GdtStratisDirt, particle effect will be dirt flying when hit


Check the spoiler for impact values used in vanilla A3 in 1.68:

default_Mat
hitWater
hitGroundHard
hitConcrete
hitGroundSoft
hitVirtual
HitGroundRed
hitGroundRed

isWater

Integer: Declares whether the surface is water

isWater = 1;	// Used by SurfWater, declares the surface as water
isWater = 0;	// Used by Default, declares the surface is not water

L

lucidity

Float: Unknown

lucidity = 0.3;	// Used by GdtStratisConcrete
lucidity = 3.5;	// Used by GdtStratisForestPine
lucidity = 150;	// Used by GdtStratisSeabed

M

maxClutterColoringCoef

Float: Defines the maximal coefficient of difference between the color of the surface and clutter (must be greater than or equal to 1)

maxClutterColoringCoef = 1.35;	// Used by GdtStratisConcrete
maxClutterColoringCoef = 1.5;	// Used by GdtBeach

maxSpeedCoef

Float: Defines the maximum speed coefficient on that surface

maxSpeedCoef = 1;	// Used by GdtStratisConcrete, no change in speed
maxSpeedCoef = 0.9;	// Used by GdtStratisGreenGrass, 10% reduction in speed
maxSpeedCoef = 0.8;	// Used by GdtStratisForestPine, 20% reduction in speed

R

restitution

Float: Unknown

restitution= 0;	// Used by every surface

rough

Float: Defines the roughness of the surface when driving over it in a vehicle (higher value = more bumps)

rough = 0.05;	// Used by GdtStratisConcrete, minimal bumps
rough = 0.15;	// Used by GdtMud, fairly bumpy

S

soundEnviron

String: Defines the sound played when walking or driving a vehicle on the surface, points to sounds defined in SoundEnvironExt

soundEnviron = "drygrass";	// Used by GdtGrassDry, dry grass sound
soundEnviron = "gravel";	// Used by SurfRoadDirt, gravel sound
soundEnviron = "int_wood";	// Used by SurfIntWood, weapons fired while on this surface will have a reverb effect.

This value also determines the sound for footsteps inside of a building corresponding for the roadway LOD. It is important to use corresponding textures for surfaces that are indoors or outdoors, as it has an effect on the sound when firing weapons on that surface.


Check the spoiler for soundEnviron values used in vanilla A3 in 1.68:

normalExt
water
gravel
concrete
tarmac
wood
metal
wavymetal
roof_tiles
int_wood
int_concrete
int_tiles
int_metal
normal
sand
dirt
drygrass
grass
stony
debris
sand_exp
rock
seabed_exp
tiling
virtual
dirt_exp
concrete_exp
asphalt_exp
int_concrete_exp
pavement_exp
int_pavement_exp
stones_exp
int_solidwood_exp
softwood_exp
int_softwood_exp
steel_exp
metalplate_exp
metalplatepressed_exp
int_metalplate_exp
gridmetal_exp
wavymetal_exp
int_carpet_exp
int_mat_exp
mud_exp
straw_exp
int_lino_exp
lino_exp
rooftiles_exp
gravel_exp
grass_exp
grasstall_exp
forest_exp
↑ Back to spoiler's top

soundHit

String: Defines the sound played when the surface is struck by a bullet

soundHit = "concrete";		// Used by GdtStratisConcrete, sound of bullet hitting concrete is played when this surface is hit
soundHit = "soft_ground";	// Used by GdtStratisDirt, sound of dirt is played when this surface is hit


Check the spoiler for soundHit values used in vanilla A3 in 1.68:

hard_ground
concrete
soft_ground
building

surfaceFriction

Float: Defines the surface friction on this surface (lower value = more friction)

surfaceFriction = 2.5;	// Used by SurfRoadTarmac, highest surface friction value
surfaceFriction = 2;	// Used by SurfRoadConcrete, above average surface friction value
surfaceFriction = 1.8;	// Used by GdtDirt, below average surface friction value
surfaceFriction = 1.5;	// Used by GdtMarsh, low end of surface friction values

T

tracksAlpha

Integer: Defines the alpha value of vehicle tracks

tracksAlpha = 1;	// Default value used by all surfaces

transparency

Integer: Unknown

transparency = -1;	// Default value used by all surfaces

Template:Cfg ref