Commit Graph

32 Commits (e9f6c11cc9c5696319200a04392873cbac1800e4)

Author SHA1 Message Date
elsid 4624f31788
Report navigator stats 6 years ago
Bret Curtis cb1a5f3679
Merge pull request #2245 from elsid/navigator_refactor
Refactor navigator related code
6 years ago
elsid ece111d05a
Check for jobs using predicate 6 years ago
elsid 614d5243c3
Make NavMeshCacheItem consistent
Move all logic related to this type into its methods.
6 years ago
elsid f6a1d3cecf
Store weak pointers to navmesh in jobs queue
To avoid useless processing for removed navmeshes.
6 years ago
elsid ccc709a316
Store guarded navmesh cache item in shared_ptr
Remove useless SharedGuarded type.
6 years ago
elsid ff47df4f2c
Repost navmesh update jobs when failed because of out of memory
DT_OUT_OF_MEMORY error is returned when limit of tiles is reached.
6 years ago
elsid 82e2739bae
Notify workers when only at least one job is posted 6 years ago
elsid b9b8ed177c
Store priority values as named fields 6 years ago
elsid 0c16fef285
Add navmesh update status builder 6 years ago
Andrei Kortunov 3032b177a1 Remove redundant includes 6 years ago
elsid dc2eb2e16b
Do not write to global log async navmesh updater exceptions 6 years ago
elsid e57504ae7c
Lower log level 6 years ago
elsid ed73d130f9
Cache navmesh tiles
Use LRU modification to hold currently used items. Use RecastMesh binary
data for item key.

Store original pointer of btCollisionShape in user pointer to make available
it as an identifier within all duplicates. Use pointer to heights data array
for btHeightfieldTerrainShape.
6 years ago
elsid ae7285e960
Use ScopeGuarded instead of raw mutex 6 years ago
elsid 7c80bb9411
Support multiple threads for async nav mesh updater 6 years ago
elsid 346e9e3141
Add off mesh connections for doors without teleport 6 years ago
elsid c771986c56
Prioritise NavMesh jobs first to remove and last to add
When player move fast enough, tiles update for specific area square
couldn't catch player move. Tiles to be removed are left in the queue
with lower priority then tiles to be added which are nearest to player.
This can lead to overflow for amount of tiles. So we try to do remove
first. But we detect change type approximately using mixed change type,
because even if we do it precise, change type could change while job
is in queue.
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
elsid dbb1d99bff
Add NavMeshItem generation to fix update NavMesh for render 6 years ago
elsid f268ec5d34
Measure total time for NavMesh build from first pop 6 years ago
elsid c26773bd29
Log update NavMesh status 6 years ago
elsid dd5f4498f6
Increment NavMesh revision on remove or add tile 6 years ago
elsid 70a369f70e
Add command to enable NavMesh render
togglenavmesh or tnm
6 years ago
elsid 1caa18bb4f
Use one recast mesh for all jobs 6 years ago
elsid 373adc6ec4
Option to enable/disable file names revisions 6 years ago
elsid d1d034a1ec
Update NavMesh one by one tile in order from nearest to player 6 years ago
elsid 41caca24ee
Options to enable/disable write recast mesh and nav mesh into file 6 years ago
elsid 430ba9d7a5
Build NavMesh tile data only for changed tiles 6 years ago
elsid fafba8ea0c
Use recastnavigation to find path 6 years ago