8,784 Commits over 1,735 Days - 0.21cph!
Coupled/uncouple visual difference on the client. Sync the flags.
Functional uncoupling interaction
Added a train coupling piece prefab and put it on my test trains.
Basic train coupling class
Removed TrainIsland scene (it's broken beyond
69624 anyway). Use ProceduralMapTesting instead.
▆▆▅▅▄▇▍ ▉▆▊▊-▌▄▉▍▍▍▇▍ ▄▅▋▄▉▌ █▇▄▉▉▌▍▋ ▍▆█▇▅▄▊▅ ▍▄▇ ▇▄▋▉▉▋ ▆▊ ▅▊▌ ▉▅▉▆▊▍ ▌▄ ▊▋▊ ▄▄▇▉▊ ▌▆▆▍▅▊ ▋▅▋▋▌█▌▇ ▆▋▅▄▋ ▇▋▌█▊▆▍. █▉▋▄▊▅▄▅ ▇▇▍▊▋▌▇ ██▌▅ █▆▆ ▉▍▌▍▊▆ ▌▍▌ ▉▋▆▆▆█▋▄▋ █▋▍ ▌▌█▇▌▍▇█ ▉▉▌▊▅▍▋▅ ▋█▌▆█ ▉▇▌ ▉▊▅▍ ▊▌▇ ▄▉▆▊▅█▉▌▆▉ █▆▍▍▉▄▆▊ ▉▆ ▆▉█ ▉▇█▊ ▌▅▋▇▋▋▆▋▅ ▍▆ ▊▋▅▊ ▊▋▍▆.
Removed some unused code from PlayerWalkMovement
Merge Main -> Rail Network
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
Fixed the mount option appearing twice on vehicle modules (when holding to interact). Now that vehicle modules inherit from BaseMountable, they still need their Menu_Mount_ShowIf override, but don't need their Menu_Mount entry.
"Occupied" message no longer shows when looking at vehicle modules with no mount points
UpdateFullFlag now propagates up to any parent vehicle(s). Fixes vehicles not being mountable when loading from a save if the vehicle was mounted during the save.
Fixed modular cars no longer correctly supporting the semi-secret mouse steer option
Moved magnet crane animator params to the base class
Added support to EmissionToggle for any emission percent between 0 and 1. Set the magnet crane's rotation light to 20% emission when on. 100% on that material was designed for beacon lights rather than a little cabin light.
Ternary conditional compile fix
Holding the crouch key while in the Magnet Crane now automatically rotates the cabin back to zero
Added a blue light to the Magnet Crane cockpit. When the magnet crane cabin is within 10 degrees of facing straight forward, it lights up
Magnet crane pedals now animate and have IK
Renamed magnet crane `rigfht tread movement` to `right tread movement`
Magnet crane:
- If we use the IntertiaTensor Unity thinks we should have, the crane is really wobbly with the arm extended straight up
- If we use my custom IntertiaTensor (set to values that act like the arm doesn't exist), the crane behaves in unexpected ways with the arm extended far out front
Compromise instead and go 50% of the way between them. 1. Set the inertia tensor to what Unity thinks it SHOULD be for the current arm position. 2. Set the inertia tensor to half way between the above and my custom one.
Magnet crane arm collider edit - reduce the change of the arm colliding entering the ground.
Fixed glitching start/stop sounds caused by poor speed calculations in MagnetCraneAudio
Merge MagnetCraneUpdate -> Main
Fixed magnet crane oneshot audio playing too often
Removed the input blocking after the magnet crane collides with something, leaving it to just prevent the movement instead. Fixes the case where the magnet could kind of 'dig in' its collision and end up not being able to move back out.
Removed the the map snowmobile
Merge Main -> MagnetCraneUpdates
Removed orphan DebugEx timer
Enabled saving on y temp train and carriage entities
Make sure the wheels start at zero rotation
Update changed wheel bogie positions when received even if the train is off
Fix rear bogie jitter from using world instead of local rotation
Added missing time parameter info
Smoothed out train bogie rotation using the new generic interpolator
Merge Main -> Rail Network
Try reducing magnet crane interp snapshot count from 32 to 8
Merge Main -> rail_network
Merge MagnetCraneUpdates -> Main
Added debug method for magnet crane interpolation
Fixed some glitches with the interpolator when magnet crane yaw passed through zero. Still hitches at zero - TODO.
Created GenericLerp mostly based on the existing PositionLerp. Simpler than PositionLerp overall, but can interpolate anything. Implemented it for magnet crane animation - cabin yaw + the two arm movements. This makes the magnet crane visual movement smooth instead of jittery (the existing code did a simple Lerp, but couldn't really be timed right on its own).
GenericLerp may be useful any time the server sends regular data which needs to appear smooth on the client despite only coming 10 or 16 times a second. For instance I plan to use it for the train bogie rotation as well.
Cherry-pick my new interpolator -> MagnetCraneUpdates