730 Commits over 334 Days - 0.09cph!
WaterVisibilityGrid fixes
- made it non-static, easier to manage lifetime this way and it should've been owned by the WaterCollision system anyway
- adjusted grid to handle ref-counting, this isn't strictly necessary but is the only way to sanely verify if the system has broken (memory footprint is ~1MB)
- slightly inflated static trigger bounds by an absolute value to manage small noise changes in position that can push it over a boundary
- added a virtual function to EnvironmentVolumeTrigger that lats derived classes run code with a guaranteed trigger collider (some visibility volumes were being missed in OnEnabled from this)
stopping watervisibilitygrid error spam
- still need to fix the core issue
subtracting
104763 - we are using the W component on shore vectors in the shaders, just not in code
drop w component on shore vectors, nothing reads it and we have terrain topology to get the samee information
Merge from water_visibility_grid
- provides 2D grid for early exit on most WaterCollision.GetIgnore checks
- dynamic water visibility volumes are brute-force checked, but there are an extremely small number of instances
close profiler sample region properly on early exit
merge from world_update_2
only apply surface breaking drag to non-kinematic players
(fixes warning when DPV would submerge)
sanity checking tools for non-convex mesh colliders
merge /main/DPV -> /main/world_update_2
separated stationary player processing from moving player processing
- lets us run normalize tick finalizing code for players while we run physics queries on jobs in the background
removed unused command generating function
gave Parallel.For some profile regions on the scripting threads
no-clip functional with physics queries as generated commands
- requires a lot of lists to gather information of the sub-set, need to find a better pattern here
merge from world_update_2
merge from dpv_collision_fixes
Run dismount logic for mountables in DoServerDestroy
split dpv dismount points into set of preferred lower positions that maintain a similar eye-level as when mounted and a higher level that is accessible from dismounting in shallow water
shuffled mountable/vehicle editor code around to get mount preview mannequins on mountables as well
rebuilt bone-arrays for server-side ragdolls to include DPV mount pose
Added extra collider to properly cover head/eyes position
initial 2D grid for avoiding Physics checks against WaterVisibilityTrigger
- Simple BitArray for static, brute-force through dynamics due to tiny count
- train tunnel trigger volumes limit the usefulness of this, next step is splitting world-Y into very small number of cells
Properly handle origin/simspace delta accumulation when BurstCloth is re-enabled
BurstCloth - optionally allow bone transforms to reset when disabled
- also removed transform reset when re-enabled, only caused a weird jump in behaviour
merge from frontier_hazmzat_cloth_fixes
adjusted frontier_hazmats BC MaxOriginDeltas to roughly enclose character - massively helps cloth resolve when mounting and stops odd behaviour at high noclip speeds
BurstCloth Stability
- made max origin delta configurable (default value is the same as the old hardcoded one)
- origin and simspace deltas accumulated and cleared when sim job is scheduled, this was the main cause of most small explosions in cloth behaviour
Don't show monument block radius for DPV
tweaked hatchet cloth settings for better stabilitity
- upped damping and constraint iterations
initial pass on burstcloth setup for VM not using VM renderer
merge from wortld_update_2/dpv_fixes
DPV socket excludes artifical water
- InWater socket mod allows exclusion of artifical water
- added separate error when socket requires a body of water
Water volumes report correct overallDepth from WaterInfo
- measured against the bottom of the volume or a cut-off plane
merge from world_update_2
separated client/server compile fix for DPV
DPV requires fuels storage to be empty before you can pick it up
- server sends an additional fuel info update when fuel storage inventory has an item removed/added (stack count change doesn't trigger this)
DPV uses correct WaterLevel test for getting player WaterFactor
merge from line_functions
corrected closest points function
aggressive distance culling for cloth on cny_spear
switched out prefab CompareTo to explicit implementation to avoid boxing
post-merge waterinfo query fix
merge DPV->world_update_2
Undo meta guid changes on wallpaper textures from previous merges
merge FrontierHazmat->world_update_2
merge main->FrontierHazmat