anchor.diff:  		else
   			if(src.timing)
   				spawn( 5 )
  -					update_display(id, disp1)
  -			else
  -				spawn( 5 )
  -				update_display(id, null)
  -
  +					update_display(disp1, disp2)
   
   // Adds an icon in case the screen is broken/off, stolen from status_display.dm
   /obj/machinery/door_timer/proc/set_picture(var/state)
  
positive.code: // NOTE: Each brig door and door_control must be placed on top of an other on the map, use offset to
  // put the control on a wall.
  // ID variable on door and on door control links them together.
  
  /obj/machinery/computer/door_control
  	name = "Door Control"
  	icon = 'stationobjs.dmi'
  	icon_state = "sec_computer"
  	req_access = list(access_brig)
  //	var/authenticated = 0.0		if anyone wants to make it so you need to log in in future go ahead.
  	var/id = 1.0 // ID of door control and door it operates
  
  /obj/machinery/computer/door_control/proc/alarm()
  	if(stat & (NOPOWER|BROKEN))
  		return
  	for(var/obj/machinery/door/window/brigdoor/M in world)
  		if (M.id == src.id)
  			if(M.density)
  				spawn( 0 )
  					M.open()
  //			else
  //				spawn( 0 )
  //					M.close()
  	src.updateUsrDialog()
  	return
  
  //Allows the AI to control doors, see human attack_hand function below
  /obj/machinery/computer/door_control/attack_ai(var/mob/user as mob)
  	return src.attack_hand(user)
  
  //Allows monkeys to control doors, see human attack_hand function below
  /obj/machinery/computer/door_control/attack_paw(var/mob/user as mob)
  	return src.attack_hand(user)
  
  // A security door_control computer for centralizing all brig door locks.
  /obj/machinery/computer/door_control/attack_hand(var/mob/user as mob)
  	if(..())
  		return
  	var/dat = "<HTML><BODY><TT><B>Brig Computer</B><br><br>"
  	user.machine = src
  	for(var/obj/machinery/door/window/brigdoor/M in world)
  		if(M.id == 1)
  			dat += text("<A href='?src=\ref[src];setid=1'>Door 1: [(M.density ? "Closed" : "Opened")]</A><br>")
  		else if(M.id == 2)
  			dat += text("<A href='?src=\ref[src];setid=2'>Door 2: [(M.density ? "Closed" : "Opened")]</A><br>")
  		else if(M.id == 3)
  			dat += text("<A href='?src=\ref[src];setid=3'>Door 3: [(M.density ? "Closed" : "Opened")]</A><br>")
  		else if(M.id == 4)
  			dat += text("<A href='?src=\ref[src];setid=4'>Door 4: [(M.density ? "Closed" : "Opened")]</A><br>")
  		else if(M.id == 5)
  			dat += text("<A href='?src=\ref[src];setid=5'>Door 5: [(M.density ? "Closed" : "Opened")]</A><br>")
  		else
  			world << "Invalid ID detected on brigdoor ([M.x],[M.y],[M.z]) with id [M.id]"
  	dat += text("<br><A href='?src=\ref[src];openall=1'>Open All</A><br>")
  	dat += text("<A href='?src=\ref[src];closeall=1'>Close All</A><br>")
  	dat += text("<BR><BR><A href='?src=\ref[user];mach_close=computer'>Close</A></TT></BODY></HTML>")
  	user << browse(dat, "window=computer;size=400x500")
  	onclose(user, "computer")
  	return
  
  //Allows the door_control computer to open/close brig doors.
  /obj/machinery/computer/door_control/Topic(href, href_list)
  	if(..())
  		return
  	if ((usr.contents.Find(src) || (in_range(src, usr) && istype(src.loc, /turf))) || (istype(usr, /mob/living/silicon)))
  		usr.machine = src
  		if (href_list["setid"])
  			if(src.allowed(usr))
  				src.id = text2num(href_list["setid"])
  				src.alarm()
  		if (href_list["openall"])
  			if(src.allowed(usr))
  				for(var/obj/machinery/door/window/brigdoor/M in world)
  					if(M.density)
  						M.open()
  		if (href_list["closeall"])
  			if(src.allowed(usr))
  				for(var/obj/machinery/door/window/brigdoor/M in world)
  					if(!M.density)
  						M.close()
  		src.add_fingerprint(usr)
  		src.updateUsrDialog()
  	return
  
  
  
  
  //////////////////////////////////////////////////////////////////////////////////////////////////////////
  
  // new door timer code, mostly taken from status display.
  /obj/machinery/door_timer
  	name = "Door Timer"
  	icon = 'status_display.dmi'
  	icon_state = "frame"
  	desc = "A remote control for a door."
  	req_access = list(access_brig)
  	anchored = 1.0      // can't pick it up
  	density = 0         // can walk through it.
  	var/id = null       // id of door it controls.
  	var/time = 0.0     	// defaults to 0 seconds timer
  	var/timing = 0.0    // boolean, true/1 timer is on, false/0 means it's not timing
  	var/picture_state	// icon_state of alert picture
  
  
  //Main door timer loop, if it's timing and time is >0 reduce time by 1.
  // if it's less than 0, open door, reset timer
  
negative.code: 			if(M.density)
  				spawn( 0 )
  					M.open()
  	src.updateUsrDialog()
  	src.update_icon()
  	return
  
  /obj/machinery/door_timer/proc/closedoor()
  	if(stat & (NOPOWER|BROKEN))
  		return
  	for(var/obj/machinery/door/window/brigdoor/M in world)
  		if (M.id == src.id)
  			if(!M.density)
  				spawn( 0 )
  					M.close()
  	src.updateUsrDialog()
  	src.update_icon()
  	return
  
  
  //Allows AIs to use door_timer, see human attack_hand function below
  /obj/machinery/door_timer/attack_ai(var/mob/user as mob)
  