636 Commits over 153 Days - 0.17cph!
Fix wolf not circling, add flee behaviour
Fix wolf overshooting destination, adapt roaming speed to how far is destination
Start work on wolf roam state
Fix wolf getting stuck in some situations
Prevent wolves being too synchronized by adding a random delay
Fix wolf sliding during some montages
Integrate spine animator and look animator
Fix wolves going very fast
Modify AI debug code to not require the removal IClientComponent or IServerComponent
Add a custom version of the require component attribute that works with our IClient and IServerComponents
Add initshared and destroyshared to entityComponent
Use prefab attribute to avoid duplicating the anim list for every wolf
Allow wolves to reprioritize their target when fighting a group
Fix compile errors in server/client modes
Allow visualization of AI senses on the client via RPCs, fix wolves attacking dead players
Start setting up wolf senses
Stagger wolf when damaged a lot, instead of on every head shot
Add wolf bark before coordinated attack, add proper death state
Make fsms easier to edit by exposing them on the prefab
Reparent root motion SOs to baseScriptableObject to avoid duplicating them in bundles, remove unused animatorStateName
Allow fsm transitions to pass parameters to the destination state, use it to select different animations to play on wolf when hurt
Wrap animator into a playable, to allow playing one-shot animations without having to edit the animator every time
Allow lightweights entity components to handle RPCs
Create lightweight components that don't have the overhead of unity components
Submit navmesh display line material
Use submeshes instead of 2 separate meshes for nav triangles and nav lines
Replace calls to DDraw.Line with Graphicss.RenderMesh of a MeshTopology.Lines mesh, greatly reducing GC pressure
Reduce navmesh draw allocs again
Further optimize navmesh drawing
Optimize navmesh debug view
Complete client navmesh drawing
Make it possible for admins to see the navmesh
Add command to draw navmesh in game
Generate tiles in chunks to avoid potentialyl running out of memory on massive maps
Fix navmesh not generating properly with mesh colliders
Use more appropriate collision masks for navmesh geo gathering
Cache mesh colliders, replace lists with fpnativelists to avoid an additional copy when marshalling
Multithread filtering triangles out of tile bounds, and transforming the triangles from mesh space to world space
Fix fuel tank mesh collider not being readable
Remove some more allocations and add more profiling
Multi-thread navmesh building, making the recast side computations almost negligible
Separate navigation building steps so it's easier to multi-thread
Add option to build navmesh asynchronously, add more profile markers
Speed up navmesh generation by using arraypool instead of a massive buffer
Fix memory leak and add more profiler coverage