* Turf grammar omnibus (#38375)
* Fix plurality and propriety on turfs
Some turfs are marked tentatively plural in order to avoid an incorrect
choice of "a" or "an".
* Add an article var to handle unusual a/an
* An additional pass on turf names
* Decapitalize server, mainframe, killroom floors
* Turf grammar omnibus
* 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
add: Analyzers can now scan all kinds of atmospheric machinery - unary, binary, ternary, quaternary, you name it. This means stuff like gas pumps, gas mixers, vents and so forth can be analyzed.
tweak: Analyzers now show temperature in kelvin as well as celsius.
tweak: Analyzers now show total mole count, volume, and mole count of all gases.
tweak: Analyzers show everything at slightly higher degrees of precision.
More accurate and advanced analyzers have been something that I think atmos and toxins mains have been wanting for a while now (including myself). It's always a pain to have to manually add 273.15 to every celsius temperature, or have to use outside tools or VV (which isnt usable in actual games) to calculate mole count for a gas mixture. Not to mention, the ability to analyze things like volume pumps and gas filters makes it easier to manage larger atmos setups. This is just a QoL change for people in any of those jobs. In fact, most players probably don't even know what the fuck is a mole is so adding mole readout to analyzers is a good way to get people to understand atmospherics better.
* 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
* Consolidates datum var location
* Move ui_screen to /datum/tgui
* Move focusers to datum.dm. Move fingerprintslast to /atom
* Remove focusers list, makes mobs check if their focus is QDELETED in Life()
* Consolidate use_tag and var_edited into datum_flags
* Revert garbage comment
* Thought I already removed this
* Remove the var_edited preservation
* Removes focus QDELETED handling
* Overlay per-type cost logging.
Overlays will now log how long each type took to process.
Changed up how overlays was done to account for the fact its a queue and not a processor. (it was using almost none of the processing subsystem framework)
Made the overlay loop faster by making it not cut the list until the end.
Added a simple generic benchmark stat tracking system.
I don't know how much overhead this adds to overlays. i may put it behind testing or something, but i do want to test this on the serbers to get some stats.
* Removes flush() as it was creating race conditions
* Use ref
* text2file
* Atoms added as an overlay will have their pending overlays compiled before being converted to an appearance