anchor.diff:  
   //SSicon_smooth
   /proc/queue_smooth(atom/A)
  -	if(SSicon_smooth)
  -		SSicon_smooth.smooth_queue[A] = A
  -		SSicon_smooth.can_fire = 1
  -	else
  -		smooth_icon(A)
  +	if(!A.smooth || A.smooth & SMOOTH_QUEUED)
  +		return
  +
  +	SSicon_smooth.smooth_queue += A
  +	SSicon_smooth.can_fire = 1
  +	A.smooth |= SMOOTH_QUEUED
  +
   
   //Example smooth wall
   /turf/closed/wall/smooth
  
positive.code: #define N_SOUTHEAST	64
  #define N_SOUTHWEST	1024
  
  #define SMOOTH_FALSE	0 //not smooth
  #define SMOOTH_TRUE		1 //smooths with exact specified types or just itself
  #define SMOOTH_MORE		2 //smooths with all subtypes of specified types or just itself (this value can replace SMOOTH_TRUE)
  #define SMOOTH_DIAGONAL	4 //if atom should smooth diagonally, this should be present in 'smooth' var
  #define SMOOTH_BORDER	8 //atom will smooth with the borders of the map
  
  #define NULLTURF_BORDER 123456789
  
  
negative.code: 
  //do not use, use queue_smooth(atom)
  /proc/smooth_icon(atom/A)
  	if(!A || !A.smooth)
  		return
  	A.smooth &= ~SMOOTH_QUEUED
  	if (!A.z)
  		return
  	if(QDELETED(A))
  		return
  