1,245 Commits over 518 Days - 0.10cph!
properly destroying leaked deepsea shorevector / coarseheight / waterheight textures when re-generating
handle uninitialized heightmap properly for shorevector gen (happens with scene camera in some cases)
small engine fuel always accessible from pie menu, proxy func changes the order if you're looking at the fuel access collider to prioritize it
merge from engine_improved_fuel_access
halved shore vector generation time in editor with batched water depth queries (250ms off the time to get into playmode)
- we should jobify the DistanceField stuff as well, but this is a quicker win
flipped steering wheels can't be mounted and flipped playerboats dismount all steeringwheels as well
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