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.
2019-03-08 17:39:04 +03:00
elsid
82e2739bae
Notify workers when only at least one job is posted
2019-03-08 15:27:16 +03:00
elsid
b9b8ed177c
Store priority values as named fields
2019-03-08 15:23:36 +03:00
elsid
0c16fef285
Add navmesh update status builder
2019-03-08 15:07:07 +03:00
Andrei Kortunov
3032b177a1
Remove redundant includes
2019-02-23 08:02:12 +04:00
elsid
dc2eb2e16b
Do not write to global log async navmesh updater exceptions
2018-10-15 22:47:07 +03:00
elsid
e57504ae7c
Lower log level
2018-10-13 22:22:15 +03:00
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.
2018-10-13 22:22:12 +03:00
elsid
ae7285e960
Use ScopeGuarded instead of raw mutex
2018-10-13 22:16:35 +03:00
elsid
7c80bb9411
Support multiple threads for async nav mesh updater
2018-10-13 22:16:34 +03:00
elsid
346e9e3141
Add off mesh connections for doors without teleport
2018-10-13 22:16:33 +03:00
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.
2018-10-13 22:16:31 +03:00
elsid
144e1a063b
Support animated objects
2018-10-13 22:16:30 +03:00
elsid
4aba0fa85f
Limit number of NavMesh tiles to add by distance from player tile
2018-10-13 22:16:30 +03:00
elsid
d2fd9abd51
Split RecastMesh into tiles
2018-10-13 22:16:30 +03:00
elsid
dbb1d99bff
Add NavMeshItem generation to fix update NavMesh for render
2018-10-13 22:16:30 +03:00
elsid
f268ec5d34
Measure total time for NavMesh build from first pop
2018-10-13 22:16:29 +03:00
elsid
c26773bd29
Log update NavMesh status
2018-10-13 22:16:29 +03:00
elsid
dd5f4498f6
Increment NavMesh revision on remove or add tile
2018-10-13 22:16:29 +03:00
elsid
70a369f70e
Add command to enable NavMesh render
...
togglenavmesh or tnm
2018-10-13 22:16:28 +03:00
elsid
1caa18bb4f
Use one recast mesh for all jobs
2018-10-13 22:16:27 +03:00
elsid
373adc6ec4
Option to enable/disable file names revisions
2018-10-13 22:16:27 +03:00
elsid
d1d034a1ec
Update NavMesh one by one tile in order from nearest to player
2018-10-13 22:16:26 +03:00
elsid
41caca24ee
Options to enable/disable write recast mesh and nav mesh into file
2018-10-13 22:16:26 +03:00
elsid
430ba9d7a5
Build NavMesh tile data only for changed tiles
2018-10-13 22:16:25 +03:00
elsid
fafba8ea0c
Use recastnavigation to find path
2018-10-13 22:16:25 +03:00