anchor.diff:  #define CHAT_LAYER_Z_STEP			0.0001
   /// The number of z-layer 'slices' usable by the chat message layering
   #define CHAT_LAYER_MAX_Z			(CHAT_LAYER_MAX - CHAT_LAYER) / CHAT_LAYER_Z_STEP
  +/// The dimensions of the chat message icons
  +#define CHAT_MESSAGE_ICON_SIZE		9
   /// Macro from Lummox used to get height from a MeasureText proc
   #define WXH_TO_HEIGHT(x)			text2num(copytext(x, findtextEx(x, "x") + 1))
   
  
positive.code: 			return "#[num2hex(x, 2)][num2hex(m, 2)][num2hex(c, 2)]"
  		if(5)
  			return "#[num2hex(c, 2)][num2hex(m, 2)][num2hex(x, 2)]"
  
negative.code:   * * text - The text content of the overlay
    * * target - The target atom to display the overlay at
    * * owner - The mob that owns this overlay, only this mob will be able to view it
    * * language - The language this message was spoken in
    * * extra_classes - Extra classes to apply to the span that holds the text
    * * lifespan - The lifespan of the message in deciseconds
    */
  /datum/chatmessage/proc/generate_image(text, atom/target, mob/owner, datum/language/language, list/extra_classes, lifespan)
  	/// Cached icons to show what language the user is speaking
  	var/static/list/language_icons
  
  	// Register client who owns this message
  	owned_by = owner.client
  	RegisterSignal(owned_by, COMSIG_PARENT_QDELETING, .proc/on_parent_qdel)
  