Files
Aurora.3/code/controllers/subsystems/icon_cache.dm
Lohikar 8fcad605ee More icon caching (#3078)
changes:

Human-type hair (facial & head), eyes, and lips are now cached in SSicon_cache.
Underwear, undershirts, and socks are now cached in SSicon_cache.
Removed forced icon regen for update_body - if this actually did anything, the cache key for these icons needs to be made more detailed.
Organs now fully use SSoverlays to apply overlays (previously they partially used it, which may have caused bugs).
A couple of hair styles (bald, shaved) are pretty common, so this should remove/reduce the overhead of constantly regenerating their icons. Also means that BST's icons only really need to be generated once.
2017-07-18 12:22:01 +03:00

49 lines
1.5 KiB
Plaintext

/var/datum/controller/subsystem/icon_cache/SSicon_cache
/datum/controller/subsystem/icon_cache
name = "Icon Cache"
flags = SS_NO_FIRE | SS_NO_INIT
var/list/bloody_cache = list()
var/list/holo_multiplier_cache = list()
var/list/holo_adder_cache = list()
var/list/image/fluidtrack_cache = list()
var/list/floor_decals = list()
var/list/flooring_cache = list()
var/list/mob_hat_cache = list()
var/list/magazine_icondata_keys = list()
var/list/magazine_icondata_states = list()
var/list/stool_cache = list()
var/list/floor_light_cache = list()
var/list/ashtray_cache = list()
/*
Global associative list for caching humanoid icons.
Index format m or f, followed by a string of 0 and 1 to represent bodyparts followed by husk fat hulk skeleton 1 or 0.
TODO: Proper documentation
icon_key is [species.race_key][g][husk][fat][hulk][skeleton][s_tone]
*/
var/list/human_icon_cache = list()
var/list/tail_icon_cache = list() //key is [species.race_key][r_skin][g_skin][b_skin]
var/list/light_overlay_cache = list()
var/list/body_hair_cache = list()
var/list/damage_icon_parts = list()
// [icon]-[icon_state]-[limb_name]-[color]
var/list/markings_cache = list()
var/list/human_eye_cache = list()
var/list/human_lip_cache = list()
var/list/human_hair_cache = list()
var/list/human_beard_cache = list()
var/list/human_underwear_cache = list()
var/list/human_undershirt_cache = list()
var/list/human_socks_cache = list()
/datum/controller/subsystem/icon_cache/New()
NEW_SS_GLOBAL(SSicon_cache)