anchor.diff:  
       fMapXn, fMapYn: Integer; //Cursor position node
       fMapXc, fMapYc: Integer; //Cursor position cell
  -    fMapXnOld, fMapYnOld: Integer; //keeps previous node position
  -    fMapXcOld, fMapYcOld: Integer; //keeps previous cell position
   
       function BrushAreaTerKindContains(aCell: TKMPoint): Boolean;
       function GetTileCornersTerrainKinds(aCell: TKMPoint; aUseTempLand: Boolean; aUseOnlyTileOwnTK: Boolean = False; aUseOnlyNodeTK: Boolean = False): TKMTerrainKindsArray;
  
positive.code: 
    if gGameCursor.MapEdSize = 0 then
    begin
      if (fMapXnOld <> fMapXn) or (fMapYnOld <> fMapYn) then
      begin
        LandTerKind[fMapYn, fMapXn].TerKind := aTerKind;
        AddBrushAreaTerKind(fMapXn, fMapYn);
      end;
      Exit;
    end;
  
  
negative.code: 
    if TKMTileMaskKind(gGameCursor.MapEdBrushMask) <> mk_None then
      UseMagicBrush(X, Y, Size, (gGameCursor.MapEdShape = hsSquare), True);
  
    gTerrain.UpdatePassability(KMRectGrow(KMRect(gGameCursor.Cell), (Size div 2) + 1));
  end;
  