Header, CfgPatches, CfgVehicles

The following sample is from BISampleMap for ArmA 1. I don't know what the first block of constants does in an island config. Second block is probably for convenience. Third block may be related to class inheritance and membership, not sure. The third block is probably also for convenience, but it seems related to the "access" value used in island classes (e.g. Chernarus). Official A2 islands don't seem to define any of this, they just define "_ARMA_".

#define TEast 0
#define TWest 1
#define TGuerrila 2
#define TCivilian 3
#define TSideUnknown 4
#define true 1
#define false 0
// type scope
#define private 0
#define protected 1
#define public 2
#define ReadAndWrite 0 //! any modifications enabled
#define ReadAndCreate 1 //! only adding new class members is allowed
#define ReadOnly 2 //! no modifications enabled
#define ReadOnlyVerified 3 //! no modifications enabled, CRC test applied

CfgPatches, as far as I know, works like in model configs, and is a "header" of sorts that tells the game what it is and what it needs, at a glance. units[] is what this addon adds to the game (here, the Takistan map). weapons[] is unused for islands. requiredVersion is self-explanatory though I doubt it's much use for islands. requiredAddons[] is also self-explanatory though it can probably be empty in custom islands unless you're using custom addons, as players will most likely have the default CA content already.

Another two values you can add here which I'd only seen in custom islands (thanks to Mondkalb and his Celle island for helping me find out about this one) is author and mail, two strings whose purpose should be obvious. These were not part of the original Takistan example (official maps have no author information), but were added in later.

class CfgPatches
{
    class Takistan
    {
         units[] = {"Takistan"};
         weapons[] = {};
         requiredVersion = 1.02;
         requiredAddons[] = {"CA_E","CARoads_E","CARocks_E","CAStructures_E","CAMisc_E"};
         author = "BIDude";
         mail = "bidude@example.com";
    };
};

CfgVehicles is defined after CfgPatches in Chernarus (in Takistan it's just a stub). These seem to be the definitions for the "leaves in the wind" effect, FXCrWindLeaf1 actually seems to define the parameters for the motion of the leaves and the other two inherit those definitions with a different model.

class CfgVehicles
{
 class ThingEffect;
 class ThingEffectLight;
 class ThingEffectFeather;
 class FXCrWindLeaf1: ThingEffectLight
 {
  scope = 1;
  model = "\ca\plants2\clutter\cr_leaf.p3d";
  displayName = "Internal: FxCrWindLeaf1";
  airFriction2[] = {2,2,8};
  airFriction1[] = {1,1,4};
  airFriction0[] = {0.3,0.3,0.1};
  airRotation = 0.35;
  minHeight = 0.3;
  avgHeight = 5.5;
  maxHeight = 10.0;
 };
 class FXCrWindLeaf2: FXCrWindLeaf1
 {
  model = "\ca\plants2\clutter\cr_leaf2.p3d";
  displayName = "Internal: FxCrWindLeaf2";
 };
 class FXCrWindLeaf3: FXCrWindLeaf1
 {
  model = "\ca\plants2\clutter\cr_leaf3.p3d";
  displayName = "Internal: FxCrWindLeaf3";
 };
};