1,153 Commits over 518 Days - 0.09cph!
reduction in sail position influence on thrust, less than half what it was but still double the engine's
- still impacts how you place them on the baot but results in less situations where it feels like the boat is not behaving as it should
setting global shader params update flag after regenerating textures for dirty DeepSea data flags
use a realmed trace for TriggerParent.HasObjUnderFeet so they don't freak out in-editor at speed
PlayerBoat uses HasDriver to check AnyMounted, corrects flipped behaviour not running
merge from anchored_boat_mass
increase boat mass to arbitrarily high value when anchored, won't be pushed arround much but maintains buoyancy behaviour as it's acceleration based
made ProceduralMapEmpty more empty
merge from deepsea_terraintexturing_leak
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
▍▋▆'▉ ▋▍▍ ▊▄▆▍▉▆▍▊▊▆▉▋▇▉▊▌▄▅▄ ▍▄▍ ▇▇█▅▊▅▄ ▉▅█▉, ▅▋▆▋ ▊▉▅▉ ▅ ▊▉▆█ ▍▊▆▌▆█ ▊▄ ▍▊▋▍ ▉▇ ▊▌▉▅▄▅▆▅▌█▄█▉.▌█▌▇▋▄▍▆▍▌▆▇▊▋▉ ▆▄ ▉▌▅▅▉ ▊▉ ██▅▆▋▋▌ ▋▋▍▌ ▊▄▇▍ ▌▉▅'▊ ▄▇▌█ █▊▍ ▋▍
- ▆▇ ▇▆▋▆▌ ▇▌▋█▆▍▉ ▉▋▍▍▅▋▉▄▉ ▄▍ ▊▆▉ ▄▋▊▌▄▍▉ █▊▉▌▌█▊ ▍▌ ▊█▄▌▇▊▉, ▋▋▄ ▇▅'▋ ▆▇▄▍▆▆▅▅▊▅▍▍ ▄▅▇▄▇ ▆▍ ▄▋▇ ▉▊ █▆▇