158,466 Commits over 4,566 Days - 1.45cph!
Merge from livestock_potential
Cap potential if the animal has no mother (found in wild/bought from vendor)
You will only be able to sell the subsequent generation of animals
Configurable with livestock.potentialUnbredCap
Merge from livestock_potential
Modified potential so it slowly increases and decreases based on if the current happiness is higher or lower than potential
Takes 10 minutes to go from 0->100 if happiness is 100
Takes 15 minutes to go from 100 -> 0 if happiness is 0
New stat for animals - potential
Starts at 0 and and can only be modified while an animal is a child
Potential is the average happiness over time of an animal, gets locked in once they become and adult
Wild and purchased animals have 0 potential
Vendor sales are multiplied by potential, animals with potential of 0 cannot be sold
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)
- Re-add reload
- Fix rear turret not aiming down sights properly
- Setup viewmodel controllers
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
▅ ▍▊▅█▆▆▄▇ ▌▉▄▇▍ ▉▍▉▆▍▊▅▋▍ ▇▄▅▅▄▆▌▋▊ █▆▅ ███▋█ ▌▆▍▇▆▄█ ▉▍▋▊▇▆ ▍▆▇ ▄▇▄ ▇▅ ▆▋▉▅ ▍▉▄▋▄▉▄█ ▉▌▍▌▉▄▄ ▋▉▄▉
Cherrypick
166476 -> turret_viewmodels
Initial support for mounted turret viewmodels
- This will stop PT Boat turrets from having stuttery movement/glitchy rendering
Merge from animal_purchase_sfx
Added the purchase sfx when selling wool or animals
Fixed UICompass copying its mat properties every frame, saves ~0.05ms a frame
Merge from animal_mounting_improvements
Animals now dismount to the closest point of the requesting player
Animals will now do a physics check before dismounting, so they won't dismount through a modular car module if the flatbed is positioned between two modules (eg. cockpit<->flatbed<->storage)
Added toasts if an animal can't be mounted or dismounted due to these conditions to give players feedback
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
Fix tool cupboards still showing on the map if the replicated convar for max TCs is disabled at runtime
merge from render_pipeline_testing
stop deploy guides from rendering into the lighting reflection probe in RRP
Block envmap and lightprobe commands from Lua
Replace usages of string.Explode with string.Split
Properly fix env_microphone missing closed captions
Make dedicated server workshop cleanup do it in correct folder
* Was cleaning cache/workshop/ while saving files to cache/srcds/
* This separation helps ME PERSONALLY when running dedicated servers from the client install
Fixed some dupes/saves/demos not loading
* Specifically when they only have a single tag - Dupe, Save OR Demo
Added more decompression self checks
* Removed FastLZ fallback decompression attempt from util.Decompress - I don't think anything out there can actually hit it. Oldest dupes/saves on the workshop already use LZMA. util.Compress used LZMA since 2014
▉ ▉█▋▇█▆█ ▆▌█▌▊ █▆ ▇▍▌▊▋▊▋▊ ▅▆▊▄▊▋▇▊▋▋ ▄▄▇▌▄▇▉ ▆▊▌▋█ ▌▋▌▅▆▍▆ ▊▍█▋▍ ▆█▋█ ▊▋▍ ▅▋ ▄▉█▌█▌ █▄█▄▌▌▋█▌ ▆████▅▌ ▉▆▇▊▊▊▅▊▍▍
- Rewrite PT Boat to be in the form of BallistaGun rather than the custom overcomplicated stuff I originally did (shrinks 2000~ line file down to around 300~)
- Split BallistaGun off into BaseMountedUseable and BaseMountedWeapon
- Cannon is now a BaseMountedWeapon rather than BallistaGun
- Mortar is still a cannon
- Rename MountedWeapon to PTBoatTurret
- Remove shitty weapon set system
▇ ▌▆█▊▆ ▊█▉▊ ▄▅▉▇▄▊█▅█▇▌▆▊▄▊▋▌▍▄▉█▅▇▌▍▄▌
▌ ▉▉▆ ▅▇▅▍█▆▇▇▌▋▇▍ ▍██▄▋▄█ ▋▉ ▅▍▇▋▋▄▍▍▌ ▉▄ ▄▇▅▊▌▊ ▌▍▋▊ ▇▊▉▇▅▅ ▉▉ ▄▌ ▄▋▊▄▇▌▅ ▊▅ ▇▇ ▍ ▆▆▍▊▇▌▅
fix viewmodel skins no longer working with the allocation fix. skins work again and allocations still fixed
Container tests, opens every container in the game
Deleted furnace_static, its unused and cant be opened
▅ █▊▋▄▆ ▄█▉▊ ▅▌▄▅█▊▄▅▆▆▌▇▆▆▍▊▍▍▌▅▉▄▅▊▅▋▆
▊ ▅▍▉▉▇▉▍ █▆█ ▅▇▊▋▍▊ ▉▆▍ ▊▄▄▍ ▌▍▅▇▉▇ ▅▌ ▋ ▊▋▊ █▌▋▄▋█▆▄▉ ▊▊▉▋▆ ▆▉▋▌ █▊ ▄▍▋▉ ▆▆ ▇▅▅▊▇ ▊▌▄▉▋▋▅▅▆
Description pass and cleanup
Merge from render_pipeline_testing
Fixed an issue with the shadow cascade normal bias, added a cap for it and fixed the fading at the edge of the last cascade. Also fixed an issue with shadows looking too noisy when using medium shadow quality
▄ ▅▄▄█▆ █▇▉▋ ▆▊▉▍▌▊▊▅▄▆▋▇▍█▅█▄▄▊▊▉▍▍█▇▇▊▄
█ ▌▇▌▍▇▍▌█ ▇▉▌▌█▅▍▆▉▄▌ ▊▄▋▅▄▌ ▆▇▇▌▅▋▉█ ▄▇▌█ █▉ ▊▆▋ ▅▇▉▍█▍ ▅▆▍