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
+4 -4
View File
@@ -64,16 +64,16 @@ var
Class: operator
See <Binary Operators> and <Unary Operators> for subtypes.
*/
/node/expression/operator
/node/expression/op
var/node/expression/exp
var/tmp/name
var/tmp/precedence
/node/expression/operator/New()
/node/expression/op/New()
.=..()
if(!src.name) src.name="[src.type]"
/node/expression/operator/ToString()
/node/expression/op/ToString()
return "operator: [name]"
/*
@@ -125,4 +125,4 @@ var
src.value=value
/node/expression/value/reference/ToString()
return "ref: [src.value] ([src.value.type])"
return "ref: [src.value] ([src.value.type])"
@@ -7,7 +7,7 @@
Class: binary
Represents a binary operator in the AST. A binary operator takes two operands (ie x and y) and returns a value.
*/
/node/expression/operator/binary
/node/expression/op/binary
var/node/expression/exp2
////////// Comparison Operators //////////
@@ -16,7 +16,7 @@
Returns true if x = y.
*/
//
/node/expression/operator/binary/Equal
/node/expression/op/binary/Equal
precedence=OOP_EQUAL
/*
@@ -24,7 +24,7 @@
Returns true if x and y aren't equal.
*/
//
/node/expression/operator/binary/NotEqual
/node/expression/op/binary/NotEqual
precedence=OOP_EQUAL
/*
@@ -32,7 +32,7 @@
Returns true if x > y.
*/
//
/node/expression/operator/binary/Greater
/node/expression/op/binary/Greater
precedence=OOP_COMPARE
/*
@@ -40,7 +40,7 @@
Returns true if x < y.
*/
//
/node/expression/operator/binary/Less
/node/expression/op/binary/Less
precedence=OOP_COMPARE
/*
@@ -48,7 +48,7 @@
Returns true if x >= y.
*/
//
/node/expression/operator/binary/GreaterOrEqual
/node/expression/op/binary/GreaterOrEqual
precedence=OOP_COMPARE
/*
@@ -56,7 +56,7 @@
Returns true if x <= y.
*/
//
/node/expression/operator/binary/LessOrEqual
/node/expression/op/binary/LessOrEqual
precedence=OOP_COMPARE
@@ -67,7 +67,7 @@
Returns true if x and y are true.
*/
//
/node/expression/operator/binary/LogicalAnd
/node/expression/op/binary/LogicalAnd
precedence=OOP_AND
/*
@@ -75,7 +75,7 @@
Returns true if x, y, or both are true.
*/
//
/node/expression/operator/binary/LogicalOr
/node/expression/op/binary/LogicalOr
precedence=OOP_OR
/*
@@ -83,7 +83,7 @@
Returns true if either x or y but not both are true.
*/
//
/node/expression/operator/binary/LogicalXor //Not implemented in nS
/node/expression/op/binary/LogicalXor //Not implemented in nS
precedence=OOP_OR
@@ -97,7 +97,7 @@
011 & 110 = 010
*/
//
/node/expression/operator/binary/BitwiseAnd
/node/expression/op/binary/BitwiseAnd
precedence=OOP_BIT
/*
@@ -108,7 +108,7 @@
011 | 110 = 111
*/
//
/node/expression/operator/binary/BitwiseOr
/node/expression/op/binary/BitwiseOr
precedence=OOP_BIT
/*
@@ -119,7 +119,7 @@
011 xor 110 = 101
*/
//
/node/expression/operator/binary/BitwiseXor
/node/expression/op/binary/BitwiseXor
precedence=OOP_BIT
@@ -130,7 +130,7 @@
Returns the sum of x and y.
*/
//
/node/expression/operator/binary/Add
/node/expression/op/binary/Add
precedence=OOP_ADD
/*
@@ -138,7 +138,7 @@
Returns the difference of x and y.
*/
//
/node/expression/operator/binary/Subtract
/node/expression/op/binary/Subtract
precedence=OOP_ADD
/*
@@ -146,7 +146,7 @@
Returns the product of x and y.
*/
//
/node/expression/operator/binary/Multiply
/node/expression/op/binary/Multiply
precedence=OOP_MULTIPLY
/*
@@ -154,7 +154,7 @@
Returns the quotient of x and y.
*/
//
/node/expression/operator/binary/Divide
/node/expression/op/binary/Divide
precedence=OOP_MULTIPLY
/*
@@ -162,7 +162,7 @@
Returns x raised to the power of y.
*/
//
/node/expression/operator/binary/Power
/node/expression/op/binary/Power
precedence=OOP_POW
/*
@@ -170,5 +170,5 @@
Returns the remainder of x / y.
*/
//
/node/expression/operator/binary/Modulo
/node/expression/op/binary/Modulo
precedence=OOP_MULTIPLY
@@ -5,7 +5,7 @@
Class: unary
Represents a unary operator in the AST. Unary operators take a single operand (referred to as x below) and return a value.
*/
/node/expression/operator/unary
/node/expression/op/unary
precedence=OOP_UNARY
/*
@@ -16,7 +16,7 @@
!true = false and !false = true
*/
//
/node/expression/operator/unary/LogicalNot
/node/expression/op/unary/LogicalNot
name="logical not"
/*
@@ -27,7 +27,7 @@
~10 (decimal 2) = 01 (decimal 1).
*/
//
/node/expression/operator/unary/BitwiseNot
/node/expression/op/unary/BitwiseNot
name="bitwise not"
/*
@@ -35,7 +35,7 @@
Returns -x.
*/
//
/node/expression/operator/unary/Minus
/node/expression/op/unary/Minus
name="minus"
/*
@@ -43,9 +43,9 @@
A special unary operator representing a value in parentheses.
*/
//
/node/expression/operator/unary/group
/node/expression/op/unary/group
precedence=OOP_GROUP
/node/expression/operator/unary/New(node/expression/exp)
/node/expression/op/unary/New(node/expression/exp)
src.exp=exp
return ..()