//-------------------------------------------------------------------
//
//  This code is copyright 2001 by G5 Software.
//  Any unauthorized usage, either in part or in whole of this code
//  is strictly prohibited. Violators WILL be prosecuted to the
//  maximum extent allowed by law.
//
//-------------------------------------------------------------------

class CBaseVillage extends CBaseForAllVillages
{
  array AssociationTable = array(
      array(1,  "InteriorObject", "CBaseLargeCountryHouse",      vector(0.0, 0.0, 0.0), 0.0),
      array(2,  "InteriorObject", "CBaseSmallCountryHouse",      vector(0.0, 0.0, 0.0), 0.0),
//      array(3,  "InteriorObject", "CBaseWoodShed",               vector(0.0, 0.0, 0.0), 0.0),
//      array(4,  "InteriorObject", "CBaseBigSheaf",               vector(0.0, 0.0, 0.0), 90.0),
//      array(5,  "InteriorObject", "CBaseSheaf",                  vector(0.0, 0.0, 0.0), 90.0),
      array(7,  "InteriorObject", "CBaseSovietTent",             vector(0.0, 0.0, 0.0), 0.0),
      array(8,  "GameObject",     "CBaseGermanTent",             vector(0.0, 0.0, 0.0), 0.0),
      array(9,  "InteriorObject", "CBaseGermanArmedDoubleHouse", vector(0.0, 0.0, 0.0), 0.0),
      array(10, "InteriorObject", "CBaseGermanArmedDoubleHouse", vector(0.0, 0.0, 0.0), 0.0),
      array(11, "InteriorObject", "CBaseBarrelStack",            vector(0.0, 0.0, 0.0), 0.0),
      array(12, "InteriorObject", "CBaseTownHouse",              vector(0.0, 0.0, 0.0), 0.0),
      array(13, "GameObject",     "CBaseGermanGunTower",         vector(0.0, 0.0, 0.0), 0.0),
      array(16, "InteriorObject", "CBaseGermanArmedSandBags",    vector(0.0, 0.0, 0.0), 0.0),
      array(17, "InteriorObject", "CBaseGermanFaustSandBags",    vector(0.0, 0.0, 0.0), 0.0),
      array(18, "GameObject",     "CBaseGermanFlak",             vector(0.0, 0.0, 0.0), 0.0),
      array(19, "InteriorObject", "CBaseCountryElevator",        vector(0.0, 0.0, 0.0), 0.0),
      array(20, "InteriorObject", "CBaseCountryFarm",            vector(0.0, 0.0, 0.0), 0.0),
      array(21, "InteriorObject", "CBaseCountryMill",            vector(0.0, 0.0, 0.0), 0.0),
      array(22, "InteriorObject", "CBaseCountrySawmill",         vector(0.0, 0.0, 0.0), 0.0),
      array(23, "InteriorObject", "CBaseCountryShop",            vector(0.0, 0.0, 0.0), 0.0),
      array(24, "InteriorObject", "CBaseCountrySmith",           vector(0.0, 0.0, 0.0), 0.0),
      array(25, "InteriorObject", "CBaseCountryStables",         vector(0.0, 0.0, 0.0), 0.0),
      array(26, "InteriorObject", "CBaseCountryStorage",         vector(0.0, 0.0, 0.0), 0.0),
      array(27, "InteriorObject", "CBaseWaterTower",             vector(0.0, 0.0, 0.0), 0.0)
    );

  string SkinFileName    = "Villages/Villages.skin";

  float  MapPixelWidth   = 8.0 / 3.0;
  float  MapPixelHeight  = 8.0 / 3.0;

  string FenceClass      = "CVillageFence";

  void CBaseVillage()
  {
    if (!Core_IsSlowVideoCard())
    {
      AssociationTable.addElement(array(3,  "InteriorObject", "CBaseWoodShed", vector(0.0, 0.0, 0.0), 0.0));
      AssociationTable.addElement(array(4,  "InteriorObject", "CBaseBigSheaf", vector(0.0, 0.0, 0.0), 90.0));
      AssociationTable.addElement(array(5,  "InteriorObject", "CBaseSheaf",    vector(0.0, 0.0, 0.0), 90.0));
    }
  }
}

class CBaseAsianVillage extends CBaseForAllVillages
{
  array AssociationTable = array(
      array(1,  "InteriorObject", "CBaseLargeAsianHouse",        vector(0.0, 0.0, 0.0), 20.0),
      array(2,  "InteriorObject", "CBaseSmallAsianHouse",        vector(0.0, 0.0, 0.0), 20.0),
      array(7,  "InteriorObject", "CBaseSovietTent",             vector(0.0, 0.0, 0.0), 0.0),
      array(8,  "InteriorObject", "CBaseGermanTent",             vector(0.0, 0.0, 0.0), 0.0),
      array(11, "InteriorObject", "CBaseBarrelStack",            vector(0.0, 0.0, 0.0), 0.0),
      array(13, "GameObject",     "CBaseGermanGunTower",         vector(0.0, 0.0, 0.0), 0.0),
      array(16, "InteriorObject", "CBaseGermanArmedSandBags",    vector(0.0, 0.0, 0.0), 0.0),
      array(17, "InteriorObject", "CBaseGermanFaustSandBags",    vector(0.0, 0.0, 0.0), 0.0),
      array(18, "GameObject",     "CBaseGermanFlak",             vector(0.0, 0.0, 0.0), 0.0),
      array(19, "InteriorObject", "CBaseAsianMinaret",           vector(0.0, 0.0, 0.0), 0.0),
      array(20, "InteriorObject", "CBaseAsianPalace",            vector(0.0, 0.0, 0.0), 0.0)
    );

