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
* Cid randomizer check no longer triggers if the user's cid changes once then changes back
Normally, we only check for the randomizer if their cid changed from their last allowed connection. In some edge cases, somebody's cid can be different from a one time glitch, then change back on the next connection.
We now detect such cases and allow the connection.
* Update client_procs.dm
* Update client_procs.dm
* Merge pull request #36666 from tgstation/Cyberboss-patch-3
Topic will no longer be called on deleted objects
* Topic will no longer be called on deleted objects
* Merge pull request #36557 from MrStonedOne/patch-498
Preload vox sounds when preload_rsc is disabled
* Preload vox sounds when preload_rsc is disabled
* raises the cid check disconnect time out (#35244)
Disconnects from deleting the client are immediate, where are other commands are queued to some degree or another, browse is the worst one of all since it has to queue behind after connect resource sends as well as the asset cache or browse_rsc calls.
I'm finding hints that clients on lagger connections are getting disconnected before getting the reconnect command, and I was able to reproduce this myself on a cell phone connection while connecting to terry
* Raises the cid check disconnect time out
* adds support for non-1:1 screen ratios for fullscreen overlays
* prevents future copypasta, adds widescreen support to clickcatchers
* oops, makes it actually compile
* HOPEFULLY makes it actually compile, makes projectiles and mouse_angle_from_client support widescreen
* i need shittier shitcode
* !!!HOPEFULLY!!! fixes the screen fuckery
* Fixes compiling errors. Tested locally, it seems like it works
* fixes runtime in mouse_angle_from_client
* Fixes non-1:1 TGUI runtimes for borgs and ghosts
* adds actual defines for fullscreen overlay resolution
* makes varediting view call change_view to make clickcatcher regenerate proper
* testmerge toggle widescreen verb and fixes vving view
* FUCK - fixes test verb to properly use change_view, so clickcatchers regenerate and such
* fixes parallax runtimes - how'd i miss this
* removes debug verb