anchor.diff:  //  Ter: Word;
   //  TerInfo: TKMGenTerrainInfo;
   begin
  -  Result := TileHasParameter(Loc.X, Loc.Y, fTileset.TileIsRoadable);
  +  Result := TileHasParameter(Loc.X, Loc.Y, fTileset.TileIsRoadable, False, True);
   //  Result := fTileset.TileIsRoadable(Land[Loc.Y, Loc.X].BaseLayer.Terrain);
   //  for L := 0 to Land[Loc.Y, Loc.X].LayersCnt - 1 do
   //  begin
  
positive.code: end;
  
  
  function TKMTerrain.TileHasParameter(X,Y: Word; aCheckTileFunc: TBooleanWordFunc; aAllow2CornerTiles: Boolean = False): Boolean;
  const
    PROHIBIT_TERKINDS: array[0..1] of TKMTerrainKind = (tkLava, tkAbyss);
  var
    I, K, Cnt: Integer;
    Corners: TKMTerrainKindsArray;
  
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;
                                aStrictCheck: Boolean = False): Boolean;
  
      function GetMiningRect(aRes: TKMWareType): TKMRect;
  
  