1,865 Commits over 852 Days - 0.09cph!
reduced SenseComponent overhead by about half
- only gather eye information once per tick rather than per entity
- reduced redundant calls into CanTarget
re-order and split checks in Trans_HasThreatTarget so that female livestock don't run any targeting checks, large part of idle fsm cost
merge from boat_test_cleanup
switched fixed wait to polling with timeout, takes 2s off another test
removed most low-quality playerboat tests from CI, fixed small bug in one
thumb_up
10
thumb_down
18
▌ ▄▋▆▍▉▅█▆▋ ▇▇▊▅▌▆▄ ▉▌▅▅ ▌▌▌▅▄▋▆▋▌ ▄▇▋█▍▆▄▄▄▄▄▉▊▋▍▆▆▅▌ ▇▇▋▉ ▅▆▍▆▍ ▅▌▌▌▋ █▋▄▊ ▆ ▆▊▅▍▉▌ ▄▊ ▆ ▄▌▍▌▊ ██▉▇▋▉▅ ▍▍▅▍ ▅▆▅ ▌▆▄▌▊▍▍ ▆▅▇ ▅▋▅▊▋▅▄▅▄▅ █▆ ▌▇▆▄▄▆▊▄ ▍█▉▍▌▍▄ ▄▆
3-solver mixed-BC setup on plague hazmat for testing
first pass, experimenting
setup plague hazmat skin targets
merge from PlagueHazmat_Improvements
wip procedural animation-target skin constraint
merge from modulator_as_struct
replaced soundpooling for a readonly struct modulator, avoids all allocs and doesn't change any of the usage
fixed jenkinsfile using wrong param name for slack channels
merge from pipe_mesh_optim
merge from pipe_mesh_optim
moved pipe mesh generation to use the MeshData native interfaces, including port of tangent calculation
- virtually 0 main-thread cost now, almost all of the work is done on job threads
merge from bone_retarget_optim
pre-initialize found bones array with the extra bones that have already been moved as part of DoBoneRetargeting to avoid pointlessly recursive searching for them
- much more impactful for things like hazmat skins that have a lot of extra bones for skirts
- ~0.3ms now for BoneRetarget
revert accidental cloth asset change
optim bone retarget, cache the found bones on the first lod's search so following lods can just read the cache directly
~6.5ms -> ~1ms
merge from triangle_block_isvisible_fix
- stops splash damage being applied to triangle floors and frames through walls in some cases
▌ ▇▉▍▊▍▊▍▅ ▌▆▍█ ▅▉ ██▊ ▆▍▅▍▆▊▍▍ █▇▊█▋▄▅▅▉▉█ ▆▊▋▋ ▍▆▋▅ ▅▊▆▋▉▋▇▉▇ ▍▍▄ ▌▍▊█▆▆▊▄▅▌▇ ▊▄ ▄▆▄▉▅▅▋▉ ▉▋▇▆▊▅▋██▌ ▅▉█ ▊▆ ▍▆█▊▉▊ ▍▇▆ ▉▊██▇▄▆▋▆█ ▆▆▇▅ ▊▅▌▊
enable for triangle frames and foundations as well
simplified 3-triangle closest point test to a single triangle for XZ and then clamping Y to the prismatic extents, more accurate and cheaper
stronger recursion checks
aliases show in console autocomplete results
added `alias` command that works the same as input.bind but with a custom command name instead
corrected simulation space not being handled by held items
don't gather colliders if collision is disabled
various BC improvements
- collision as proper capsules again
- colliders interpolate for sub-steps
- fixed accumulator issue that would appear after a big spike frame
- fixed issue with simulation space not actually being a simulation space
▊ ▇▋▄▇▌▆▉▄▅█▊ ▍▇▌▊▌ ▍▋▄▉▌▍▅ ▉▊▌
▋ █▅▄▌ ▉▍▍█▊▉▄▄▊▅▉ ▆▅▄██ ▌▊▌▉▇
▉ ▍▋██▄▉▌▍▆▊▊▋▇▋▄▅▋▋▌ ▌▍▉▊▇ ▊▅▆▅▋▇▇ ▍▋▋ ▄▊▍ ▆▊▉▅▅▉▋▆▊▉ ▌▊▆▋▌▆ ▄▊▇▅ ▄▋▍▆▋▆▍▇ ▊▄ ▊▊█ ▆█▄▆▊▋▄▌▄ ▄▊▇ █ █▉█▋▋▅ ▊▉▌▉▋ ▆█▌▊█▊
short test to force the extremes of DecorComponents to ensure the bounds is correct with future changes
- if this broke silently rocks would just fail to spawn or spawn where they shouldn't
use expanded decor component bounds to early out terrain filters cheaply in decor placement - saves 12s in coastal rocks, barely saves elsewhere
- can only do this because we have a cheaper hierarchal query for topology of an area now
Process cliff uniform placement validity in parallel - takes another 29s off, still matching results before optims
- pivot filters are tested in large batches of all candidates and re-tested if dirtied
- per-candidate orientation checks are done in parallel for passing candidates