158,382 Commits over 4,566 Days - 1.45cph!
▊ ▅▄▍ ██▆▊ ▊▄▍█ ▌▊ ▉▉▇▌▄█▌█ ▌▊▋▄▄▊▌▅▇ ▄▉▋▇▅▉▊
merge from fix_sail_guide_mismatch -> main
▋ ▊▋▌▌▋ ▋▄ ▆▄▍▉▋ ▋▆▊▇ ▄▉▄▇▌▊▍ ▌▌▋▌▊▌▇▄ ▌▆ ▊▆▌▊▆ ▍▊▆▅▅█▌▆ ▅▋ ▌▄▊ ▍▆▌▍ ▍▌▄▄▄ ▌██▊▌▊▉▄▍▌▊▋▉▇▅▋▉▉▄▉▉▄▋▋▊▅▊█ ▋▇▍ ▊▆▍▌▋▊ ▉▊▅ ▋▄▌▍▇▌▇▌ ▋▆█▇▄█▉▋ ▋▊▍ ▊▄▄ ▇▉▍▄ ▉▊▉ ▇▄▄▍▌▌ ▉▆ ▋▇▋ ▋▌▋▉▍▊ ▊▋ ▇▄▄ ▄▉▍▅▊▋▆▄ ▇▇▋ ▆▇▅██ ▅▊▄█▍▆▆ ▍▆▇▋▊▆▇▋ ▆▉▇▄▉▄▋▅▋ ▄▊▄▇▄ ▉▇ ▇▉▆█▅ ▇▉ ▄▋▆ ▄▍▆▍▉▌ ▍▊█▋▄ ▅▌██▉▆█▇▆ ▌▌▊▄▇▄▍▍
Optimize network thread's batching overhead slightly
- during the end of frame flush only set the last batch sent as "immediate" priority
- avoids paying the extra 0.4us to wake the RakNet thread after every single batch sent, instead only paying it once for the entire batch
Add unordered batch alongside the ordered one so we keep sending position packets unordered while keeping them batched
- my previous commits were incorrect: positions have always been sent unordered
█ ▉▄▍▉▉█▄ ▉▌▊▊ ▅██▍▉▇▅▊█▇ ▇▄█▌▊▅▋ ▉▅▇▆▌ ▋▊▆ ▅▌▄▍▇▄ ▉▄▉█ ▍▇▄█ ▇▋▇▄▄▅▍█ ▋ ▌▆▇▍ ▊▆▇▆ ▊▋▋▇█
Move packet batch from Dictionary -> Connection field
main -> mainisland_roaming_scientistboats
boat_targetting_improvements -> main
Various fixes
Add ForceActiveViewmodelAnimatorUpdate to viewmodel anim controller
Don't break existing server saves for livestock
fix snap settings styling
improve demo gizmos, add spotlights and demo toolbar
merge from main -> fix_sail_guide_mismatch
█ ▄▍█▄▉ ▆█ ▋▊▆█▌ ▋▇▊▄ ▇█▆▅▍▊▄ ▇▆▉▅▇▌▍▌ ▍▇ ▋▍▄▆ ▅▆▉▌▄█ ▌▄▄▍▆▊ ▅▍▍▉ ▇▉▇▌▅ ▋▍▄▅▍ ▋█▉▉▍▇▉ ▋▆▅ ▊▆▌▆▆▆▆▉ ▍▊▋ ▍▌ ▇▍▆▊ ▅▄▇▆▉▋ ▅▋█ █▉▄▌▅ ▇▋▋▌▅▋ ▅▊▌▉█ ▅█▅▋▉ ▅▉▊▋█▋▌ ▍▅▉▋ █▋ ▋▊▉▄▉ ▇▆▄▉▋▉██▆▋▌▇▆▍▄▌ ▇▍▇▄▊▊▌▌▊▊▍▊ ▍▄▌ ▌▅▍▌▉▉▊▌▅ ▇▄▉▅▄▌▆▌█▌ █▋ ▆▍▌▋▇▆ ▌▅▉▋█▅ ▌▍▆▇▅█ ▇▋▅▅▋▊ ▄▋▋▌ ▇▅ ▆▄▊▅ ▊▅▄▄▅▆▋▊▊▉▉ ▇▆ ▅▊▍ ▊▍▉▋▉▄▆▆▊ ▊█▄▌▇▉██▊▆▄▆▄ ▇▄ ▍██ ▆▄▊█▊▅██
main -> mainisland_roaming_scientistboats
first pass at seagull "groups"
- groups (animators+rigs) are different than "flocks" (shader animation), flocks stay up high in the sky, groups actually land
- groups land at "interest points" which are components that can be placed in scenes/prefabs
- groups are a single entity, with multiple gulls, similar to a swarm, except they actually have hitboxes
- if you come close a group of gulls, they will startle and fly off, at a sufficient distance they turn into a "flock"
- after a wait time, the groups will come down to land at a new interest point, and transition from a flock back into a group
- individual birds can be shot while in a "group", with ragdolling corpses
- also various improvements to flock movement
Fix wool and lead armor insert worldmodel outlines
Merge: from reserialize_sprites
- Update(editor): reserialized all Sprite assets to stop unexpected modifications (meta changes only)
Tests: spot checked a bunch of metas
▋ ▌▉▋▆█ ▉▌ ▍▇▋▉▄ ▄▌▆▍ ▆▍▍▋█▇▌ ▍▍▆▄▅▉▊▇ ▌▍ ▉▉█▋▊ ▄▇▉▉▆▌ ▉▇▄▌█▋▅ ▍▇▇▇ ▉▊ ▋▇▆▉▋█▋ ▇ ▋▄█▆▋ ▅▉▍▊▆▌▅ ▍▇ ▉▅▅ ▋▌█▇█▉▆ ▄▋▍▇▌▌ ▌▅▉█▌ ▆▉▉▊▉▊ ▄▋ ▅ █▇▊█ ▋▄▇▍▉▆▄ ▆▉▆▆▄▆▅▅▋▇▊▊▉█▆▉▊▄▆▌▆▋▇▋▋▅█ ▉▋▉ ▌▉▆█ ▊▋▇ ▇▊▇█ ▍▍▋▌ ▋▅▄█ ▉▋▍▇█ ▋█ ▅█▉▌ ▋▉▇▆▉▄█▄ ▋▉▆▆█▌▇▇▋▊▍▍▍█▅
Update: reserialized all Sprite assets, part 10/10
Update: reserialized all Sprite assets, part 9/N
Update: reserialized all Sprite assets, part 8/N
Update: reserialized all Sprite assets, part 7/N
Update: reserialized all Sprite assets, part 6/N
Final nailgun adjustments
Update: reserialized all Sprite assets, part 5/N
Update: reserialized all Sprite assets, part 4/N
Update: reserialized all Sprite assets, part 3/N
Update: reserialized all Sprite assets, part 2/N
Update: reserialized all Sprite assets, part 1/N
Tests: spot checked 10-15 metas
Double Barrel Shotgun - Added sights to worldmodel (long overdue)
Nail visual projectile tweaks.
Tweak on nailgun attack FX.
Merge: from consolidate_onitemremovedfromstack
- Bugfix: added missing invokes for OnItemAddded/RemovedFromStack
Tests: unit tests + automated tests
Update: refresh server test list
Tests: ran my new tests
Fix caboose lights missing their volumetric beams the first time you turn them on with the light switch
Caused by AmbientLightLOD skipping the first faded toggle after an instant one
lamb sprint animation test
Fix LightGroupAtTime pooling bugs, caused caboose lights to become darker on reuse
Cache authored light intensities once at the start, later they could be changed from their defaults when coming out of the pool
Bugfix: make sure we call onItemAddedToStack when using ItemContainer.AddItem
Tests: unit + auto tests
Rework previous fix for entities that were forced dynamic due to being parented never resetting the flag when pooled
New IPoolReset interface that Poolable calls when entering the pool to reset cached behaviours, instead of multiple GetComponentsInChildren in ResetState
Also reset RendererBatch disabled flag set by parenting so that a pooled instance can batch again after reuse
▍▋▍▊▄▆▉ ▋▆ ▇▋▌▌▇▆ ▉▍▊▍▆▋▄▍ ▉▅█
New targetting system for ai scientists:
- Remembers locations of previously lost targets
- Auto switches between visible players if it loses its main target
- Ai scientists will keep attacking even if the target hides
- More stable/fun overall
Fixed allocations in SortBlurredLayers
Raised the UI blur capture limit from 4 to 6 per frame
CUI blurs only take a capture of their own when they cover UI drawn before them
CUI blur sorting runs once per frame instead of on every AddUI/DestroyUI
Merge from Wool_ArmourInsert