Adds reference tracking (#51467)

About The Pull Request

Adds extools-powered reference tracking. Includes a couple procs that retrieve the back and forward references of a datum - Back references let you see what is referencing your object and potentially preventing it from garbage collecting, and forward ones show you what your object in turn references. Also made a cool GUI to inspect and follow these references.

The tracking adds some overhead to all variable sets and list operations. Init time is increased by ~15%. I haven't actually benched it so it might impact the actual game less.
Why It's Good For The Game

no lagging caused by hard dels scanning the entire planet (once coders fix them)
This commit is contained in:
MCHSL
2020-06-25 01:26:59 +02:00
committed by GitHub
parent ea39b87c4c
commit 331365b422
10 changed files with 58 additions and 1 deletions
@@ -77,3 +77,5 @@
message_admins("<span class='notice'>[key_name_admin(usr)] has added [result] [datumname] to [key_name_admin(src)].</span>")
if(href_list[VV_HK_CALLPROC])
usr.client.callproc_datum(target)
if(href_list[VV_HK_VIEW_REFERENCES])
usr.client.view_refs(target)