userMaverickcancel

2,188 Commits over 822 Days - 0.11cph!

58 Days Ago
Merge from main
58 Days Ago
Fix navmesh not being present in some rooms behind doors even if scientists can open them (potentially missile sillo and ghostship), the room navmesh a disconnected island because the door was baked into the navmesh, blocking the doorwash, and we prune disconnected navmesh regions
58 Days Ago
Fix scientist2 corpse not being on the ragdoll layer and thus blocking movement and projectiles
59 Days Ago
Fix low res navmesh on ghost ships
59 Days Ago
▄▆▍▋▉ ▄▄█▊▍▅▋
59 Days Ago
Fix old ais fleeing when player jumps
59 Days Ago
▍▄▅▍▋ ▉▆█▅█ ▆▊ ▊▌▌ ▋▊▌▍▉▌ ▉▋▋ ▍▌▋▍▇
59 Days Ago
▌▌▇▄▍ ▄██▊▄▆▉
59 Days Ago
▇▉▊▌█ ▅▄▍▉▊▉▋ ▆▆▇ ▉▉▋▋▊▆ ▇▍▄█▊█▌▄▄ ▍▍ ▄▇▇ ▍▉▌
59 Days Ago
▋▊▉▅ ▅▉▊█ ▅▉▇█▅▊ ▆▋▇▍▊█ ▌▉█▍▅▋▌▍▅▊▌▆ ▌▆▇ ▌▄▌▄ ██▍▉▌▅▉ ▉▄▍▆ ▌▋▄▅ ▉▅ ▆▉▄█▊ ▊ ▆█▊ ▅▉▌▇ ▇▊ █▌▆ ▍▌▄▉▋ ▊▆▌▄▌▌▄▅▋▊ ▅▉▉ ▌▊▌▌▊▄▆ ▄▄▊▊▊ ▊▇ ▍▌▆▋ ▄▋▋█ ▆▋ ▊▇▊▊ ▄▌ ▅▅▋▅ ▊ ▆▇▅▅▄▆▋ ▊▉▅ ▇▆▉ ▅▆█▍▄▌▋ ▇█▄▅▇▇▊▄▅█
59 Days Ago
Fix Assets/Scripts depending on the test framework, which could potentially break builds that exclude tests
60 Days Ago
Fix navmesh generating in places in shouldn't, potential fix for "navmesh failed to be created", and optimization of NPC path following
60 Days Ago
Merge from main
60 Days Ago
Update libraries
60 Days Ago
Path following optimizations (around double perf), also a bunch of instrumentation and a benchmark setup: - only string pull the beginning of the path, we will string pull again eventually so not need to run the algo for the whole path (steering agents only) - only re-string pull the current path if we moved past a threshold or passed a path corner, not every frame (steering agents only) - when chasing a moving target, instead of recalculating a new path, try to extend the previous path a bit instead to save time - use unity transform SetPositionAndRotation instead of setting both independantly - fuse some native method calls, so that we only call one method and skip the interop cost for the other call - do not check corridor validity if no tile has changed since pathing
60 Days Ago
Fix prevent building volumes being baked into the navmesh instead of ignored
2 Months Ago
Add convar to toggle navmesh optis on and off
2 Months Ago
Replace libraries
2 Months Ago
Merge from main
2 Months Ago
▌▄▅▇▆▌▆ ▋▍▄█▍▍▉▉▍▆ ▅▆▌▊▍▌▍▊▉ ▋▊▄ ▌▌▌▋█ ▉▄▅ ▇▉▄▄▋█ ▉▍▄██▍▄█ ▍▆▅▄▌▅ ▅▊ ▋▅▉ ▊▅▆▊ ▆█▄█▌▌▉ ▅▋▍▉▇▄▊▄ ▆▋▄ ▇▍▉ ▊▇▊▌▍▊ ▌▍ █▄▇▇▇▌ ▍██ ▅▊▇▅ ▇▅▇▌▅ ▄▋▌ ▋▊▌▆▄
2 Months Ago
Gate per tile interlocked add needed for logging when logging is off
2 Months Ago
Fix ghostship A having no navmesh
2 Months Ago
Remove unused param in bake stats
2 Months Ago
Remove some spammy and uninformative logs
2 Months Ago
Adds lots of instrumentation, and increase navmesh build speed by around 30%, implemented common optimizations I've seen before or discussed with Lorenz: - when rasterizing triangles, reuse values between neighbors instead of re-clipping the triangle against every column (7%) - heightfield is supposed to have faster insertion than compact heightfield thanks to linked list, but because it wastes so much time pointer chasing during iteration it's actually slower, also instertion is not that bad when the column fits in cache (4%) - fuse some span filtering operation to iterate once instead of 3 times on the spans (only 1% for rust maps sadly...) + the pooling from sbox doesn't really benefit us As well as some new findings found from profiling: - during heigthfield stage when comparing span A to span B for walkability tests, don't do everything from scratch when comparing B to A (9% whole map, but monuments and bases specifically x4 speed with this) - watershed iterates through the whole list of regions multiple times, faster with lookup (7%) Can get another 10% if we halve the detail mesh precision, automatically sampled lots of tiles for vertical differences to test and the difference is negligible The real bigger order of magnitude gain is to not limit the number of threads and not time slice geometry collection, it stalls the server but goes 6x faster, could do it at server boot and just throttle the subsequent dynamic navmesh updates (player building bases, nodes etc).
2 Months Ago
Fix heavy scientists not moving after being dropped by the heli on some seeds (small oilrig only?), the AI zone was too small to encompass the drop points so they couldn't find them
2 Months Ago
Another attempt at fixing old AIs not catching up to player
2 Months Ago
Potential fix for oil rig scientists hitbox issues, seemed to happen mostly on stairs with arrows because of too strict anti hack padding
2 Months Ago
- Fix crocodile dying by themselves on some seeds, was caused by them by spawn more than 20m from rivers - Crocs spawning will now be constrained to river, but if they can't find one they won't break - Better logging when animals despawn because they can't find a valid move destination
2 Months Ago
9x improvement on the triangle culling for heightfield bounds by making it native
2 Months Ago
Fix SpanHeightError
2 Months Ago
Various small fixes and cleanup: - Root the native log callback delegate in a static field (GC could collect it and crash the next DLL log) - RebuildTilesInBounds no longer skips the default navmesh when independent navmeshes overlap the bounds (stale tiles at island/monument seams) - IsNavMeshBuilt answers from the agent's bound navmesh with a lazy rebind instead of a fresh resolve that could disagree with every query - Restore rustnav.debugpath / debugraycast / debugsample, ported to the NavVector3 API with proper independent navmesh space transforms and a not-built guard - Delete dead code: GeometryUtils, NavmeshHelpers, TileExtractor (CreateBoxMesh moved into BackgroundTileBuilder), unused RecastWrapper P/Invokes pointing at removed exports, disabled MAX_BUILD_QUEUE throttle, GetOrigin, IsSprintingOnClient - Skip MeshColliders with no sharedMesh during tile collection, bounds-check FailTile/AddTile coords - TryOpenDoors reports whether a door actually opened (TryOpenDoorFor void -> bool) - Null-guard RustNavigation.Instance on scene teardown, clear the stale Instance in OnDestroy
2 Months Ago
Limit nav drawing network use with kb instead of per tile, show grid again in editor, move label for tile coords to tile height
2 Months Ago
Fix scientist path success check being wrong (or instead of and)
2 Months Ago
Fix using nav samples radius always being halved because detour uses half extent
2 Months Ago
When sampling multiple potential destination around an agent, instead of snapping random points to the navmesh, floodfill around the agent and only sample on the reachable polygons - fix 7x spike of 2.64ms on oilrig, when all points land in unreachable navmesh islands, and we waste time trying to path to them and hitting our node exploration cap every time
2 Months Ago
Fix: - old scientists not moving at multiple locations - animal stuck in charge stack around jungle trees - ais getting stuck - move without polyref log spam - scientist crouchwalk weird angle on stairs - slower old ais
2 Months Ago
Merge from main
2 Months Ago
Commit libraries
2 Months Ago
Fix non-deterministic tests that only failed sometimes, remove extra long tests
2 Months Ago
Merge from main
2 Months Ago
Faster navmesh save and load, smaller save file sizes
2 Months Ago
Fix rustnav.setnumthreads bugs
2 Months Ago
Fix IsPaused collection-modified exception in RustNavMeshAgent
2 Months Ago
Fix agents getting stuck when walking exactly along a navmesh edge, dedpulicate state between currentpPolyRef and dtCorridor own polyref
2 Months Ago
Build libs for all platforms
2 Months Ago
Fix compile errors from the merge
2 Months Ago
Merge navpos
2 Months Ago
Fix tiger charging forever at the bottom of vine trees
2 Months Ago
Use dtCorridor for path following, fix some cases where agents get wedged in a navmesh corner while steering