The logging is now stored in the persistent client/player_details datum,
that will survive an entire round
The existing mob log is retained and a new admin verb is added to access
it. It will only show logs for the mob in question, across all players
who possibly spent time in that mob
A new log type is added that tracks the mobs the player changes across
into and the times they occured, to better help admins manage complex
situations, this also appears in the mob log as a record of the players
who entered/exited control of the mob
* maps - none of our changes included yet i'll get them in after i finish up the rest of the sync
* sync part 1 - underscore folders in code
* controllers folder
* datums folder
* game folder
* cmon, work
* modules - admin to awaymissions
* cargo to events
* fields to lighting
* mapping > ruins
* rest of the code folder
* rest of the folders in the root directory
* DME
* fixes compiling errors. it compiles so it works
* readds map changes
* fixes dogborg module select
* fixes typo in moduleselect_alternate_icon filepath
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