elsid
69b5834c64
Add doc for Navigator
2018-10-13 22:16:35 +03:00
elsid
ae7285e960
Use ScopeGuarded instead of raw mutex
2018-10-13 22:16:35 +03:00
elsid
cf4066751c
Add classes to encapsulate value guarded by mutex
2018-10-13 22:16:35 +03:00
elsid
1a27489904
Add special type for object id
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
ff478aba6d
Use actor half extent for interior cells
2018-10-13 22:16:33 +03:00
elsid
346e9e3141
Add off mesh connections for doors without teleport
2018-10-13 22:16:33 +03:00
elsid
d02beae5a8
Find path for actors according to their abilities to swim and walk
2018-10-13 22:16:33 +03:00
elsid
dc09674362
Add command and settings option to enable actors paths render
2018-10-13 22:16:32 +03:00
elsid
c95cea414c
Support water for NavMesh
2018-10-13 22:16:32 +03:00
elsid
72f211ef28
Add enums for area type and flags
2018-10-13 22:16:32 +03:00
elsid
fa23b590a4
Add unwalkable areas to NavMesh
2018-10-13 22:16:32 +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
b33a291a67
Log thread id
2018-10-13 22:16:31 +03:00
elsid
f6a60790f8
Create collision shape for all avoided nodes
2018-10-13 22:16:31 +03:00
elsid
e24d4d7052
Explicitly use RC_NULL_AREA constant to mark unwalkable areas
2018-10-13 22:16:31 +03:00
elsid
330e596c64
Remove useless parameter
2018-10-13 22:16:31 +03:00
elsid
c3298d13a6
Add log sinks (stdout and file)
2018-10-13 22:16:31 +03:00
elsid
84949bedb1
Remove and add tile in single critical section
2018-10-13 22:16:30 +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
937e8e1803
Allow to create empty RecastMesh
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
ed3a255f65
Do not use NavMesh to find changed tiles
2018-10-13 22:16:28 +03:00
elsid
d1e71f9322
Support btBoxShape for RecastMesh
2018-10-13 22:16:28 +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
794cfc4aa3
Write detournavigator log to file
2018-10-13 22:16:27 +03:00
elsid
dd5e6a61a3
Support btCompoundShape for RecastMesh
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
f8909218ee
Store recast mesh bounds
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
6d233ae868
Option in settings to enable/disable detour navigator debug log
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
elsid
4f2bfa1e9d
Add operators for osg types
2018-10-13 22:16:25 +03:00
elsid
c01be7b07f
Add operators for bullet types
2018-10-13 22:16:25 +03:00
jvoisin
ca8744af56
Fix crash in the ESM reader, when SCVR has no variable names
...
Fixes bug [#4678 ](https://gitlab.com/OpenMW/openmw/issues/4678 )
The `loadSCVR` method assumes that the list of variable
names won't be empty, which it might.
Instead of crashing, we show a warning and ignore the record.
2018-10-12 11:28:14 +02:00
Andrei Kortunov
f9271fd7f0
Fix crash in the ESM reader, when list is empty (bug #4677 )
2018-10-12 10:38:32 +04:00
AnyOldName3
0124be5713
Merge upstream/master
2018-10-10 21:23:19 +01:00
Andrei Kortunov
e06f0b797a
Replace all NULLs to nullptr
2018-10-09 10:21:12 +04:00
cc9cii
6ec6b9bc2a
OpenMW Integration.
...
Read the ESM/ESP records but do nothing with them for the moment.
2018-10-07 08:55:30 +11:00
cc9cii
15d5cdf3cf
Allow TES4 ESM/ESP to co-exist with TES3 ESM/ESP.
...
This change aims to allow TES4/TE5 content to OpenMW. i.e. a standalone TES4 would be implemented quite differently. That said, the key changes are:
* Use pointers rather than references for ESM readers so that they can be switched to another variant on the fly.
* Content file dependencies to be checked within each group (only 3 groups for now, TES3/TES4/TES5)
2018-10-06 20:38:53 +10:00
cc9cii
3982573035
BSA enhancements.
...
* Implement hash based lookup for TES3 BSA files.
* Added TES4/TES5 BSA support.
* Implemented a hack (non-portable code) in an attempt to reduce startup time under Windows because Boost::filesystem seems to take forever on GetFileAttributeW. This implementation uses FindFirstFile/FindNextFile/FindClose instead.
2018-10-06 13:35:51 +10:00
cc9cii
4cd4cf8479
Resolved conflicts and build fixes.
2018-10-05 21:54:29 +10:00