Multi-layer piping
Created by: ComicIronic
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.
This gives such wonderful setups as: