anchor.diff:      BasicTiles, CA: Boolean;
     end;
   
  -  TBalancedResource = record
  -    Points: TKMPointArray;
  -    Quantity: Integer;
  -    Resource, MinesCnt: Byte;
  -    TileCounter: TIntegerArray;
  -  end;
  -  TBalancedResource1Array = array of TBalancedResource;
  -
   
     TKMRandomMapGenerator = class
     private
       fRNG: TKMRandomNumberGenerator;
  +    fRes: TKMBalancedResources;
     // Generators of random points / seeds / shapes / shapes with certain rules
       function RandomPlayerLocs(): TKMPointArray;
       function LinearInterpolation(const aStep,aMaxNum: Integer): TInteger2Array;
  
positive.code:   RES_TILES_AMOUNT: array[0..4] of Single = (0.25, 0.25, 0.066, 0.25, 0.25);
    RES_MINES_CNT: array[0..4] of Single = (0.005, 0.01, 1.0, 1.0, 1.0);
  
  //
  function FindBestResLoc(const aRADIUS: Single; aMin,aMax,aCenter: TKMPoint; var aCountArr: TInteger2Array; var aResLoc: TKMPoint): Boolean;
  const
    RESRAD = 2;
  
negative.code:     function TileTemplateOLD(var A: TKMByte2Array; const Settings: Byte): TKMByte2Array;
    // Generators of right rotated tiles and objects
      //procedure GenerateTilesOLD(var TilesPartsArr: TTileParts; var A: TKMByte2Array);
      procedure GenerateTiles(var TilesPartsArr: TTileParts; var A: TKMByte2Array; var B: TKMByte2Array);
      procedure GenerateBasicTiles(var TilesPartsArr: TTileParts; var A: TKMByte2Array);
      procedure GenerateHeight(var TilesPartsArr: TTileParts; var A: TKMByte2Array; var TileTempl: TKMByte2Array);
      procedure GenerateObjects(var TilesPartsArr: TTileParts; var A: TKMByte2Array);
  