mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2025-12-29 19:42:42 +00:00
Adds a config option that disables some time consuming bootup steps that aren't generally required for debugging.
58 lines
1.3 KiB
Plaintext
58 lines
1.3 KiB
Plaintext
var/datum/controller/subsystem/icon_smooth/SSicon_smooth
|
|
|
|
/datum/controller/subsystem/icon_smooth
|
|
name = "Icon Smoothing"
|
|
init_order = SS_INIT_SMOOTHING
|
|
wait = 1
|
|
priority = SS_PRIORITY_SMOOTHING
|
|
flags = SS_TICKER | SS_FIRE_IN_LOBBY
|
|
|
|
var/list/smooth_queue = list()
|
|
|
|
var/explosion_in_progress = FALSE
|
|
|
|
/datum/controller/subsystem/icon_smooth/New()
|
|
NEW_SS_GLOBAL(SSicon_smooth)
|
|
|
|
/datum/controller/subsystem/icon_smooth/Recover()
|
|
smooth_queue = SSicon_smooth.smooth_queue
|
|
|
|
/datum/controller/subsystem/icon_smooth/fire()
|
|
if (explosion_in_progress)
|
|
return
|
|
|
|
while(smooth_queue.len)
|
|
var/atom/A = smooth_queue[smooth_queue.len]
|
|
smooth_queue.len--
|
|
smooth_icon(A)
|
|
if (MC_TICK_CHECK)
|
|
return
|
|
if (!smooth_queue.len)
|
|
suspend()
|
|
|
|
/datum/controller/subsystem/icon_smooth/ExplosionStart()
|
|
explosion_in_progress = TRUE
|
|
|
|
/datum/controller/subsystem/icon_smooth/ExplosionEnd()
|
|
explosion_in_progress = FALSE
|
|
|
|
/datum/controller/subsystem/icon_smooth/Initialize()
|
|
for (var/zlevel = 1 to world.maxz)
|
|
smooth_zlevel(zlevel, FALSE)
|
|
|
|
if (config.fastboot)
|
|
log_debug("icon_smoothing: Skipping prebake, fastboot enabled.")
|
|
..()
|
|
return
|
|
|
|
var/queue = smooth_queue
|
|
smooth_queue = list()
|
|
for(var/V in queue)
|
|
var/atom/A = V
|
|
if(!A)
|
|
continue
|
|
smooth_icon(A)
|
|
CHECK_TICK
|
|
|
|
..()
|