anchor.diff:  end;
   
   
  -function TKMTerrain.TileHasParameter(X,Y: Word; aCheckTileFunc: TBooleanWordFunc; aAllow2CornerTiles: Boolean = True): Boolean;
  +function TKMTerrain.TileHasParameter(X,Y: Word; aCheckTileFunc: TBooleanWordFunc; aAllow2CornerTiles: Boolean = False): Boolean;
   const
     PROHIBIT_TERKINDS: array[0..1] of TKMTerrainKind = (tkLava, tkAbyss);
   var
  
positive.code: //  Ter: Word;
  //  TerInfo: TKMGenTerrainInfo;
  begin
    Result := TileHasParameter(Loc.X, Loc.Y, fTileset.TileIsWalkable);
  //  Result := fTileset.TileIsWalkable(Land[Loc.Y, Loc.X].BaseLayer.Terrain);
  //  for L := 0 to Land[Loc.Y, Loc.X].LayersCnt - 1 do
  //  begin
  
negative.code: 
      fBoundsWC: TKMRect; //WC rebuild bounds used in FlattenTerrain (put outside to fight with recursion SO error in FlattenTerrain EnsureWalkable)
  
      function TileHasParameter(X,Y: Word; aCheckTileFunc: TBooleanWordFunc; aAllow2CornerTiles: Boolean = False): Boolean;
  
      function GetMiningRect(aRes: TKMWareType): TKMRect;
  
  