- Added pipe layer adapters, for less ugly-looking pipe layering.
- SME room seriously overhauled
- Reworked atmospherics piping. Considering completely deleting atmos and restarting anew.
why is this not working
Fix bugs in adapters.
fuck
changelog
Set boxstation as active map. Oops.
Fix doublestacked pipe in atmos.
RCDs now work on a system of schematics, with an RPD style UI.
RPD, RCD, RSF and tile painters all implemented into this new system. (reverted from commit ccb9ceb811) (reverted from commit 1d9a328ba6)
Pipes and pipe items now have a pipe_layer var which controls which layer they're on.
Current pipes now only connect to other pipes on the same layer as them, and it is possible to stack multiple pipes on a tile.
The layer of a pipe item can be changed by using a pipe planner, aligning with a built pipe using the RPD or a pipe item, or setting the alignment on the pipe dispenser.
Added the isConnectable() proc for OOP way of checking if two pipes can do the do.
Added the layer manifold - this pipe has 5 connectors on one side, and one on the other. It acts as a layer converter.
Pipes change their pixel_x and pixel_y according to their pipe layer.
RCDs now work on a system of schematics, with an RPD style UI.
RPD, RCD, RSF and tile painters all implemented into this new system. (reverted from commit ccb9ceb811)
Removed update_values(). RIP, shine on you CPU diamond.
Removed get_moles_by_id and get_archived_moles_by_id, all moles are now accessed directly to reduce call cost.
Added set_temperature and set_volume procs which recalc pressure when temperature or pressure change.
Heat_capacity is now a var updated when gases update.
Modified adjust_gas to use set_gas, modified set_gas to alter heat_capacity, total_moles, and pressure as needed.
Included:
-The process lists use |= instead of += due to the increased stability of the former against double additions.
-Atmospherics machinery is moved under the pipenet processing.
-Modified the atmospherics processes to return 1 when theyve done something, and 0 if they aint done jack shit. Then called scheck() if they return 1, possibly reducing unnecessary scheck calls while still managing to smooth out the atmospherics processing.
-If a powernet happens to get rebuilt by either powernets or power machinery scheck() is also called
Applies datum pooling to pipelines and pipenetwork for major performance improvements in their deletion.
These improvements should be especially noticeable in anything that deletes pipelines/networks once per tick, ie singulo narsie and supermatter
Removes the wires qdel, just why
Tanks are now unaries, not pipes.
Portable connectors are now unaries, not their own type.
Valves are now binaries, T-Valves are now trinaries.
Pipes as much as possible now use the general attackby code.
Slight changes to pooling code.
Removed loads of duplicate code that existed for no real reason.
T-Valves now come in manual and digital and mirrored under those types, not the other way around.
Mirrored connecting sprites for T-Valves should show up properly now.
Never again.
Made a general proc to avoid COPYPASTE CODE WHY.
Renamed the analyzer to make the name less ambiguous.
Analyzers now show the moles of gas in a container as well as the pressure.
A lot of fixes that became intertwined.
- rscadd: "BEAMS! Emitters now put out a constant beam of energy, which is far less laggy that the old bullet-based method. They also look cooler."
- rscadd: "Prisms can combine emitter beams that multiply the damage."
- rscadd: "Infrared triggers use the same system as emitters."
- rscadd: "Burst HE pipes have their own sprite"
- rscadd: "High-performance event observers (needed for beams)"
- rscadd: "Supermatter audio alerts"
- rscadd: "Added radiation floor decals."
- bugfix: "Burst pipes are no longer baleeted by their own explosions."
- bugfix: "Pipes are given time to release pressure before the next round of pressure checks."
- bugfix: "Explosions are slightly delayed to avoid choruses of simultaneous explosions"
- bugfix: "Gas miners no longer melt."