  string SkinFileName    = "Villages/Villages.skin";

  float  MapPixelWidth   = 8.0 / 3.0;
  float  MapPixelHeight  = 8.0 / 3.0;

  string FenceClass      = "CAsianFence";
}



class CVillageFence
{
  int    MapColor        = 15;
  int    Material        = 0;
  int    TexturePlankQty = 16;
  float  TextureWidth    = 4.0;
  float  TextureHeight   = 2.0;
  float  MinSegmentSize  = 4.0f;
  float  MaxSegmentSize  = 20.0f;
  float  MaxAngleBtwSeg  = 10.0f;
}

class CAsianFence
{
  int    MapColor        = 15;
  int    Material        = 0;
  int    TexturePlankQty = 16;
  float  TextureWidth    = 4.0;
  float  TextureHeight   = 1.0;
  float  MinSegmentSize  = 4.0f;
  float  MaxSegmentSize  = 20.0f;
  float  MaxAngleBtwSeg  = 10.0f;
}



class CVillage_01 extends CBaseVillage
{
  string VillageMapFile = "Villages/Village_01.bmp";
}

class CVillage_02 extends CBaseVillage
{
  string VillageMapFile  = "Villages/Village_02.bmp";
}

class CVillage_03 extends CBaseVillage
{
  string VillageMapFile  = "Villages/Village_03.bmp";
}

class CVillage_04 extends CBaseVillage
{
  string VillageMapFile  = "Villages/Village_04.bmp";
}

class CVillage_05 extends CBaseVillage
{
  string VillageMapFile  = "Villages/Village_05.bmp";
}

class CVillage_06 extends CBaseVillage
{
  string VillageMapFile  = "Villages/Village_06.bmp";
}

class CVillage_07 extends CBaseVillage
{
  string VillageMapFile  = "Villages/Village_07.bmp";
}

class CVillage_08 extends CBaseVillage
{
  string VillageMapFile  = "Villages/Village_08.bmp";
}

class CVillage_09 extends CBaseVillage
{
  string VillageMapFile  = "Villages/Village_09.bmp";
}

class CVillage_10 extends CBaseVillage
{
  string VillageMapFile  = "Villages/Village_10.bmp";
}

class CVillage_11 extends CBaseVillage
{
  string VillageMapFile  = "Villages/Village_11.bmp";
}

class CVillage_12 extends CBaseVillage
{
  string VillageMapFile  = "Villages/Village_12.bmp";
}

class CVillage_13 extends CBaseVillage
{
  string VillageMapFile  = "Villages/Village_13.bmp";
}

class CVillage_14 extends CBaseVillage
{
  string VillageMapFile  = "Villages/Village_14.bmp";
}

class CVillage_15 extends CBaseVillage
{
  string VillageMapFile  = "Villages/Village_15.bmp";
}

class CVillage_16 extends CBaseVillage
{
  string VillageMapFile  = "Villages/Village_16.bmp";
}

class CVillage_17 extends CBaseVillage
{
  string VillageMapFile  = "Villages/Village_17.bmp";
}

class CVillage_18 extends CBaseVillage
{
  string VillageMapFile  = "Villages/Village_18.bmp";
}

class CVillage_19 extends CBaseVillage
{
  string VillageMapFile  = "Villages/Village_19.bmp";
}

class CVillage_20 extends CBaseVillage
{
  string VillageMapFile  = "Villages/Village_20.bmp";
}

class CVillage_20S extends CBaseVillage
{
  string VillageMapFile  = "Villages/Village_20S.bmp";
}

class CVillage_21 extends CBaseVillage
{
  string VillageMapFile  = "Villages/Village_21.bmp";
}

class CVillage_22 extends CBaseVillage
{
  string VillageMapFile  = "Villages/Village_22.bmp";
}

class CVillage_23 extends CBaseVillage
{
  string VillageMapFile  = "Villages/Village_23.bmp";
}

class CVillage_24 extends CBaseVillage
{
  string VillageMapFile  = "Villages/Village_24.bmp";
}

class CVillage_25 extends CBaseVillage
{
  string VillageMapFile  = "Villages/Village_25.bmp";
}

class CVillage_26 extends CBaseVillage
{
  string VillageMapFile  = "Villages/Village_26.bmp";
}

class CVillage_27 extends CBaseVillage
{
  string VillageMapFile  = "Villages/Village_27.bmp";
}

class CVillage_28 extends CBaseVillage
{
  string VillageMapFile  = "Villages/Village_28.bmp";
}

class CVillage_29 extends CBaseVillage
{
  string VillageMapFile  = "Villages/Village_29.bmp";
}

class CVillage_30 extends CBaseVillage
{
  string VillageMapFile  = "Villages/Village_30.bmp";
}

class CVillage_31 extends CBaseAsianVillage
{
  string VillageMapFile  = "Villages/Village_31.bmp";
}

class CVillage_32 extends CBaseAsianVillage
{
  string VillageMapFile  = "Villages/Village_32.bmp";
}

class CVillage_33 extends CBaseAsianVillage
{
  string VillageMapFile  = "Villages/Village_33.bmp";
}

class CVillage_34 extends CBaseAsianVillage
{
  string VillageMapFile  = "Villages/Village_34.bmp";
}

class CVillage_35 extends CBaseAsianVillage
{
  string VillageMapFile  = "Villages/Village_35.bmp";
}


