Revert "Revert "Garbage collection, asset delivery, icon2html revolution, and…" (#15816)

This reverts commit f6d0f62622.
This commit is contained in:
Heroman3003
2024-04-22 06:29:01 +10:00
committed by GitHub
parent a2d91ee15e
commit c7b6c3e42b
251 changed files with 2361 additions and 1626 deletions
@@ -65,13 +65,14 @@
owner = H
if(owner)
GLOB.moved_event.register(owner, src, PROC_REF(update_active_camera_screen))
owner.AddComponent(/datum/component/recursive_move)
RegisterSignal(owner, COMSIG_OBSERVER_MOVED, PROC_REF(update_active_camera_screen))
check_whitelist = check_species_whitelist
whitelist = species_whitelist
blacklist = species_blacklist
/datum/tgui_module/appearance_changer/Destroy()
GLOB.moved_event.unregister(owner, src, PROC_REF(update_active_camera_screen))
UnregisterSignal(owner, COMSIG_OBSERVER_MOVED)
last_camera_turf = null
qdel(cam_screen)
QDEL_LIST(cam_plane_masters)
+8 -6
View File
@@ -68,7 +68,7 @@
/datum/tgui_module/camera/Destroy()
if(active_camera)
GLOB.moved_event.unregister(active_camera, src, PROC_REF(update_active_camera_screen))
UnregisterSignal(active_camera, COMSIG_OBSERVER_MOVED)
active_camera = null
last_camera_turf = null
qdel(cam_screen)
@@ -142,9 +142,10 @@
var/list/cameras = get_available_cameras(usr)
var/obj/machinery/camera/C = cameras["[ckey(c_tag)]"]
if(active_camera)
GLOB.moved_event.unregister(active_camera, src, PROC_REF(update_active_camera_screen))
UnregisterSignal(active_camera, COMSIG_OBSERVER_MOVED)
active_camera = C
GLOB.moved_event.register(active_camera, src, PROC_REF(update_active_camera_screen))
active_camera.AddComponent(/datum/component/recursive_move)
RegisterSignal(active_camera, COMSIG_OBSERVER_MOVED, PROC_REF(update_active_camera_screen))
playsound(tgui_host(), get_sfx("terminal_type"), 25, FALSE)
update_active_camera_screen()
return TRUE
@@ -169,9 +170,10 @@
if(target)
if(active_camera)
GLOB.moved_event.unregister(active_camera, src, PROC_REF(update_active_camera_screen))
UnregisterSignal(active_camera, COMSIG_OBSERVER_MOVED)
active_camera = target
GLOB.moved_event.register(active_camera, src, PROC_REF(update_active_camera_screen))
active_camera.AddComponent(/datum/component/recursive_move)
RegisterSignal(active_camera, COMSIG_OBSERVER_MOVED, PROC_REF(update_active_camera_screen))
playsound(tgui_host(), get_sfx("terminal_type"), 25, FALSE)
update_active_camera_screen()
. = TRUE
@@ -276,7 +278,7 @@
// Turn off the console
if(length(concurrent_users) == 0 && is_living)
if(active_camera)
GLOB.moved_event.unregister(active_camera, src, PROC_REF(update_active_camera_screen))
UnregisterSignal(active_camera, COMSIG_OBSERVER_MOVED)
active_camera = null
playsound(tgui_host(), 'sound/machines/terminal_off.ogg', 25, FALSE)
+3 -2
View File
@@ -55,13 +55,14 @@
user.set_machine(src)
user.reset_view(linked)
user.set_viewsize(world.view + extra_view)
GLOB.moved_event.register(user, src, /datum/tgui_module/ship/proc/unlook)
user.AddComponent(/datum/component/recursive_move)
RegisterSignal(user, COMSIG_OBSERVER_MOVED, /datum/tgui_module/ship/proc/unlook)
LAZYDISTINCTADD(viewers, WEAKREF(user))
/datum/tgui_module/ship/proc/unlook(var/mob/user)
user.reset_view()
user.set_viewsize() // reset to default
GLOB.moved_event.unregister(user, src, /datum/tgui_module/ship/proc/unlook)
UnregisterSignal(user, COMSIG_OBSERVER_MOVED)
LAZYREMOVE(viewers, WEAKREF(user))
/datum/tgui_module/ship/proc/viewing_overmap(mob/user)
+12 -4
View File
@@ -110,10 +110,7 @@
))
else
window.send_message("ping")
window.send_asset(get_asset_datum(/datum/asset/simple/fontawesome))
window.send_asset(get_asset_datum(/datum/asset/simple/tgfont))
for(var/datum/asset/asset in src_object.ui_assets(user))
window.send_asset(asset)
send_assets()
window.send_message("update", get_payload(
with_data = TRUE,
with_static_data = TRUE))
@@ -123,6 +120,17 @@
return TRUE
/datum/tgui/proc/send_assets()
var/flush_queue = window.send_asset(get_asset_datum(
/datum/asset/simple/namespaced/fontawesome))
flush_queue |= window.send_asset(get_asset_datum(
/datum/asset/simple/namespaced/tgfont))
for(var/datum/asset/asset in src_object.ui_assets(user))
flush_queue |= window.send_asset(asset)
if (flush_queue)
user.client.browse_queue_flush()
/**
* public
*