The propagating static collision system for connected work carts is preventing work carts from pushing barriers via other work carts. Rather than complicate an already complex system further, I've simplified it to only look at the frontmost work cart pushing the barrier for now. Will come back to this when there's more time.
Work cart now only gibs if destroyed with explosives (or anti-vehicle). If destroyed any other way, it enters a transitional corpse mode similar to boats or modular cars. The driver is NOT dismounted, but the engine shuts down and cannot be restarted, and if they dismount they cannot re-mount. Dashboard monitor shows SYSTEM ERROR in red.
Removed the off-track code for trains entirely. Trains are now either be on track or dead. Derailing never worked well as often the moment a train is destroyed occurs when colliding with something, and if the switch from kinematic to non-kinematic (derailed) occurred with the train partially inside something, it'd go flying off unpredictably.
Workcart spawn changes:
- Don't snap to track based on collision with it; look in a sphere near the wheels instead
- Snap reliably to the exact track position the train is sitting on
- Look for track on initial spawn only. If we're derailed, we're not getting back on
- Added spline for the new station middle rail.
- Added ability to specify a spline as forced secondary, making it not be the default route. The middle rail siding was being calculated as the straightest and being assigned as the default.