Commit Graph

14 Commits (64fb700ae91ec98ee39a47dca4ecf3d9235190a3)

Author SHA1 Message Date
Bret Curtis 62b0781f7d use std::optional instead of boost::optional 4 years ago
elsid df6e85b619
Use callback to handle changed tiles
Instead of collecting changed tiles into a temporary vector.
5 years ago
elsid 7ae7cb181d
Support recast mesh rendering 5 years ago
elsid 849f2078c1
Swap outside critical section 6 years ago
elsid 73734fc04d
Fix update navmesh for not changed objects
When update method is called for not changed object befor this change
all object tiles were considered as not object tiles and were removed.
Also this marked those tiles as changed. This lead to alternation
between remove and add each tile update method was called. Problem was
detected by using Animated Containers mod.
6 years ago
elsid da6df818ff
Fix update navmesh
Every updated object should produce a set of changed tiles where it is
placed. Before this change only current object tiles were updated. If
object was moved to another set of tiles then navmesh were not changed
in new tiles.

TileCachedRecastMeshManager::updateObject should add all new tiles if object
was moved and remove all no more used tiles. Both new and old tiles should be
marked as changed.

Also add tests to show desired result for add, update, remove.
6 years ago
elsid ae7285e960
Use ScopeGuarded instead of raw mutex 6 years ago
elsid 1a27489904
Add special type for object id 6 years ago
elsid c95cea414c
Support water for NavMesh 6 years ago
elsid 72f211ef28
Add enums for area type and flags 6 years ago
elsid fa23b590a4
Add unwalkable areas to NavMesh 6 years ago
elsid 144e1a063b
Support animated objects 6 years ago
elsid 4aba0fa85f
Limit number of NavMesh tiles to add by distance from player tile 6 years ago
elsid d2fd9abd51
Split RecastMesh into tiles 6 years ago