688 Commits over 273 Days - 0.11cph!
made CoarseQueryGrid structure safe to interact with after disposal
- logs errors if you somehow add trigger bounds to it after disposal, not happened yet
- silently ignores attempts to remove bounds
- any checks pass as if further physics checks are required, as a fallback
convar usage of excludelayers with triggerbase (default true)
merge from garage_door_fixes_2
use a transform parameter to define the local bounds for clamping the wire position to, avoids issues with bounds being initialized differently with different door states
setting excludelayers on child trigger colliders to match inverted interestlayers in Awake
- convars to clear and setup all TriggerBase excludelayers for profiling purposes
fixed two instances of TriggerBase subclasses not calling base and ignoring InterestLayers
tool for checking if other components are consuming trigger events for any TriggerBase in prefabs
merge from terrain_ignore_grid
just split the coarse query grid to have a Check and CheckJob function to call from burst and managed contexts respectively
(not as cool as the previous solution, but doesn't rely on compiler shenanigans)
merge from garage_door_fixes_2
fixed parenting issue with door controllers on ClosedCollider io parent
re-calcing clamped io line bounds when a line is added, not OnEnable as it can't be relied on for positioning
tool for checking trigger exclude layers for TriggerBase across assets
merge from coarse_grid_bounds_fix
pad CoarseQueryGrid bounds to handle offshore monuments properly
- world size is not inclusive of these, just terrain
experimentally routing calls to queries from a non-burst context to run a burst compiled job on the main thread and calls from burst contexts to directly run the code
- uses a mixture of BurstDiscard and compiler hints to avoid compiling any branching into burst-compiled code
- twice as fast than just burst compiling the function calls and calling it directly from managed/non-managed contexts
- at least 10x faster for larger queries in worst cases (empty grid) and negligable difference for small queries
merge from terrain_ignore_grid
coarse query grid split into upper and lower slices, avoiding tunnels flooding the map
- trigger bounds that cross theshold are represented in both
- only queries that cross theshold query both grids
- using initial caves network visibility threshold to separate as eliminating tunnels from the main above-ground usage is the main goal here and this works well for that
- increased cell size again, more granularity isn't needed now
use world size for coarse grid sizes rather than arbitrary upper limit, reduced cell size for more precision
added editor tool to dump CoarseQueryGrid as an image (normalized R8)
- highlighted how much the train tunnels screw this optim
merge from train_prevent_building
added preventbuild volumes to unloadable train wagons
initial grid setup
- common job-friendly QueryGrid structure that also replaces the checks made in WaterVisibilityGrid, they would still need to be followed up by physics queries though
- needs cleanup
merge from train_prevent_building
▇▅▌▍█ ▋▊▅▅▅▉▇▍▊▄█▌ ▌▊▅▆▊▇▉ ▌█ ▄█▆▋▇▅ ▅█ ▌▍▊█▋▍▋ ▅▋▌▇▄▋▄▅▊▍█ ▊▇▇▋▌▆▅▍▊▆
LOS tests, split into two tests
- first generates random test cases from a basic setup
- second loads the saved set of failing cases (created by running first test with a convar on)
fixed wrong check stopping consoletoggle params from working
added a "what uses this in this prefab?" that's only accessible from a prefab view but is way faster than unity's "Find References in Scene"
- prints the whole GameObject.Component.PropertyPath name to make it easier to find in the component as well
merge from bike_ragdoll_fixes
ensure ragdoll velocity timeout is always initialized in cases where ragdolls spawn with near-zero velocity
gave rc drones a grenade inventory and the ability to drop grenades out of it
made it juiicier
- better controls, hip movement with bouncing, threw some mats on, added some suspension sounds with the bouncing
initial pogostick setup, hold shift to pogo and pid-controlled leaning to change the direction
manifest gen
setup constractble entity for handcar, letting you deploy it onto rail and then construct it in-place like siege weapons
made handcar deployable, with a new socketmed_rail that requires it to be within a defined radius of a rail and aligns it to the spline
fixed mount preview players not drawing legs in most cases
- re-assigend renderers to LODGroup in skin_legs.male.prefab, shouldn't affect anything else because we manage it separately from that anyway
- also added toggle for mount position/eyeposition handles on vehicles
better control of max speed of handcar (previously could reach the general max train speed), pumping speed is driven from both player input and track speed, better ik placement
turned wind off on HandcarFunc mat
wheels actually spin
- includes quick tool to create a parent for sibling transforms positioned at the centre of their render bounds
setup pumping on the handcar
- consumes metabolism over time, similair to bicycle
- also switch seats to use the horse pose because it's funnier
basic pumping and setting correct ikset for each mount point
handcar seat setup with some hand ik targets
manifest
small vehicle editor fix to not spam assert errors when no mount points are set
setup basic handcar prefab, able to move on track by just setting a force override convar at the moment
manifest gen + codegen