By moving our logging to a DLL we see a drop in CPU/real time of 2-3 orders of magnitude. This is due to BYOND opening and closing file handles on every write, causing incredible amounts of unneeded overhead. The logging library also handles timestamps for us, further increasing performance gains.
This library will also allow for further offloading in the future, such as completely replacing file2text() and friends.
A pre-compiled DLL is bundled, but Linux users will have to compile manually. Directions can be found at the rust-g repo.
Log output is enhanced with millisecond time stamps:
[2018-04-01 15:56:23.522] blah blah blah
This includes runtimes as well, which benefit from the same timestamp improvements and no longer have hacky splitting code to add their own timestamps.
Log shutdown is handled in a dedicated proc called as late as possible, as rust-g integration expands this will be factored out into a generic native code shutdown proc.
* buncha things from upstream
* datums globals, onclick
* datums
* game folder, holy shit mirror bot why
* modules
* icons
* dme
* compiles cleanly
* tools purge
* updates maps
* double check just because. and wew lad
* incidentally, this needs more work first
* some things
* weh
* sound cleanup and icons
* reeeee
* compile issues
* oh look, fresh code sync
* cleans up some unused icons
* dirty vars
* reeeeeeeeeeeeeeee
* wew lad. fuck off with this already
* maps, tgui, tools
* defines and helpers
* onclick and controllers
* datums
fucking caught that hulk reversal too.
* game and shuttle modular
* module/admin
* oh god they fucking moved antag shit again
* haaaaate. Haaaaaaaaaate.
* enables moff wings
* more modules things
* tgstation.dme
before I forget something important
* some mob stuff
* s'more mob/living stuff
* some carbon stuff
* ayy lmaos and kitchen meat
* Human stuff
* species things
moff wings have a 'none' version too
* the rest of the module stuff.
* some strings
* misc
* mob icons
* some other icons.
* It compiles FUCK BORERS
FUCK BORERS
Key benefits of the new mapmerge include: multi-Z support, effective
reuse of deleted keys, automatic handling of key overflow, and utilizing
a git pre-commit hook to eliminate the need to run batch files manually.
It's not that different from other subsystems to justify the huge extra point cost, and the people who make atmos related changes have attained a great number of points.
Tweak is for small things that shouldn't affect the point balance either way
* Webhook now comments its diff instead of its dump
* Fixes variable access in webhook
* Fixes webhook regex flaw
* Missing semicolon in webhook
well... I don't have much to say to you
this is... i mean... 😀😀😁😁😁😁😂😂😂😂😂😂😂😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭
* Fixes anoher webhook regex issue
* Re-adds content to webhook update
* Encapsulates webhook diff in <details>