elsid
a7da604332
Update next tile_id when there is a duplicate in navmeshdb
...
Disable writes on failure to update next tile_id to avoid further errors.
2024-02-07 11:28:34 +01:00
elsid
e6196c782d
Limit navmesh vertices coordinates values
...
Float values with more than 22 significant fraction bits may cause out of bounds
access in recastnavigation on triangles rasterization. Prevent passing such
values there.
2024-02-03 18:48:42 +01:00
Andrei Kortunov
87c9f395f1
Move local variables in components
2024-01-19 16:01:48 +04:00
psi29a
c84386aa4b
Merge branch 'fix_navigator_update' into 'master'
...
Fix navmesh update on player changing tile
See merge request OpenMW/openmw!3756
2024-01-19 08:30:22 +00:00
Andrei Kortunov
0e1bb45345
Cleanup navmesh updater
2024-01-10 15:28:26 +04:00
elsid
69cf507db8
Fix navmesh update on player changing tile
...
In cases when objects are not present on the scene (e.g. generated exterior
cells) navmesh is not updated because area that suppose to be covered with it
was not updated. It was updated only during cell change. This is a regression
from d15e1dca84
.
Set TileCachedRecastMeshManager range on NavMeshManager update to make sure it
always covers correct area around player.
Return a union of objects, heightfields and water ranges from
getLimitedObjectsRange intersected with range provided above.
2024-01-09 01:18:45 +01:00
elsid
b0b6c48a88
Add clarifying comments to detournavigator coordinates conversion functions
2024-01-07 17:57:53 +01:00
elsid
afd6f0739c
Format box shape indices grouping by triangle
2024-01-07 17:57:53 +01:00
elsid
329500b087
Remove redundant return
2023-12-24 00:24:32 +01:00
elsid
0cf55d3617
Use RecastGlobalAllocator for Detour
2023-12-24 00:24:27 +01:00
jvoisin
08538dd137
Merge branch 'rm_unused_variable' into 'master'
...
Remove unused variable
See merge request OpenMW/openmw!3607
2023-11-22 19:46:38 +00:00
elsid
81fa7836fe
Remove unused variable
2023-11-20 00:36:53 +01:00
elsid
94b085af9e
Add Navigator and Lua API function to find nearest position on navmesh
2023-11-18 23:54:37 +01:00
elsid
40688c0e7c
Rename findPath to findPolygonPath to avoid name collision with other findPath
2023-11-18 22:37:58 +01:00
elsid
b17afc4641
Use concepts for some argument types
2023-11-16 22:22:46 +01:00
elsid
5abbc56bf2
Use proper cell size for ESM4 cells in CoordinateConverter
2023-08-13 02:24:22 +02:00
psi29a
4aaffa72e5
Merge branch 'more_coverity_fixes' into 'master'
...
More coverity fixes
See merge request OpenMW/openmw!3304
2023-08-03 07:15:34 +00:00
Andrei Kortunov
fe10799bfe
Add an assert for possible null pointer dereference
2023-07-31 17:53:58 +04:00
Andrei Kortunov
34ba2068b7
Remove dead code
2023-07-31 16:35:31 +04:00
elsid
798f3cc385
Support ESM4 record FullName, CellFlags, X, Y fields by esmtool
2023-07-30 18:20:10 +02:00
elsid
e00eb50587
Remove stepping from findSmoothPath
...
This is not used anyway. There are features like smooth movement which remove
all redundant points.
Use single findStraightPath call instead of multiple.
2023-07-22 18:08:40 +02:00
elsid
767a14587c
Add more debug logging on navmesh generation
2023-07-22 18:08:36 +02:00
elsid
9817f4ca9a
Find closest position on navmesh to start and end before poly path
...
Start and end might not be located on navmesh and findPath may give wrong
results.
2023-07-22 17:24:51 +02:00
elsid
3dfea1dc1b
Make OutputTransformIterator more generic
2023-07-22 17:24:51 +02:00
elsid
de3a6ca6e6
Use std::span for findPath pathBuffer
2023-07-22 17:24:51 +02:00
elsid
c334176d73
Use std::span for makeSmoothPath polygonPath
2023-07-22 17:24:51 +02:00
elsid
548c38f54d
Remove unused code
2023-07-22 17:24:50 +02:00
elsid
350027c588
Remove redundant NavMesh argument from findSmoothPath
2023-07-22 17:24:50 +02:00
elsid
fcea153947
Transform path coordinates outside findSmoothPath
2023-07-22 17:24:50 +02:00
elsid
9bff292a29
Log path to navmesh.db
2023-07-21 23:54:49 +02:00
elsid
180dd7dc64
Log worldspace in RecastContext
2023-06-10 13:23:47 +02:00
elsid
f9e9368fda
Add operator<< for DetourSettings
2023-06-10 13:14:52 +02:00
elsid
dd08154b23
Add operator<< for DetourNavigator::AreaCosts
2023-06-10 13:14:52 +02:00
elsid
ce5fbd6b68
Write separator between Detour status flags
2023-06-10 13:14:52 +02:00
elsid
a90aa7d8b2
Count navmeshdb reads for each reading job
2023-05-17 10:08:34 +02:00
elsid
5ae8b9cae1
Report raw navmesh cache counters
2023-05-17 10:08:33 +02:00
elsid
04d439485b
Log more info about navmesh shapes and jobs
2023-05-14 18:34:31 +02:00
elsid
7a7c20d49e
Define single UpdateGuard type in a separate file
2023-04-22 13:22:07 +02:00
elsid
472a36d92a
Cleanup detournavigator includes
2023-04-22 13:21:59 +02:00
elsid
3e99deb0e8
Use typed settings storage for detournavigator
2023-03-28 20:47:34 +02:00
elsid
28f7a89530
Reuse dtNavMeshQuery
...
To avoid redundant allocations.
2023-02-17 15:05:25 +01:00
elsid
996153f78d
Convert RefId to class
2023-02-15 23:20:44 +01:00
florent.teppe
63e44eddc9
Navigator doesn't use RefId anymore
2023-01-21 18:39:57 +01:00
florent.teppe
150e2ba885
Revert "Use ESM::RefId for worldspace in detournavigator"
...
This reverts commit b4ab153418
.
# Conflicts:
# apps/navmeshtool/worldspacedata.cpp
2023-01-21 18:39:57 +01:00
elsid
cf1d8544e3
Check agent bounds on adding agent to navigator
...
Do not add agent bounds which are not supported by recastnavigation with given
settings and log such events.
To avoid reaching navmesh tile generation to find out it can't be generated for
such agent bounds.
2023-01-18 12:00:48 +01:00
elsid
44429f0393
Limit NavMeshManager update range by player tile and max tiles
...
Object AABB may be much larger than area currently covered by navmesh. In this
case all tiles beyond covered range should be ignored. Attempt to iterate over
them will not result in any new tile updates but can take quite a while. At
maximum this can be pow(INT_MAX - INT_MIN, 2) iterations.
Use arbitrary time limit to check for update call to finish in the test.
2023-01-15 04:46:29 +01:00
Petr Mikheev
8c7d347179
Reorganize l10n files
2023-01-02 13:21:05 +01:00
elsid
c71862a8df
Reset rcPolyMeshDetail members after rcFree
...
To avoid double free causing by later recastnavigation versions.
2022-12-30 19:26:48 +01:00
elsid
b4ab153418
Use ESM::RefId for worldspace in detournavigator
2022-12-29 23:49:49 +01:00
florent.teppe
1ef1de974d
script blacklist => RefId
...
Applies changes from review
Fixed clang format
Clang format + review.
2022-12-27 19:16:21 +01:00