1,189 Commits over 518 Days - 0.10cph!
merge from boat_flipped_wheel_mounting
merge from sorted_protobuf_gen
sort ProtoMessage Messages for codegen consistency
corrected Sail's CacheIsWindBlocked check to handle realmed colliders
- tried batching this but there's not enough casts for it to be worth the overhead
boat engines don't apply force when boat isn't in water
merge from boat_better_shallow_water_behaviour
shallow water rebalance
- better depth values for speed reduction and unbeaching behaviour
- increased unbeaching accel, applies fraction of it upwards to separate better
- increased turning torque by 50% and raised floor of its velocity scaling
including water depth in shallow water velocity scaling
merge from deepsea_height_data
undid temporary boat code, now using heightmap queries regularly
simple deepsea/mainland heightmap query split (5th iteration of it)
- currently limited to positional queries, normalized coord queries map directly to mainland data still
- also fixed issue with deepsea shorevectors where they weren't being rotated into worldspace properly and still pointed in localspace directions
rebaked tropical scene shore data to include heightmaps
correcting for height data normalization, denormalize with baked info and renormalize to current world size on application
- lets us be consistent with how we interpret height data betweek deepsea and mainland
HeightData baking support
Two WIP behaviours that need unifying, beginning to fix unbeaching forces as well as implementing a MaxVelocity modifier in shallow water
- both are querying shore vector and water depth information from the same points, we should do this in one place and
- need to fix querying water depth as we don't have height info in the deep sea and it breaks it, don't want to do raycasts so we need to blit this in as well really
▋▇▊ ▊▉▆ █▇▋▉ ▆▅▄▍█▋▌▌█▌▍▇█▊▋█▊ ▅▋ ▊▋▆▊█ ▊▅▌▊▌▆▊▆▊▇▇ ▉▆, ▊▊'▊ ▇▌▌▆▉█ ▌▍ ▍▅▊▇▉▅▋▄ ▉▉▆▇▌▆▍▅▆ ▋▊ ▄ ▇▅▆▄█-▄▇▍██▍▆▇ ▍▋▋▊▇▊▉▊ ▇▄ ▊█▇ ▌▅▍ ▊▍▋ ▌▋▊▋▍▉ ▌█▌▌▉▅▊▄▍▍▉ ▆█▍▄▅█▍▅▉
switched HashSet to ListHashSet in BoatAI to get rid of enumerator alloc
removed some deeper profile markers from GJK, unnecessary overhead with little info
moved a BaseBoat waterlevel test down a level so unpowered boats don't check it for no reason
burst compiling GJK distance methods directly, already compatible
- not using jobs here as it would need a NativeReference alloc for no reason, we just want the go-fast button
- verified compiling with burst inspector
merge from buoyancy_deepunderwater_fix
only handle deep underwater check outside of TerrainMeta bounds when not inside deepsea
merge from ai_vehicle_clipping_check_optim
account for ClippingAiChecks another level up in BaseVehicle to avoid running an OverlapBox query in cases where we wouldn't run any mounted clipping checks anyway
merge from npc_PlayerSyncCycle_optim
▍▋▆'▉ ▋▍▍ ▊▄▆▍▉▆▍▊▊▆▉▋▇▉▊▌▄▅▄ ▍▄▍ ▇▇█▅▊▅▄ ▉▅█▉, ▅▋▆▋ ▊▉▅▉ ▅ ▊▉▆█ ▍▊▆▌▆█ ▊▄ ▍▊▋▍ ▉▇ ▊▌▉▅▄▅▆▅▌█▄█▉.▌█▌▇▋▄▍▆▍▌▆▇▊▋▉ ▆▄ ▉▌▅▅▉ ▊▉ ██▅▆▋▋▌ ▋▋▍▌ ▊▄▇▍ ▌▉▅'▊ ▄▇▌█ █▊▍ ▋▍
- ▆▇ ▇▆▋▆▌ ▇▌▋█▆▍▉ ▉▋▍▍▅▋▉▄▉ ▄▍ ▊▆▉ ▄▋▊▌▄▍▉ █▊▉▌▌█▊ ▍▌ ▊█▄▌▇▊▉, ▋▋▄ ▇▅'▋ ▆▇▄▍▆▆▅▅▊▅▍▍ ▄▅▇▄▇ ▆▍ ▄▋▇ ▉▊ █▆▇
removed all the debug logs I forgot about
added TriggerParentDelayedExit that defers Unparenting by small amount, allows bridging small gaps in parent volumes seemlessly without needing to find them algorithmically
- replaced all TriggerParnet in BoatBuildingBlocks with this
merge from parenting_improvements
compile fix for BaseMountable change
- switched out client-incompatible check to an explicit disabling of the behaviour from the vehicle parent instead
- set flag on PlayerBoat only
merge from parenting_improvements
- just the stairs parenting volume
gave boat stairs their own parenting trigger volume
pick up fuel when picking up boat engine
merge from boat_mountable_fixes
set steering wheel as DirectlyMountable, behaviour is the same but shortcuts checking the vehicle parent MountInfo in some cases
check whether the BaseMountable is a MountPoint for its vehicle parent when checking HasValidDismountPosition
- already being checked for retrieving the actual positions, this just stops the menu item being hidden in some cases
setting ForceDeployableSetParent to true for the PlayerBoat so parenting deployables actually works
moving some cargoship/tugboat special behaviour cases in deployabled and HitInfo to be driven by an interface tag rather than direct type check
- deployables parent directly to the vehicle instead of sub-entities
- special handling in some HitInfo data generation
merge from shorevector_disabled_terrain_fix