Garbage collection, asset delivery, icon2html revolution, and general fixes (515) (#15739)

* Making it compileable

* Adds Tracy & Fixed missing compat in sorting code

* CI workflow using "Stable" beta version

* Tracy define

* Fixes

* Update GC from TGStation

* fixes

* Appease linter

* begone custom_items.txt

* Making it compileable

* Adds Tracy & Fixed missing compat in sorting code

* CI workflow using "Stable" beta version

* Tracy define

* Fixes

* Build dependencies at 514

* Asset delivery/GC/515 megapatch

* fix runtime

* Appease integration tests

* More runtime fixes

* Attempting to resolve runtime

* Update spacemanDMM

* icon2html revolution

* icon2html part 2

* fixes

* Attempt to appease linter

* More fixes

* Final fixes (hopefully)

* operator keyword moment

* minor fixes and additions

* undo extra tgui files

* switch to QDEL_IN_STOPPABLE where necessary

* Pain

* GPS runtime

* dropped(null) fix, + chompedit the fixes just incase.

* Fix chat tags

* Update _build_dependencies.sh

* runtime in orebag, duplicate in computer/ship/proc/look, runtime in zoom

* tweak zoom change

* another registersignal override runtime

* 1

* Revert "1"

This reverts commit 43f619ca6c216c2bc41b8f7a346069f99591261b.

* various qdel ref fixes

* newplayer and observer harddels

* disposalholder logging remove, gargoyle hard del + typo

* retouch atom/movable destroy to be TG-like

* potential edge case ref in manualfollow

* extra following potential ref

* global list refs tweak, new_player undo a thing

* /mob/new_player qdel fixes

* undo some things

* revert atoms/movable/destroy

* revert mind and new_player panel changes

* atoms and atom/movable reversions

* bring back datum/mind and panel fixes

* projectile optimisation

* Reverts useless edits, clothing hood runtime, projectile runtime

I tried a lot of things which do not help, and i reverted a lot of it here.

* a few more reversions of useless changes

* Begin getting rid of CHOMPedit comments

* Nuke remaining chompedit comments

* Revert "undo extra tgui files"

This reverts commit f3bdcde8cb.

* fixing oops

* line ending shenanigans

* More GC cleanup

* Optimisations to test/trace projectile, turrets. Tweaks.

Turrets now only trace when they are absolutely sure they want to shoot. disposalholder, effect master and artefact qdel refs changes.

* bad usage of the check_trajectory proc

check_trajectory returns a list of objects hit along it's path to it's target, not a boolean of the target being hittable. a couple places in code assume this, so here they are fixed.

* puts legacy globals into GLOB datum for debug use

* fix upport oopsie

* fix

* Move recursive listening to component

* Minor fixes and cleanup

* undo my temp solution

* tweaks + a missed thing

* recursive_move sanity checks and safety cases

* Catch null initialisation cases + fix borg creation

VV edit spawns the object in nullspace then directly sets it's loc, which means the movement is unregistered. The spawn(0) delay should hopefully mean that setup_parents happens AFTER any unregistered movement.

* circular inventory check, make checks better

* better handling of safety reset cases

* Add logging to safety checks

---------

Co-authored-by: Selis <selis@xynolabs.com>
Co-authored-by: Selis <sirlionfur@hotmail.de>
Co-authored-by: Raeschen <rycoop29@gmail.com>
This commit is contained in:
Cadyn
2024-03-10 09:39:33 +10:00
committed by GitHub
co-authored by Selis Selis Raeschen
parent 6925bceabc
commit cc05d51b69
251 changed files with 2362 additions and 1629 deletions
+6 -5
View File
@@ -181,11 +181,12 @@ LINEN BINS
. += "There are [amount] bed sheets in the bin."
/obj/structure/bedsheetbin/update_icon()
switch(amount)
if(0) icon_state = "linenbin-empty"
if(1 to amount / 2) icon_state = "linenbin-half"
else icon_state = "linenbin-full"
if(amount == 0)
icon_state = "linenbin-empty"
else if(amount <= (amount / 2))
icon_state = "linenbin-half"
else
icon_state = "linenbin-full"
/obj/structure/bedsheetbin/attackby(obj/item/I as obj, mob/user as mob)
if(istype(I, /obj/item/weapon/bedsheet))
+2 -3
View File
@@ -300,7 +300,7 @@
user.drop_from_inventory(I, src)
I.forceMove(src)
stored_item = I
src.visible_message("\icon[src][bicon(src)] \icon[I][bicon(I)] [user] places [I] into [src].")
src.visible_message("[icon2html(src,viewers(src))] [icon2html(I,viewers(src))] [user] places [I] into [src].")
return
else
to_chat(user, "<span class='notice'>You refrain from putting things into the plant pot.</span>")
@@ -311,7 +311,7 @@
to_chat(user, "<span class='filter_notice'><b>You see nothing of interest in [src]...</b></span>")
else
if(do_after(user, 10))
to_chat(user, "<span class='filter_notice'>You find \icon[stored_item][bicon(stored_item)] [stored_item] in [src]!</span>")
to_chat(user, "<span class='filter_notice'>You find [icon2html(stored_item, user.client)] [stored_item] in [src]!</span>")
stored_item.forceMove(get_turf(src))
stored_item = null
..()
@@ -684,4 +684,3 @@
/obj/structure/flora/underwater/grass4
icon_state = "grass-4"
+2 -2
View File
@@ -119,9 +119,9 @@ GLOBAL_LIST_BOILERPLATE(all_janitorial_carts, /obj/structure/janitorialcart)
. = ..(user)
if(istype(mybucket))
var/contains = mybucket.reagents.total_volume
. += "\icon[src][bicon(src)] The bucket contains [contains] unit\s of liquid!"
. += "[icon2html(src, user.client)] The bucket contains [contains] unit\s of liquid!"
else
. += "\icon[src][bicon(src)] There is no bucket mounted on it!"
. += "[icon2html(src, user.client)] There is no bucket mounted on it!"
/obj/structure/janitorialcart/MouseDrop_T(atom/movable/O as mob|obj, mob/living/user as mob)
if (istype(O, /obj/structure/mopbucket) && !mybucket)