Ports Iconforge, uses for kitchen recipes (#16747)

* Port iconforge

* Convert kitchen_icons for the microwave to iconforge

* Fix to pass lint

* brings thsoe back

* Re-enable cross round caching for normal spritesheets

---------

Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
This commit is contained in:
ShadowLarkens
2024-12-29 14:39:40 +01:00
committed by GitHub
co-authored by Kashargul
parent 845d0caffe
commit 6ab8ea768d
23 changed files with 838 additions and 153 deletions
@@ -8,4 +8,6 @@
/datum/config_entry/flag/cache_assets
/datum/config_entry/flag/smart_cache_assets
/datum/config_entry/flag/save_spritesheets
@@ -7,6 +7,7 @@ SUBSYSTEM_DEF(asset_loading)
flags = SS_NO_INIT
runlevels = RUNLEVEL_LOBBY|RUNLEVELS_DEFAULT
var/list/datum/asset/generate_queue = list()
var/last_queue_len = 0
/datum/controller/subsystem/asset_loading/fire(resumed)
while(length(generate_queue))
@@ -16,7 +17,12 @@ SUBSYSTEM_DEF(asset_loading)
if(MC_TICK_CHECK)
return
last_queue_len = length(generate_queue)
generate_queue.len--
// We just emptied the queue
if(last_queue_len && !length(generate_queue))
// Clean up cached icons, freeing memory.
rustg_iconforge_cleanup()
/datum/controller/subsystem/asset_loading/proc/queue_asset(datum/asset/queue)
#ifdef DO_NOT_DEFER_ASSETS