1,544 Commits over 1,735 Days - 0.04cph!
Fixed train wagon wheels not animating
Reduce timeSinceCouplingBlock lockout from 2s to 1.5s
Another train coupling fix
Fixed a case where a train car would become non-functional after uncoupling
Updated bogie detaild colliders on Work Cart and wagons
Block train coupling for a couple of seconds after some situations
Null check - work cart doesn't have train car audio
Stop Train Car audio when the client tick stops
Merge in the updated train audio
Allow train car coupling at a bit higher speed
Merge in train sleep code
Another fix to prevent stack overflow when trains go wrong, which would crash the whole server. Sorry Staging players.
Don't couple if the track that the other train car is on isn't actually connected to ours
Catch attempted coupling when a train car collides with the side of another train car at a low angle at a junction. Only allow the coupling if the distance between the coupling points is low
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
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
█▊▊▅▆█ ▋▋▇▄▆█▅ ▇▄▋▉▄ ▄▍▋ ▉ ▇▄▍ ▄▍▅▉
▍▋▉█▍-▌█▆▍▍▄▅-▄▋-▍▍▇▅▍▋▇-▌▌▄▋-▅█▆▋▅▌▋▅▌█▇-█▋▇█▋▋ ▌▆▋▆▊█▍ ▌▍▆ ▋▉▆▄ ▍. ▉▋▌█▅▉▌▅▆ ▍▆▇ ▉▉▊▋█▄ ▊▄ ▉▇██_▄▇▌▅▊▄▉▉ ▇▇ ▌▍▉▄ ▊▅▍▅█▇█▄.
▇█▌▆█-▄▍▋▌▉▆▇-▇▆-▆▆▌▉▍▇▆-▉▊▊▊-█▉▊█▇██▋▌▄▇-▉▄▅▍▍█ ▆▅▅█▇▇▌ ▋▌▋ ▍▇▄▌ ▌. ▅▊▄█▇▇▉ ▅▋▊ ▉▆▌▋▌▇ ▄▇ ▋▇▉█▅▅▅▌▊█▊█▇▋▆██ ▇▅ █▊▅▋ ▄▇▌▋▅▍▄▍.
Reverted PositionLerp to last month's version. Using my updated generic interpolator required casting the snapshot struct to an interface which was boxing it and generating 256 bytes of garbage per Query call. Can be avoided by pre-creating the TransformSnapshots and passing them into Query as T but that was getting overcomplicated. I'll sort out the Magnet Crane and train bogie uses of GenericLerp at a later date.
Merge Rail Network -> Main. Contains two small/safe fixes:
- Raised WorkCart end colliders so it doesn't hit some specific configurations of rail.
- Fixed floating trains after server restart from AddTrackSpline modifying the original spline (this fix won't work until a server's cache is cleared).
Fixed NRE when initially loading from save in RefreshEngineState. Use NumMounted, which checks if mountPointInfo.mountable is null.
Reassigned tread materials on magnet crane (broken in 69947)
▌▋▍▊ ▆▇▊▌▉▋▇ ▍▇▉ ▉▌ ▅▍▌▌▅▌▌▇ ▆▅▌▇▇▍▇ ▇▉█▍█ ▊▄█▋▊▄
▆█▆█ ▌█▆▇██▉ ▆▊▄ ▌▆▋▇▌█▄▉
Fixed train tracks exiting collation early if a looped spline was present
Updated TrainIsland test scene. Now working again, and now includes an underground rail loop as well as the above-ground one.
A different fix for the double-up mount interaction options when interacting with modular car modules. Removed the Menu_Mount override in BaseVehicleModule, and told RPC_WantsMount to look up the chain if the interactee isn't directly mountable itself. Changed Menu_Mount to not be virtual, as it looks like any override will cause an interaction double-up.
Revert
69578 and
69579 for now - I need to sort out a remaining issue first.
CodeGen for the previous commit, update EntityMenu.cs