1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-01-16 16:59:56 +00:00
Commit graph

436 commits

Author SHA1 Message Date
elsid
45d62ee59f
Limit RecastMeshManager range by active cell grid 2024-05-19 20:07:47 +02:00
elsid
49db37ee29
Merge setWorldspace and updateBounds 2024-05-19 20:07:47 +02:00
elsid
9854d42d56
Use ESM::RefId for worldspace type 2024-05-19 20:07:47 +02:00
elsid
5d28164416
Remove recast mesh tiles outside active range 2024-05-19 20:07:47 +02:00
elsid
9e2f3fd0b4
Report stats for TileCachedRecastMeshManager 2024-05-19 20:03:34 +02:00
elsid
50f4471750
Use R-tree for dynamic priority of navmesh async job 2024-04-13 19:51:16 +02:00
elsid
17bd571a65
Do not repost failed jobs
Failures should not happen except for some weird corner cases. Retrying is
unlikely to help in such situation.
2024-04-13 19:51:16 +02:00
elsid
d6f3d34f2f
Remove tiles present on navmesh but outside desired area 2024-04-13 19:51:16 +02:00
elsid
61c69c5563
Use proper prefix for CollisionShapeType 2024-04-13 19:51:16 +02:00
elsid
a1438f65fe
Set proper max tiles on initializing navmesh settings 2024-04-13 19:48:58 +02:00
psi29a
af9f1b54da Merge branch 'lost-warnings' into 'master'
Fixes for a whole bunch of warnings

See merge request OpenMW/openmw!3950
2024-03-21 07:45:21 +00:00
elsid
ee2cc8aeb7
Fix build with MSVC 19.38
components\detournavigator\navigator.hpp(44): error C3861: 'assert': identifier not found
2024-03-16 13:09:16 +01:00
Andrei Kortunov
6da151cf77 Fix GCC build 2024-03-15 20:12:47 +04:00
psi29a
090e57b27c Merge branch 'esm3structs' into 'master'
Replace fixed size writeHNT calls with decomposition

See merge request OpenMW/openmw!3914
2024-03-15 11:02:42 +00:00
AnyOldName3
28131fd62b Fixes for a whole bunch of warnings
These warnings were always enabled, but we didn't see them due to https://gitlab.com/OpenMW/openmw/-/issues/7882.
I do not fully understand the cause of 7822 as I can't repro it in a minimal CMake project.

Some of these fixes are thought through.
Some are sensible best guesses.
Some are kind of a stab in the dark as I don't know whether there was a
possible bug the warning was telling me about that I've done nothing to
help by introducing a static_cast.

Nearly all of these warnings were about some kind of narrowing
conversion, so I'm not sure why they weren't firing with GCC and Clang,
which have -Wall -Wextra -pedantic set, which should imply -Wnarrowing,
and they can't have been affected by 7882.

There were also some warnings being triggered from Boost code.
The vast majority of library headers that do questionable things weren't
firing warnings off, but for some reason, /external:I wasn't putting
these Boost headers into external mode.

We need these warnings dealt with one way or another so we can switch
the default Windows CI from MSBuild (which doesn't do ccache) to Ninja
(which does).
I have the necessary magic for that on a branch, but the branch won't
build because of these warnings.
2024-03-14 23:39:33 +00:00
elsid
5859fd464c
Add option to disable precompiled headers
To be able to use ccache.

Also fix compilation errors appeared due to absence of precompiled
headers.
2024-03-08 02:11:51 +01:00
Evil Eye
cef59e8928 Replace fixed size writeHNT calls with decomposition 2024-03-03 19:39:19 +01:00
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