1,716 Commits over 730 Days - 0.10cph!
Speed up new navmesh gen by x1.6
- optimize height and alpha terrain sampling to avoid redundant bounds check / deep sea / wrapping / dispatches, have terrain meshing work inplace on the buffers instead of using pooled vertex and index pooled lists
- avoid using rust native list, it's not really pooled it just reallocates the internal native array everytime it's unpooled, use custom one (may be overkill, will check later if native array is good enough), bypass pooling these by using [ThreadStatic] buffers
- replace cancellation tokens with lightweight tileCancellation classes just wrrapping volatile bool, we just need the object reference to act as a build version to avoid locks and stale results, tokens are massive if allocated per tile and add complexity, and a lot of features go unused
Do monument/player build collision check required for hires navmesh, as part as normal geometry collection not another pass
Fix rustnav spam " Trying to use new navmesh despite -useNewNavmesh not being set on server boot."
Fix log spam " Trying to use new navmesh despite -useNewNavmesh not being set on server boot."
Fix new navmesh taking long time to build (regression where it use monument high resolution navmesh on whole map, instead of using low resolution properly)
Fix navmesh building using hiRes (monument) resolution for whole world, regression introduced in
145214
Optimize "isBuilt" navmesh checks, log time it took to build navmesh async
Fix old AIs not fleeing when player is unreachable
Fix old AIs not fleeing when the player is unreachable
Fix scientists not moving or spawning in multiple locations when new navmesh is enabled, also fix old AIs moving slower
Fix old AIs being slower when new navmesh is enabled
Fix scientists not spawning in some areas
Fix waiting for navmesh check on island being inverted (only trying to spawn scientists when no navmesh is there)
Prevent ghostships from checking mainland navmesh
Fix scientists not spawning in deep sea
Fix double navmesh on tropical island 1
Fix oilrigs and tutorial islands navmesh not working with new system
Fix code files affected by the asset subtract
Subtract changes to scenes and prefab, as it caused an error in deep sea creation
Attempt at also converting DungeonNavmesh, may need more work as it relies on massive bounds and passes the root objects to make the cost not balloon
Make "IsBuilding" property behave correctly for MonumentNavmesh wrapping a new navmesh, allowing spawners to delay activating until the navmesh finishes building
Remove independant navmesh component from oilrigs, tutorial island, and tropical islands.
The old monument navmesh component will dynamically switch to building disconnected new navmesh when off the mainland.
Fix incorrect spawn navmesh sampling on tropical islands when using new navmesh
Fix Scientist2 not spawning on deep sea islands
Fix deep sea islands having no navmesh if ai.move is false when deep sea opens
Fix big alloc during nav save/load
Reduce allocations in navmesh save/load
Only validate on load, no need to validate repeatedly
Fix bear and chicken not working on tutorial island
Add navmesh to tutorial island
Merge from new_navmesh_fixes, adds low level logs to help debug crash
Add -checkTileValid starter param that slows down everything, but can help us narrow down the crash
Potential fix for nav error logged during root motion
Merge from new_navmesh_fixes, fix wrong marshalling of bool from C++ to csharp, potentially causing navmesh methods to return true instead of false when they fail, fix agent re-warping to the navmesh in worldspace instead of navmesh space after being re-enabled
Make sure C++ returned bool are marshalled correctly to csharp (1 byte to 4byte int), could cause very hard to track issues
Make sure path is reset / agent position is reprojected even when we are removing a null entry from the pausingSources, fix the warp not working when on a moving navmesh
Merge from new_navmesh_fixes, fix scientists chasing into water, and wolf / tiger logging errors after leaping
FIx brief skidding after tiger or wolf finishes leaping back to the navmesh
Fix wolves and tigers enabling old navmeshAgent in new navmesh mode when leaping
Fix old navmesh agent being enabled even when using new navmesh
Fix scientist chasing into water