anchor.diff:    TBalancedResource = record
       Points: TKMPointArray;
       Quantity: Integer;
  -    Resource: Byte;
  +    Resource, MinesCnt: Byte;
       TileCounter: TIntegerArray;
     end;
     TBalancedResource1Array = array of TBalancedResource;
  
positive.code: interface
  uses
    KM_CommonTypes, KM_Terrain, KM_Utils, Math,  // KM_Utils = random number
    KM_Points, KM_RMGUtils, KM_Defaults, KM_CommonUtils;
  
  
  type
  
negative.code:     procedure CreateObstacles(aLocs: TKMPointArray; var A: TKMByte2Array; var aVoronoi: TInteger2Array; var aPointsArr: TKMPoint2Array);
      procedure CreateBiomes(var A: TKMByte2Array);
    // Fix of mountain to be able to construct mine there
      //procedure MineFix(const Position: TKMPoint; const MINESIZE, Resource: Byte; var Visited: TBoolean2Array; var A: TKMByte2Array);
      procedure MineFix(var Resources: TBalancedResource1Array; var A: TKMByte2Array);
    // These functions secure smooth transitions
      procedure CellularAutomaton(var A: TKMByte2Array);
      function TileTemplate(var A: TKMByte2Array): TKMByte2Array;
  