Config Properties Megalist

From Bohemia Interactive Community
Revision as of 02:25, 15 October 2014 by Olds (talk | contribs) (→‎Intro)
Jump to navigation Jump to search

Intro

Arma 3 documentation is scattered to the 4 winds, and this applies to config file properties as much as anything. This is an attempt to make a single master list of properties with links to [sources]. Yes, there are other partial lists but they have problems: obsolete information, and no links to their sources. So rather than rummage and re-order everyone else's partial lists, this is an attempt to make a more comprehensive resource (at least by Arma standards!).

(This list was compiled in Fall of 2014, and should be up-to-date as of that point.~Olds.)

How Do Configs Work?

All configs get merged into one big config in memory when the game starts. Where duplicates exist, which config takes precedence depends on load order - the last config loaded "wins" by overwriting any previous value(s). Load order is determined by mod folder order, PBO name, but most importantly/properly by the "requiredAddons" section of the CfgPatches class.

How Many Config Files?

A corollary to the discussion above is that you can spread your configs across tons of little files or ball them up into one big one or anything in between--with some exceptions^ (which are dicussed further below). It is essentially a matter of clarity and ease of editing. Barring the exceptions, there is no iron-clad rule that requires certain classes (e.g. CfgAmmo, CfgVehicles, etc.) to be separated or located within certain filenames.

^Known exceptions:

  1. #include'd .h/.hpp files are usually in the same folder or a subfolder of the #include'ing config, but apparently they can be anywhere as long as you #include "pathtofile".
  2. CfgSkeleton & CfgModels classes should be in either: a "model.cfg" file or a "[same-name-as-P3D].cfg" file. Unlike other config classes, these ones should not be thrown into random files.
  3. The model.cfg file must be in the same folder as--or in a parent folder of--the object (P3D) it configures.

Weapons

For understandable reasons, weapons data is scattered across several different config classes. Defining a weapon properly requires working with all these classes.

CfgAmmo

Projectile-specific properties

airFriction

How much the projectile slows down as it travels through air. (Seems to be equivalent to Bird-Livingston's "ballistic K factor" * 0.0000001).[A, B]

airLock

caliber

[float>=0]. Penetrative power of a projectile based on speed. (A value of 1 is standardized as 15mm of RHA penetration at 1000m/s.) The formula for mm of penetration is: (projectile speed / 1000)x(caliber)x(bulletPenetrability of the target BISURF). So higher = more penetration. Restating the formula: caliber = (mm penetration @speedX)*1000 / (bulletPenetrability * speedX). <!>Adding caliber values to missile or rockets results is bugged and results in missiles flying through targets.[A]

canLock

cost

deflecting

explosive

hit

indirectHit

initTime

irLock

laserLock

manualControl

manuevrability

maxControlRange

maxRange

maxRangeProbab

maxSpeed

minRange

minRangeProbab

midRange

midRangeProbab

muzzle velocity

Tricked you! Muzzle velocity for a projectile is defined in the CfgMagazines class and it's called "initSpeed".

thrustTime

thrust

timeToLive

typicalspeed

nvgOnly

visibleFire

visibleFireTime

CfgMagazines

Magazine properties plus some projectile-specific stuff that gets stored here instead of CfgAmmo.

initSpeed

tbd

CfgWeapons

Gun/launcher-specific properties.

autoFire

ballisticsComputer

canLock

dispersion

[float>=0]. Weapon's dispersion in radians (1 angular milliradian = 0.001 dispersion, 1 MOA = 0.000290888 dispersion)

weaponLockSystem

Vehicles

tbd

CfgVehicles

armor

armorStructural

damageResistance

hiddenSelections[]

discreteDistance[]

discreteDistanceInitIndex

gunnerOpticsModel

gunnerOutOpticsModel

gunnerOpticsEffect[]

gunnerHasFlares

inGunnerMayFire

lockDetectionSystem

magazines[]

outGunnerMayFire

radarType

secondaryExplosion

thermalMode[]

viewGunnerInExternal

visionmode[]

xxxFov

weapons[]

HitPoints class properties

armor

depends

explosionShielding

material

minimalHit

name

passThrough

radius

visual

HitHull

HitFuel

HitTrack

HitWheel

HitAmmo

HitEngine

HitAvionics

HitVRotor

HitHRotor

Model.cfg

Model.cfg is the place where we describe the basic parts of a game model (i.e. its P3D file). It is divided into two classes: CfgSkeletons & CfgModels.

CfgSkeletons

CfgModels