anchor.diff:  
     if TKMTileMaskKind(gGameCursor.MapEdBrushMask) <> mk_None then
       UseMagicBrush(X, Y, Size, (gGameCursor.MapEdShape = hsSquare), True);
  -
  -  fMapXcOld := fMapXc;
  -  fMapYcOld := fMapYc;
  -  fMapXnOld := fMapXn;
  -  fMapYnOld := fMapYn;
   
     gTerrain.UpdatePassability(KMRectGrow(KMRect(gGameCursor.Cell), (Size div 2) + 1));
   end;
  
positive.code: 
    //Need to check if this tile was already smart-painted, "4-Nodes" hence default value is 0
    if (LandTerKind[pY,pX].Tiles <> Byte(Ter1)*Byte(Ter2)*(4-Nodes))
      or (gTerrain.Land[pY,pX].LayersCnt > 0) then
    begin
      LandTerKind[pY,pX].Tiles := Byte(Ter1)*Byte(Ter2)*(4-Nodes);//store not only nodes info, but also terrain type used
  
negative.code:     procedure EditTile(const aLoc: TKMPoint; aTile: Word; aRotation: Byte; aIsCustom: Boolean = True);
      procedure GenerateAddnData;
      procedure InitSize(X,Y: Word);
  
      function IsTerrainRepresentTerKind(aTerId: Word; aTerKind: TKMTerrainKind): Boolean;
  
      procedure RebuildTile(const X,Y: Integer);
    public
  