Config Properties Megalist: Difference between revisions
Line 8: | Line 8: | ||
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. | 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?== | ==How Many Config Files?== | ||
A corollary to the discussion above is that you can technically 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). Barring | A corollary to the discussion above is that you can technically 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). Barring those exceptions, there is no iron-clad rule that requires certain classes (e.g. CfgAmmo, CfgVehicles, etc.) to be separated or located within particular filenames. It is essentially a matter of clarity, ease of editing, and consistency to help others understand your work. | ||
^Known exceptions: | ^Known exceptions: |
Revision as of 03:21, 15 October 2014
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 technically 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). Barring those exceptions, there is no iron-clad rule that requires certain classes (e.g. CfgAmmo, CfgVehicles, etc.) to be separated or located within particular filenames. It is essentially a matter of clarity, ease of editing, and consistency to help others understand your work.
^Known exceptions:
- #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".
- 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.
- 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, "WW2 Ballistics: Armor and Gunnery" (Bird-Livingston, 2001)]
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 (global)
armorStructural
damageResistance
discreteDistance[]
discreteDistanceInitIndex
gunnerOpticsModel
gunnerOutOpticsModel
gunnerOpticsEffect[]
gunnerHasFlares
inGunnerMayFire
lockDetectionSystem
magazines[]
outGunnerMayFire
radarType
secondaryExplosion
thermalMode[]
viewGunnerInExternal
visionmode[]
xxxFov
weapons[]
HitPoints class properties
armor (local)
depends
explosionShielding
material
minimalHit
name
passThrough
radius
visual
HitHull
HitFuel
HitTrack
HitWheel
HitAmmo
HitEngine
HitAvionics
HitVRotor
HitHRotor
Model.cfg
A game model is defined by its P3D file and an associated model.cfg config file that describes the model's components. It consists of two classes: CfgSkeletons & CfgModels. [ A, B, C, D ]