7,932 Commits over 1,004 Days - 0.33cph!
Fixed SM_DisableHorseProceduralMotion OnStateEnter allocs...
Fixed SM_DisableHorseProceduralMotion OnStateExit allocs
Well actually lets drop the sounds from missed rays because that meant all the shit at 0,0,0 would be audible now
Fixed missed rays spawning the footstep sounds at 0,0,0 🙃
Animal footsteps raycast optims:
- On dry terrain, we read the terrain splat map instead of raycasting, one ray every 2 meters to check the animal is still on terrain
- If not on terrain (rocks, base, water) we just do one ray instead of 4
- If the animal is in water, we still play the effect past the audible range to make sure you can see the water splash effects
5 wolves running around on grass, 80% less raycasts
~0.115 -> ~0.08 ms
Skip footstep effect spawning and only keep the sound if they're fully invisible
It cuts all the effect spawning on grass for all animals
Wolf footstep playing in editor: ~0.15ms -> ~0.11ms
(this is not applied if music is enabled because aggressive animals footstep effects increase music intensity when nearby)
Fixed all wild animals in network range casting rays for their footsteps effects regardless of distance (if occlusion culling disabled)
We now match the footstep sound def max hearing distance before casting the ray (around 50 meters)
Was spending 0.5ms and 1.2KB every frame for 4 animals
Fixed UICompass copying its mat properties every frame, saves ~0.05ms a frame
Prevent FlexVirtualScroll from running its LateUpdate when its parent canvas is disabled. Saves ~0.04ms a frame
▊▅▊▍█ ▌▆▍▌▉▌█▉▉ ▉█▅ ▌█▍ ▉▌▉▇▅▆▍▊ ▋▋ ▇██ ▋▅▉▌ ▌▇▄▉▊█▄ ▋▇▉▆▄▄▇ ▇▋ ▌▆▌▉▇▋▅▌▊▆▅▅█▄▌▇ ▍▉▆█▇█▌▇ █▉ ▋▊▊▉▊ █▄▋▊█▇ ▍▉▄▅▅
We now take a screenshot when a client test fails
Container tests, opens every container in the game
Deleted furnace_static, its unused and cant be opened
Description pass and cleanup
Cows moo less: idle animations can now be weighted
Some cleanup, converted some old tests
Fixed copypaste erroring when pasting invulnerable entities
▋▆▋▆▇▄▋▆▍ ▅▅▄▇▍█▍▌▍ ▆▋▆▇ ▊▌▅▌▇▌█ ▉▌▅▍▍ ▋▍▅▉▅▅▄▅ ▍▋▄▊▉▌▄ ▌▉▇ ▉▊▊█▉▌ ▅█▊ ▍▋█▆▄▄ █▅█▋▆▌ ▄▊ ▄▇▍▌█ ▇▉ ▋▊▍▉▊ ▆▆▇ █▆█ ▊█▅██
Fixed server hip movement causing the horse to never sleep (regression from
167107
Fixed dismounted horses keeping their head turned and hip braced
Fixed pooling bugs messing with horse animations
We can now get rid of the duped ridersync in the LateUpdate now that we don't control the spine pos from the IK
Chops another 0.42ms per frame for 50 moving horses
Removed LegsAnimator on the server, we now use the existing ground normal raycasts to calculate the hip position
Hip pos calulcation on the server for 50 moving horses:
2.2ms -> 0.09ms
LegsAnimator batched raycast commands
50 moving horses: server legs 4.5 ms down to 2.1 ms per frame in the editor (still too much)
Removed so dead code in TerrainConfig following
167041
LegsAnimator optim: legs that haven't moved reuse their last ground hit instead of raycasting every frame, with a fresh raycast at least every 30 frames
Reduced the legs animator culling distance if the horse is not ridden. Force fade out when stationnary
Skip animator updates once settled, ScaleBySpeed stops rewriting its scale while standing still
Disable the 4 RotationConstraint on horses when not wearing the LNY armour
Fixed map UI allocating 2.5KB per frame when open, UpdateTerrainShaderConstants now reads the splat settings directly instead of going through the TerrainConfig getters
merge from entityflagtoggle_skipsounds
Fixed the map fade never settling after closing it, every frame for ~4s it was notifying all its children UI behaviours (0.3ms/frame)
merge from entityflagtoggle_skipsounds
Added 3 new listener kinds to EntityFlag_Toggle so BBQ and flame turrets can benefit from the optim on
166947
Fixes BBQ and flame turrets playing wrong sounds when deployed