692 Commits over 273 Days - 0.11cph!
removed unnecessary NoAlias attribute
fixes and tuning improvements
- corrected indexing mistakes that caused water to flow generally eastwards and slope angle to just be wrong
- water height threshold to stop ocean eroding seafloor
- sediment depositing uses timestep to help tuning be more consistent
- cleanup
some aggressive optimizations to vectorize better, mostly switching out repeated inline coordinate->index operations with single int2x4 operation - makes a difference with the loop count we're looking at
cherrypicking
115931 from erosion
- topology sampling with radius moved to a burst job, brings GenerateShoreVector on craggy from ~73s to ~5s
grid-based erosion improvements
- much smaller timestep, stops patterns from shoddy integration forming
- working with height in world-space and copying back
- better job dependency handling
- some disabled debug data dumping to help debug the process with python scripts
initial implementation of a grid-based hydraulic erosion system in the jobsystem
- super fast
- super wrong
- needs a lot more parameter/constant tuning to get good results, but it's functioning
fixed editor-only memory leak when assemblies/domain are reloaded and scriptable objects aren't destroyed (but the native memory falls out underneath)
merge from wheel_collider_optim
merge from backpack_refreshes_clothing_fix
using cached FixedString bone names to FindBones in job, removes alloc and significantly faster for setups that add a lot of bones to the skeleton
split container content hashes into deep and shallow, only used to determine if player clothing needs updating
- using shallow for clothing so that backpack contents changing doesn't refresh all the clothing
small improvements/fixes to particle erosion setup
- starting to look like a bad approach for us though
pretty dirty WIP approach to erosion in a job, needs cleanup and splat writing fixing
terrain topology radius samples run through burst job, even when called from other threads
- 5000 size map without monuments, trains, roads takes 96s rather than 510s to generate, significant reduction in river layout and shore vector generation
TerrainMap uses NativeArray instead of managed
▆█▍▄▅ ▊█▍▅▅▋▇ ▊█▌▍▇▇▉▋ ▋▋▍▉▄▇ ▋█▋▉ ▍▇▍ ▌▆▆▄▊:
- ▌▌▊▋▄▅ ██▇▄▅▉ ▉▆▇▋▊▉ █▇▄▌ ▍▍ ▅▊▅▇▇ ▋▆▊ ▍▊█▋▅▄▋ ▋▅▉▄▋▇▆▍▋ ▄▅▆▊▋▋▊ ▄▍▊▉ (▇▍▄▄ ▉▌▉▊▍▌▉▊ ▉▋▊ ▅█▋▅▊▍ ▊█▇▆) ▉▉▌▅▍ ▇▌█▉ ▇▌▅▉█▍▋ ▊▄▍ ▉█▊▍▄▉▆ ▆▋▄▉▊▉▋▋
- ▄ ▇▊█▍█▋ ▆▄▇▌▄ ▌▇▆▌ ▇▊ ▉▋▌▍▉▌ ▊▋▄▄█▍▊▇█▌ █▊▅ ▅▄█ ▌▆▉▉ ▅█▇ ▍▉▅▆▄▍ ▍▍ ▄▋▌ ▌▆▇▊▌▅▋▉▊▄ ▍▊▋▅▊'▄ ▍▉▇▄▊▅▇
force anything derived from BaseVehicleMountPoint to opt-in to get a VehicleFixedUpdate, no current cases as they don't need the boundary push behaviour and nothing is implementing it currently
- avoids adding it to the AllMountables processing list so avoids unecessary null check overhead as well
stationary player helis return cached grounded state instead of always calculating it
subs get boundary checks as well
applied wheel toggling with sleepstate to helis and horses
reduced amount rigidbody pos/rot is accessed when determining if a ModularCar is stationary, it was causing multiple unecessary transform syncs
use HasDriver flag instead of always searching for a driver seat for vehicles (reduces a lot of overhead from unoccupied vehicles, especially modular cars)
reconfigure vehicle substeps again when re-enabling wheels as the internal physx vehicle may have been destroyed from disabling them
merge from triggerbase_exclude_layers
automatically clear/set exclude layers for all TriggerBase when toggled on/off
defaulting triggerbase exclude layers optim to off
disabling/enabling wheel colliders with sleep state to reduce overhead
▇▆█▌▍▄ ▅▄-▊█▍▇▉▍ █▇▄▌▋▊▋▍ ▋▅▉▍▋▋█▊█
▍▇▉▉▌ ▉▅▄▅▄ ▅▋▋ ▉█▌▊█▆▍▄ ▄▇▅▉▄
- ▉▇-▍▉▄▋▉▉▅▉ ▅▄▊▊ ▋▉▍▋▆▉ ▉▄▇▆▍▉ ▄▅▅ (▌▄▇▍ ▌▄▌▅▊▄█▅ ▆▇ ▌▋▊▋▉▆█▄▉▍▄ █▉ ▍▊▉█▊█) █▆▉ ▋▄'▌ ▊▍█▇▊▋ ▇▇ ▊▉ ▉▇▌ ▉▍▊▋█ ▇▌ ▇█▌█▄▊▌ ▋▌ ▅▆▍▉ ▍▌▇▄▊
▄▊▉▍▌▊▆▍▆▇▋▉▆ ▊█▌▌▊▅█▋▆▉▅▊▇▅▊▌▇▆▅▉▉▅▌▍▋▌▍▄ █▅ ▆▅▆ ▍▇ █ ▍▇▉▄▄ ▅▋▄▇▇██▊ ▄▌▄
- ▉▄▋▉▉▌ ▄▌▅ █▆▅▇ ▄▇▇▋▅ ▍▄▋▅█
- █▇▋▊ █▇▉▇▇ ▆▅▊▆▆ ▌▍ ▄▆▋▌
- ▉▌▊▋▆ ▍▅▊▉▅ ▌▇▇▉ ▆▅▋▆▊█▊ ▄▍▍ ▆█▅▄▍▅ ▌▋▍▇▌▉▋▄
merge from triggerbase_exclude_layers
merge from triggerbase_exclude_layers
small correction on trigger static list initializing wrong with excludelayers optim disabled
cherrypick
114515 - CoarseQueryGrid causing crash on server disconnect
merge from tugboat_sinking_parenting_fix
setup parenting volumes on tugboat that allow swimmers, gives better behaviour when the boat is sinking