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>
- Updated pump and volume pump icons
- Reverted air scrubber icon
- Fixed passive gate icon
- Updated pipe_item sprites
- Fixed an oversight in the pipe color check
- Cleaned up the map
- Complete rewrite of pipe rendering code. It now selects icons from a shared cache.
- Manifolds and other devices (pumps, filters, etc.) now match the color of the connected pipes.
- Updated omni devices to use the shared cache.
- Set separate pipe color definitions.
- Cleaned up a lot of pipe code, converting it to absolute paths and removing old commented out code.
- Tweaked t-ray rendering code.
- Tweaked pipe painter.
- Enhanced pipe checking debug command.
- Expanded tank capacity and resprited them.
Air alarms now have a new setting, breach_detection, which allows for disabling the automatic mode change when a breach occurs.
Vents now have three new settings. These are primarily for when air alarms request a mode change to ensure that custom pressure levels/checks (in terms of mapping, not set later in game) are not lost.
external_pressure_bound_default
internal_pressure_bound_default
checks_default
- Better mapping support (mapping icons and can now set mixer concentration)
- Trimmed overlay lists
- Utilized existing procs for icon generation
- Changed filter icon color to better contrast the output color
- Cleans up silent pipe deleting (now creates a loose pipe item where the pipe section was)
- Allows pipe painters to paint disconnected pipes
- Removes OOC message from IC feedback
- Mirror filter - standard filter with the output mirrored to the opposite side
- T-Mixer - takes left and right inputs then outputs the mix perpendicular to the inputs
- Mirror mixer - standard filter with the output mirrored to the opposite side
- Added all three to pipe dispenser and construction code so they can be built in-game
Removes del(giver) from pipeline/merge(), turf/assume_air() and
atom/assume_air().
Thanks to valzargaming on reddit/github for pointing it out.
fixes#4717
Signed-off-by: Mloc-Argent <colmohici@gmail.com>
- updated update_icon() for pipes and manifolds to change the color instead of the sprite
- updated subtypes to use global defines for colors instead of hard coded html refs
- added an alpha tweak to hidden pipes for the sake of mapping (DM doesn't render semi-transparent icons correctly, but it does handle var/alpha tweaks) - this is overridden when the pipe is spawned in the game world with New()
(Thinking about it, we could potentially do away with the transparent pipe sprites by just using the alpha variable. May do this later.)
- fixed pipe painter
- unwrenched pipes now inherit their source pipe color, and also inherit it when reattached to a pipe network again
- Tweaked the pressure delta check to "> 0.5", so pumps will stop transferring minor volumes of air every tick (because a delta of 3.05176e-005 is still greater than 0). This also reduces the calls to gas_mixture/merge() and gas_mixture/remove() significantly once the air in the environment has equalized.
The results after running the game for 10 minutes:
```
Proc Name Self CPU Total CPU Real Time Calls
/obj/machinery/atmospherics/unary/vent_pump/process 0.035 0.141 0.141 3808 <- before
/obj/machinery/atmospherics/unary/vent_pump/process 0.014 0.042 0.043 3808 <- after
```
- Fixed DP vent pumps not changing direction
- Made airlock_sensor more versatile (and backwards compatible with old airlock code)
- Added airlock_sensor and access_button airlock subtypes for easier mapping
Cleaned up pipes.dm
Changed pipe subtypes to the following layout:
pipe
simple/manifold/manifold4w
hidden
colour
visible
colour
Did a complete pass of the station to standardize all pipes (yes, nearly 2500 changes)
(Haven't done the research base air and scrubber pipes yet, and atmos will be done with my engineering redesign)
500 adds a "color" var to /atom, which conflicts with /obj/item/color, /obj/atmospherics/color and various simple_animals.
/obj/item/color is now item_color
/obj/atmospherics/color is now pipe_color
simple_animals color is now body_color
Removes transformer.dm since it conflicted with transform() and was never used.
Signed-off-by: Mloc-Argent <colmohici@gmail.com>