ArmA 1 Forum, ArmA 1 Home, ArmA 1 Config, ArmA 1 Tools, ArmA 1 File Formats, ArmA 1 Missions, ArmA 1 3D Modeling, ArmA 1 Terrain, ArmA 1 Texturing, ArmA 1 Scripting
ArmA 1 aka Armed Assault (ArmA)
ArmA 1 common errors in configs which you should and need to avoid at all cost.
For example on many many addons (even in bis material) you'll see this arma.rpt error:
Updating base class ->MGunCore, by ca\weapons\config.bin/cfgWeapons/MGun/
This happens because an addon changes the inheritance of a class that has already been defined. In the example above,
bis themselves does this in the Addons\weapons.pbo
addon, where the basic class MGun
is altered from
having no parent class to having the class MGunCore
as the parent.
The warning is printed like this:
Updating base class OldClass→NewClass, by \path\to\the\config.bin/CfgSomeClass/Classname
This means that Classname
was changed from being based on the old base class (OldClass
) to the new base class (NewClass
).
(In the MGun
arma.rpt error example, OldClass
was empty, ie MGun
did not have a parent class.)
How do you avoid this warning? It's simple: don't change the inheritance of existing classes
Sometimes you see addons that not only alters the inheritance of existing bis classes, but then proceeds to make changes to the classes themselves. An example of this can be seen below:
Bad config:
class MGunCore; class MGun: MGunCore { displayName = "MyCoolGun"; };
That's just bad form. What you should do instead is create your own machine gun class and let it inherit from the existing bis class.
Good config:
class MGun; class TAG_MGun: MGun { displayName = "MyCoolGun"; };
Updating base class ->Default, by ca\anims\characters\config.bin/CfgMovesBasic/DefaultDie/ Updating base class ->Default, by ca\anims\characters\config.bin/CfgMovesMaleSdr/States/Crew/ Updating base class CannonCore->Default, by <addon>\config.bin/CfgWeapons/Cannon30/ Updating base class CAWorld->TAG_baseWorld, by <addon>\config.bin/CfgWorlds/Intro/ Updating base class Civilian->SoldierWB, by <addon>\config.bin/CfgVehicles/SoldierWCaptive/ Updating base class controls->, by <addon>\config.bin/RscDisplayArcadeMap/controls/ Updating base class controls->, by <addon>\config.bin/RscDisplayLoading/Variants/Loading_East1/controls/ Updating base class DefaultClutter->, by <addon>\config.bin/CfgWorlds/Intro/clutter/GrassGeneral/ Updating base class Face1->, by <addon>\config.bin/CfgFaces/Man/Face10/ Updating base class HeavyReammoBox->Land_garaz_s_tankem, by <addon>\config.bin/CfgVehicles/HeavyReammoBoxEast/
All can be avoided by not touching these base classes, just inheriting from them into your own new classes.