mirror of
https://github.com/SPLURT-Station/S.P.L.U.R.T-Station-13.git
synced 2025-12-09 16:07:40 +00:00
43 lines
846 B
Plaintext
43 lines
846 B
Plaintext
SUBSYSTEM_DEF(icon_smooth)
|
|
name = "Icon Smoothing"
|
|
init_order = INIT_ORDER_ICON_SMOOTHING
|
|
wait = 1
|
|
priority = FIRE_PRIOTITY_SMOOTHING
|
|
flags = SS_TICKER
|
|
|
|
var/list/smooth_queue = list()
|
|
var/list/deferred = list()
|
|
|
|
/datum/controller/subsystem/icon_smooth/fire()
|
|
var/list/cached = smooth_queue
|
|
while(cached.len)
|
|
var/atom/A = cached[cached.len]
|
|
cached.len--
|
|
if (A.flags_1 & INITIALIZED_1)
|
|
smooth_icon(A)
|
|
else
|
|
deferred += A
|
|
if (MC_TICK_CHECK)
|
|
return
|
|
|
|
if (!cached.len)
|
|
if (deferred.len)
|
|
smooth_queue = deferred
|
|
deferred = cached
|
|
else
|
|
can_fire = 0
|
|
|
|
/datum/controller/subsystem/icon_smooth/Initialize()
|
|
smooth_zlevel(1,TRUE)
|
|
smooth_zlevel(2,TRUE)
|
|
var/queue = smooth_queue
|
|
smooth_queue = list()
|
|
for(var/V in queue)
|
|
var/atom/A = V
|
|
if(!A || A.z <= 2)
|
|
continue
|
|
smooth_icon(A)
|
|
CHECK_TICK
|
|
|
|
return ..()
|