-Supply and scrubber pipes can be run in parallel without connecting to each other
-Supply pipes will only connect to supply pipes, vents and Universal Pipe Adapters(UPAs)
-Scrubber pipes will only connect to scrubber pipes, scrubbers and UPAs
-Supply and scrubber pipes are offset along the x and y axes to prevent sprite overlap
-UPAs will connect to regular, scrubber and supply pipes, as well as anything else that connects to a regular pipe. UPAs will be used to interface between the supply/scrubber loops and atmos
Expands on the earlier engine pump fix to add proper control over the
engine core atmos. Adds core control computer that can set output
external pressure bound instead of output pressure, and special high
power vent pump type for the engine core.
A more thorough fix should probably involve providing a way for players
to control the flow rate.
Also tweaks emitters and allows collectors to be read using a multitool.
In particular, gas_mixture/remove() was not accounting for
group_multiplier when determining the maximum amount of gas to remove
Also cleans up the interface for gas_mixture/heat_capacity().
Allows atmos machinery efficiency to be adjusted in setup.dm
Limits flow rates when moving gas from a turf to avoid very high pressures being created when they shouldn't be.
Attempts to limit processing when there isn't much gas to be moved, for performance.
Reverts all changes to _gas_mixture.dm
New turf proc: assume_gas(). Maps to air.adjust_gas_temp().
Lots of optimizations to processing, fire, lighting, HasEntered() and
more.
Zones now process all fire data and existance in one go, fire objects
only handle spreading.
Most code has been ported straight so some of it mightn't be ideally
structured for the new gas_mixtures.
Signed-off-by: Mloc-Argent <colmohici@gmail.com>