Config Properties Megalist: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
Line 115: Line 115:


==''Model.cfg''==
==''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. [ [https://community.bistudio.com/wiki/Model_Config A], [https://community.bistudio.com/wiki/ArmA:_Howto_Model_Config B], [https://manuals.bisimulations.com/vbs3/3-0/devref/Content/Adding_Models/AM_Model_cfg.htm C], [https://manuals.bisimulations.com/vbs3/3-0/devref/Content/Config_Manual/Model_cfg/Model_cfg.htm D] ]
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. [ [https://community.bistudio.com/wiki/Model_Config A], [https://community.bistudio.com/wiki/ArmA:_Howto_Model_Config B], [https://manuals.bisimulations.com/vbs3/3-0/devref/Content/Adding_Models/AM_Model_cfg.htm C], [https://manuals.bisimulations.com/vbs3/3-0/devref/Content/Config_Manual/Model_cfg/Model_cfg.htm D] ]


===CfgSkeletons===
===CfgSkeletons===
===CfgModels===
===CfgModels===

Revision as of 03:40, 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 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, "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

hiddenSelections[]

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 ]

CfgSkeletons

CfgModels