anchor.diff:    MinPoint, MaxPoint: TKMPoint;
     v1, v2, v3: TKMPointF;
   begin
  -  SetLength(fPoint2NodeArr, gTerrain.MapY, gTerrain.MapX);
  -  for Y := Low(fPoint2NodeArr) to High(fPoint2NodeArr) do
  -    for X := Low(fPoint2NodeArr[Y]) to High(fPoint2NodeArr[Y]) do
  -      fPoint2NodeArr[Y,X] := High(Word);
  +  SetLength(fPoint2PolygonArr, gTerrain.MapY, gTerrain.MapX);
  +  for Y := Low(fPoint2PolygonArr) to High(fPoint2PolygonArr) do
  +    for X := Low(fPoint2PolygonArr[Y]) to High(fPoint2PolygonArr[Y]) do
  +      fPoint2PolygonArr[Y,X] := High(Word);
   
     for I := 0 to fPolyCount - 1 do
     begin
  
positive.code: 
    //Mapp all map tiles to its polygons
    TieUpTilesWithPolygons();
  end;
  
  
  
negative.code:   public
      constructor Create(aInfluences: TKMInfluences);
  
      property Point2PolygonArr: TKMWord2Array read fPoint2PolygonArr;
      property Polygons: TPolygonArray read fPolygons;
      property Nodes: TNodeArray read fNodes;
  
      procedure Init;
      procedure GetDefenceOutline(aOwner: TKMHandIndex; out aOutline1, aOutline2: TKMWeightSegments);
      function FindClosestPolygon(aP: TKMPoint): Word;
  
      procedure Save(SaveStream: TKMemoryStream);
      procedure Load(LoadStream: TKMemoryStream);
  