diff --git a/code/__HELPERS/icons.dm b/code/__HELPERS/icons.dm index 73f9aee53425..586d2d502bed 100644 --- a/code/__HELPERS/icons.dm +++ b/code/__HELPERS/icons.dm @@ -954,8 +954,6 @@ var/global/list/humanoid_icon_cache = list() if(outfit) body.equipOutfit(outfit, TRUE) - SSoverlays.Flush() - var/icon/out_icon = icon('icons/effects/effects.dmi', "nothing") body.setDir(NORTH) diff --git a/code/controllers/subsystem/processing/overlays.dm b/code/controllers/subsystem/processing/overlays.dm index 9a93fbd4b4b1..1508142a8d97 100644 --- a/code/controllers/subsystem/processing/overlays.dm +++ b/code/controllers/subsystem/processing/overlays.dm @@ -18,29 +18,25 @@ var/datum/subsystem/processing/overlays/SSoverlays /datum/subsystem/processing/overlays/Initialize() initialized = TRUE - Flush() + for(var/I in processing) + var/atom/A = I + A.compile_overlays() + CHECK_TICK + processing.Cut() ..() /datum/subsystem/processing/overlays/Recover() overlay_icon_state_caches = SSoverlays.overlay_icon_state_caches processing = SSoverlays.processing -/datum/subsystem/processing/overlays/fire(resumed = FALSE, mc_check = TRUE) +/datum/subsystem/processing/overlays/fire() while(processing.len) var/atom/thing = processing[processing.len] processing.len-- if(thing) thing.compile_overlays(FALSE) - 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 + if(MC_TICK_CHECK) + break /atom/proc/compile_overlays() if(LAZYLEN(priority_overlays) && LAZYLEN(our_overlays)) diff --git a/code/controllers/subsystem/ticker.dm b/code/controllers/subsystem/ticker.dm index 9c3420a85879..50ef8311de18 100644 --- a/code/controllers/subsystem/ticker.dm +++ b/code/controllers/subsystem/ticker.dm @@ -201,10 +201,6 @@ var/datum/subsystem/ticker/ticker CHECK_TICK equip_characters() CHECK_TICK - - SSoverlays.Flush() //Flush the majority of the shit - CHECK_TICK - data_core.manifest() CHECK_TICK diff --git a/code/datums/datacore.dm b/code/datums/datacore.dm index e8c3b7a8f086..9e2f25e3c310 100644 --- a/code/datums/datacore.dm +++ b/code/datums/datacore.dm @@ -66,9 +66,8 @@ return /datum/datacore/proc/manifest() - for(var/mob/new_player/N in player_list) - if(ishuman(N.new_character)) - manifest_inject(N.new_character, N.client) + for(var/mob/living/carbon/human/H in player_list) + manifest_inject(H) CHECK_TICK /datum/datacore/proc/manifest_modify(name, assignment) @@ -185,7 +184,7 @@ var/record_id_num = 1001 -/datum/datacore/proc/manifest_inject(mob/living/carbon/human/H, client/C) +/datum/datacore/proc/manifest_inject(mob/living/carbon/human/H) if(H.mind && (H.mind.assigned_role != H.mind.special_role)) var/assignment if(H.mind.assigned_role) @@ -196,9 +195,7 @@ var/record_id_num = 1001 assignment = "Unassigned" var/id = num2hex(record_id_num++,6) - if(!C) - C = H.client - var/image = get_id_photo(H, C) + var/image = get_id_photo(H) var/obj/item/weapon/photo/photo_front = new() var/obj/item/weapon/photo/photo_side = new() photo_front.photocreate(null, icon(image, dir = SOUTH)) @@ -266,11 +263,7 @@ var/record_id_num = 1001 locked += L return -/datum/datacore/proc/get_id_photo(mob/living/carbon/human/H, client/C) +/datum/datacore/proc/get_id_photo(mob/living/carbon/human/H) var/datum/job/J = SSjob.GetJob(H.mind.assigned_role) - var/datum/preferences/P - if(!C) - C = H.client - if(C) - P = C.prefs + var/datum/preferences/P = H.client.prefs return get_flat_human_icon(null,J.outfit,P)