SUBSYSTEM_DEF(assets) name = "Assets" dependencies = list( /datum/controller/subsystem/atoms, /datum/controller/subsystem/persistent_paintings, /datum/controller/subsystem/greyscale_previews, ) ss_flags = SS_NO_FIRE var/list/datum/asset_cache_item/cache = list() var/list/preload = list() var/datum/asset_transport/transport = new() /datum/controller/subsystem/assets/OnConfigLoad() var/newtransporttype = /datum/asset_transport switch (CONFIG_GET(string/asset_transport)) if ("webroot") newtransporttype = /datum/asset_transport/webroot if (newtransporttype == transport.type) return var/datum/asset_transport/newtransport = new newtransporttype () if (newtransport.validate_config()) transport = newtransport transport.Load() /datum/controller/subsystem/assets/Initialize() for(var/datum/asset/asset_type as anything in valid_subtypesof(/datum/asset)) load_asset_datum(asset_type) transport.Initialize(cache) return SS_INIT_SUCCESS /datum/controller/subsystem/assets/Recover() cache = SSassets.cache preload = SSassets.preload