anchor.diff:  end;
   
   
  -procedure TKMTerrainPainter.RebuildMap(X,Y,Rad: Integer);
  +procedure TKMTerrainPainter.RebuildMap(X,Y,Rad: Integer; aSquare: Boolean);
   var
     I, K, pY, pX, Nodes, Rot, T: Integer;
     Tmp, Ter1, Ter2, A, B, C, D: TTerrainKind;
   begin
     for I := -Rad to Rad do
     for K := -Rad to Rad do
  -  if Sqr(I) + Sqr(K) < Sqr(Rad) then
  +  if aSquare or (Sqr(I) + Sqr(K) < Sqr(Rad)) then
     begin
       pX := EnsureRange(X+K, 1, fTerrain.MapX - 1);
       pY := EnsureRange(Y+I, 1, fTerrain.MapY - 1);
  
positive.code: end;
  
  
  //Skip the KaM data and load MapEd vertice info
  procedure TKMTerrainPainter.LoadFromFile(FileName: string);
  var
  
negative.code:     S.Seek(17 * ResHead.Allocated, soFromCurrent);
  
      //ADDN
      MapEdChunkFound := False;
      if S.Position < S.Size then
      begin
        Chunk := '    ';
  