anchor.diff:      //                       EnsureRange(fMapX + aInsetRect.Left, fMapX + aInsetRect.Left, fMapX + aInsetRect.Left + aInsetRect.Right),
       //                       EnsureRange(fMapY + aInsetRect.Top, fMapY + aInsetRect.Top, fMapY + aInsetRect.Top + aInsetRect.Bottom));
   
  +
  +    // Check if we need to generate some of the tiles, if we expand terrain land
       for I := 1 to SizeY do
       begin
         IFrom := EnsureRange(I - aInsetRect.Top, 1, fMapY - 1); //-1 because last row is not part of the map
  
positive.code:     tileOwner: TKMHandID;
    begin
      tileOwner := PLAYER_NONE;
      // new appended terrain
      if aNewGenTile then
      begin
        //Check if terrainKind is same for all 4 corners
  
negative.code:       TileBasic.BaseLayer.Rotation := Random(4);
        TileBasic.BaseLayer.SetAllCorners;
        //find height mid point to make random elevation even for close to 0 or 100 height
        hMid := Max(0, fLand[aFromY,aFromX].Height - H_RND_HALF) + H_RND_HALF;
        hMid := Min(100, hMid + H_RND_HALF) - H_RND_HALF;
        TileBasic.Height    := EnsureRange(hMid - H_RND_HALF + Random(HEIGHT_RAND_VALUE), 0, 100);
        TileBasic.Obj       := OBJ_NONE; // No object
  