Smoother roundstart take II (#24504)

* Revert "Until I figure out why random keys aren't being transferred"

* Fixes cyborgs not getting their key at roundstart

* Fixes mimes not getting the prefs name

* Fixes clowns not getting prefs names

* Sets the round start timer when it actually starts

* Remove fluff CHECK_TICKs

* Moves siliconization to the jobs module

* Yeah whatever

* Fixes AIization

* HNNNNGHHHH WHY IS THIS UP HERE?

* Fix cyborgs not linking to AI
This commit is contained in:
Cyberboss
2017-03-07 15:06:33 -05:00
committed by AnturK
parent be1af121fc
commit e03144dc1d
13 changed files with 155 additions and 85 deletions

View File

@@ -18,25 +18,29 @@ var/datum/subsystem/processing/overlays/SSoverlays
/datum/subsystem/processing/overlays/Initialize()
initialized = TRUE
for(var/I in processing)
var/atom/A = I
A.compile_overlays()
CHECK_TICK
processing.Cut()
Flush()
..()
/datum/subsystem/processing/overlays/Recover()
overlay_icon_state_caches = SSoverlays.overlay_icon_state_caches
processing = SSoverlays.processing
/datum/subsystem/processing/overlays/fire()
/datum/subsystem/processing/overlays/fire(resumed = FALSE, mc_check = TRUE)
while(processing.len)
var/atom/thing = processing[processing.len]
processing.len--
if(thing)
thing.compile_overlays(FALSE)
if(MC_TICK_CHECK)
break
if(mc_check)
if(MC_TICK_CHECK)
break
else
CHECK_TICK
/datum/subsystem/processing/overlays/proc/Flush()
if(processing.len)
testing("Flushing [processing.len] overlays")
fire(mc_check = FALSE) //pair this thread up with the MC to get extra compile time
/atom/proc/compile_overlays()
if(LAZYLEN(priority_overlays) && LAZYLEN(our_overlays))