13,234 Commits over 2,830 Days - 0.19cph!
Don't allow "swapping" train car coupling. Only couple if a train car is not coupled to anything
Make sure that a train car is removed from a CompleteTrain as soon as it's assigned to a new one. Prevents crash from infinite recursion during bugged collisions.
Raised the WorkCart parent trigger. Allows for jumping on the top of it without unparenting
Sleep/wake WIP. Will merge this to Main on Monday after some more testing.
WIP on letting trains sleep when not moving (but still react to collisions etc)
Always let the engine decay first
Added decay code for wagons. Told WorkCarts and wagons not to despawn if they're on an above-ground siding.
Early exit from CompleteTrain UpdateTick if already disposed
Fix Tom's WorkCart Dark 2 mat
A collision in ApplyCollisionsToTrackSpeedcan destroy a coupled train car, making a CompleteTrain invalid during MovementTick. Check for this and bail out if needed.
Fixed trains no longer colliding with static barricades. Moved the collision triggers back from the Trigger layer to the Vehicle World layer
Removed prevent building volumes from the train cars (can't build near them anyway)
Raised the parent triggers on the wagons enough that a player can jump in the air without unparenting
Disabled clipping check on the wagon parent trigger (now matches WorkCarts)
Raised end ladder volumes on TrainWagonB
Assigning coupling point pivots
Fixed some trigger positioning on the wagons
▊▇▆▅▆▋▊▇ ▊▊▌ ▍▋▅▆▅▉ ▊▉▋▊▍▆▌▊ ▋▉ █▋▍▋▍▆▅▅ ▌▇▋▅▍ ▉▋▍▉. ▇▆▌▄ ▋▋▄▄ █▆ ▋▊▅█ ██▅▅ ▉▊▌▍ ▊▉▄'█ ▋▋█▉▅▍ ▄▋█ █▌▉▋▍▍▋█.
Added requested server convars:
- trainskeeprunning: If true, trains don't automatically stop when there's no-one on them. Default: false.
- stop_all_trains: Stops the engines of all train engines on the server.
Better uncoupling, still needs some work
Bug fixes for track speeds after collisions
Reduced max coupling speed to 7.5m/s
Fixed wagons zooming off at a bajillion km/h when a Work Cart hits them at high speed
Trains now keep running if there's a player on ANY of the train's carriages, not just on the work cart that's checking
Fixed wagon parenting triggers not working
Increase train spawn pop default a bit, to 0.85
Trains can now detect if static (as in non-moving, not necessarily actual static) obstacles that they've backed off from have been destroyed, allowing the train to continue. Previously this required the train to reverse direction momentarily first.
Added additional wagon ladder volumes for the new ladders
Gib wagons immediately when destroyed + reduced above-ground Work Cart "corpse" time from 10 minutes to 1 minute + OnKilled bug fixes
New system for junction selection, gives correct left/right track selection at any junction. Also made sure the main rail loop is always the default selection at a siding junction, even if the siding is actually the straightest route.
Revert
70405 for the moment, as it breaks navigation on some of the underground junctions
Updated rail spline visualisation
Changed how direction is selected in junction splits. Fixes above-ground junctions that took the wrong inputs
Added missing train wagon material
- Reduced above-ground WorkCart max speed a little
- Allow successful train car coupling at "medium" work cart speed
Merge Spawning -> Save224
Manifest update, to fix "no string for ID..."
Balancing train car spawns. Reduced engine:wagon ratio to 1:4 (was 1:7). Reduced overall train car population density from 1.0 to 0.7.
Track selection takes all engines' inputs into account
Always load initially in uncoupled state
Added max_couple_speed convar. Removed my train pop convars - not sure how we'll set these up yet.
Mark above-ground rail siding TrainTrackSplines as aboveGroundSpawn = true
Basic train spawner + convar setup, not functional
Merge NewModels -> Rail Network 2
Removed the rear cover from the above-ground WorkCart, to facilitate moving back to other wagons
Fixed bogie pivot bone assignments