122,445 Commits over 4,048 Days - 1.26cph!
▄▊██▄▄ ▇▇▇▌▍▉ ▋█▊▊▌ ▍█▆▊▅█▉▆▇
Finalizing corner east of new desert WIP
Revert shader changes, switch egg suit to use the StandardWithDecal shader that signs etc use
cherrypicking
70101 70122 - easter crash tests continued
Merge from easter2022_crash - testing changes
Revert changes to EngineUI and GameUI
Change RequestFileFromServer behavior to work the same as main but add a flag to optionally respond if not found (only used by egg suit)
Added missing wait timers at waypoints for junkpile A.
Added negative base offset to junkpile NPC to more closely match the world terrain navmesh.
Fixed NPC respawns at junkpiles.
Fixed NPCs sometimes not correctly patrolling at junkpiles.
Subtract
70097 - taking another approach with the RequestFileFromServer changes
Add new PersistentObjectWorkQueue, similar to ObjectWorkQueue<T> but designed to iterate over a non-changing list of objects
Implemented new queue on LightgroupAtTime (consistently taking 0.6ms a frame, new limit is 0.1ms)
Fixed ObjectWorkQueues never actually starting the stopwatch (this will be causing performance impacts on clients and servers)
cherrypicking easter2022 changes for continued crash investigation
SegmentMaskPositioning no longer allocates 432 bytes every frame and is faster (this component is active whenever the inventory is open)
Remove a duplicate mounted check in BasePlayer.ClientUpdate
WIP refactoring train car collisions and coupling. Hoping to remove a lot of the old "workcarts pushing other work carts" code, and instead treat it as an unlocked coupling, even for train cars that don't actually have couplings (like the train tunnel WorkCarts)
Checking an animator bool and not assigning if necessary is slightly faster than setting it every frame, so do that in PlayerModel.UpdateParameters
Don't get voice processor volume on NPC's
Merge Rail Network -> Coupling
Made the snapshot prototypes static
A less confusing way to define ISnapshot<T>
Change PositionLerp back to using my generic interpolator, performance seems to be the same as before (and the garbage gen is now fixed)
Reduced garbage gen in my generic interpolator to zero but now it's even more complicated. Next step is simplifying if possible (and performance testing).
Merge Main -> MagnetCraneUpdates
Splatting progress backup
Merge from easter2022_crash (testing)
Delete sign.egg.suit (test item used for dev only)
Final satdish sculpts & cliffs
Update usages of RequestFileFromServer so it never retries if the image wasn't found on the server
Interaction foam shader update
Subtract
70091 - bring changes to a branch to investigate why it could cause crashes
SetDestination error spam fix. Needs more testing to make sure nothing unintended happens because it is used by every AI in the game.
cherrypicking
70089 70091
subtracting Nvidia reflex changes - sporadic performance issues
Subtracting
70069 - Easter changes with removed editor-only [BurstCompile] attribute due to continued non-responsive client stalls
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.
▇█▉▌▌ ▅▉▅▉ ▉▉▌▆▄▊_▋█▉▆▋▊_▋▅▉ - ▉▆▋▌▉▍▇▅▌
cherrypicking
70069 - Easter2022 Crash investigation
Store the last hit info when a player takes damage
If a player suicides while wounded, use the last hit info for the death screen and stats
This should fix so many player deaths being reported to analytics as suicides when they've actually been killed by other means, as well as making the information displayed on the death screen more accurate
Raise zipline dismount points at water treatment plant, S2P
Allow the above-ground WorkCart bogies to pivot
Matched the above-ground WorkCart controls colour to the exterior (similar to the red variant)
Added above-ground WorkCart prefab variant. Set up different materials on it. Made it save/load.
Merge Main -> Rail Network
Improved dot product check on chain connections
Chain connections are now multi-directional
Increased magnet crane yaw speed by 20%
Switched magnet crane back to "Normal" animator mode instead of "Animate Physics" on the client. This fixes the slightly jittery yaw movement and makes it absolutely smooth (assuming high framerate). The tradeoff is that it brings back the imperfect sync between the seated driver and the crane. However, with the updated interpolator this seems to be much less of an issue than before.