1
0
Fork 1
mirror of https://github.com/TES3MP/openmw-tes3mp.git synced 2025-01-15 20:49:56 +00:00
Commit graph

145 commits

Author SHA1 Message Date
psi29a
ad703d7470 Merge branch 'fix_pathgrid_path' into 'master'
Use pathgrid path when destination is closer to different graph component node

See merge request OpenMW/openmw!1155

(cherry picked from commit 4bf22f3ca0e5e5776c09cb8d5ad9793986373975)

9112c65a Use pathgrid path when destination is closer to different graph component node
2021-09-08 09:56:37 +00:00
psi29a
bb393cb91c Merge branch 'fix_new_game_guard_3' into 'master'
Fix new game guard 3 (#6126)

Closes #6126

See merge request OpenMW/openmw!976

(cherry picked from commit 89ca56632c6bc37f07e430e7f5cd23d855610b19)

a3942a1e Remove redundant check for y coordinate in inRange function
cc08a45c Move include where it is needed
7e1630a7 Remove redundant getPolyHeight wrapper
793c30ab Check dtNavMeshQuery::getPolyHeight status
a54c4bc2 Check dtNavMeshQuery::findStraightPath status
94e460ba Use proper check for distance
5624fe19 Consider path not found when there is navmesh query error
2021-07-01 09:06:54 +00:00
psi29a
05b5ada6bf Merge branch 'fix_smooth_movement' into 'master'
Validate almost straight shortcuts by navmesh raycast (#6102)

Closes #6102

See merge request OpenMW/openmw!947

(cherry picked from commit 9c3117d2d4a70475b021f4e4a50eec88cd7cf125)

e7d68d3d Validate almost straight shortcuts by navmesh raycast
2021-06-21 19:55:05 +00:00
jvoisin
be371ccd9f An another pass 2021-04-30 20:27:33 +02:00
elsid
39c0ce9ddf
Build limited path for far destinations
When distance between start and end point is greater than max radius of area
possibly covered by navmesh there is no way to find path via navmesh. Also if
distance is greater than cell size navmesh might not exists withing mentioned
area because cell is not loaded therefore navmesh is not generated. So minumum
of these values is used to limit max path distance. Assuming that path
actually exists it's possible to build path to the edge of a circle. When
actor reaches initial edge path is built further. However it will not be
optimal.
2021-03-23 23:23:12 +01:00
Petr Mikheev
9590377f22 Don't ignore Z in path finding if actor can move by Z. 2021-01-29 22:30:20 +01:00
Petr Mikheev
642ca02e35 Shorten almost straight paths only if smooth movement is enabled; reduce angle limit for the shortening. 2021-01-29 22:30:01 +01:00
elsid
a3ab8dfbb4 Revert "Merge branch 'movement_fix2' into 'master'"
This reverts merge request !496
2021-01-28 12:48:19 +00:00
Petr Mikheev
bc2cec86e9 Fix bug: NPCs doesn't move if the target is exactly above or exactly below. 2021-01-26 00:05:28 +01:00
Evil Eye
2a583e2337 consider empty paths as not constructed 2021-01-08 17:24:13 +01:00
Evil Eye
57c92673bc Consider a path completed if it was non-empty 2020-12-30 16:09:12 +01:00
Petr Mikheev
71ba94a89a Smooth turning; smooth stopping; combat headtracking 2020-09-22 22:50:44 +02:00
elsid
b095ca6c86
Use actor speed to define area cost for pathfinding 2020-06-13 02:24:52 +02:00
elsid
d863267d5c
Do not fallback to direct path without pathgrid
Assume this might happen only due buildPath call when navmesh can't
provide path.
2020-06-12 21:46:10 +02:00
elsid
c4cd3b2c4f
Add pathgrid to navmesh as off mesh connection 2020-06-12 21:04:02 +02:00
elsid
d86669843e
Remove unseud pointTolerance argument 2020-05-16 18:44:12 +02:00
elsid
349040ffb2
Use status codes to handle navigator errors instead of exceptions
For find path use case.
2020-02-04 22:33:56 +01:00
elsid
f7caeefddb
Fallback to straight path when navmesh and pathgrind are not available 2020-01-29 11:14:07 +01:00
elsid
e4d0af6a6d
Use z coordinate for path distance when diff by z is greater then actor height 2019-10-19 22:01:32 +02:00
elsid
81832f8e17
Reuse distance functions 2019-10-19 12:51:37 +02:00
elsid
6c46d929c2
Build path to first pathgrid node by navmesh 2019-08-03 16:10:55 +02:00
Andrei Kortunov
14b756a692 Use a generic logging system for RecastNavigation 2019-04-08 20:31:21 +04:00
elsid
a65f60e1f1
Build path only by navmesh for wandering near spawn 2019-03-21 23:15:47 +03:00
elsid
ff67a9e233
Build straight path for wandering flying and water creatures 2019-03-21 23:15:47 +03:00
elsid
ea80a81538
Drop path points while tolerance allows 2019-03-08 22:33:34 +03:00
elsid
b9f21ec81a
Use custom steps size to make smooth path depending on half extents 2019-03-08 22:33:34 +03:00
elsid
5405efd3b5
Do not build path by navigator for pure water and flying creatures
They don't need to move by surfaces and to open/close doors.
2019-03-05 22:45:05 +03:00
elsid
49d81241db Merge branch 'master' into pathfinder_detour 2018-10-28 17:08:09 +03:00
elsid
03d4ce5e49
Log find path exception with level verbose, add more info to message 2018-10-15 23:25:42 +03:00
Andrei Kortunov
ca07e3a364 Check for obstacle before back up (bug #4656) 2018-10-14 12:22:43 +04:00
elsid
e57504ae7c
Lower log level 2018-10-13 22:22:15 +03:00
elsid
bbd82a743a
Use different tolerance for path point and destination 2018-10-13 22:16:34 +03:00
elsid
661da42bd2
Build path by navigator 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
fafba8ea0c
Use recastnavigation to find path 2018-10-13 22:16:25 +03:00
elsid
4fe764c3a5
Update and check for complete Pathfinder path by different methods 2018-10-13 22:16:24 +03:00
elsid
b6dd2119a6
Make Pathfinder constructor inline 2018-10-13 22:16:24 +03:00
elsid
92f52287bf
Make PathFinder::ClearPath inline 2018-10-13 22:16:24 +03:00
elsid
3655f19373
Set PathFinder::mCell to nullptr when clear path 2018-10-13 22:16:23 +03:00
elsid
85bbf9d034
Clear path without check for empty 2018-10-13 22:16:23 +03:00
elsid
ca3d0594b3
Do not store pointer to Pathgrid in PathFinder 2018-10-13 22:16:23 +03:00
elsid
3565d92e11
Make PathFinder::getPathCell inline 2018-10-13 22:16:23 +03:00
elsid
6d89241178
Check is path completed by osg::Vec3f position 2018-10-13 22:16:21 +03:00
elsid
2c6daa74a9
Simplify PathFinder::checkPathCompleted 2018-10-13 22:16:21 +03:00
elsid
31340a212a
Fix functions name style 2018-10-13 22:16:21 +03:00
elsid
9b3756f8bc
Store path points in deque 2018-10-13 22:16:20 +03:00
elsid
4d868bec92
Use osg::Vec3f to store path nodes in Pathfinder 2018-10-13 22:16:20 +03:00
Andrei Kortunov
e06f0b797a Replace all NULLs to nullptr 2018-10-09 10:21:12 +04:00
Andrei Kortunov
75835c8326 Prevent NPC from chosing farther pathgrid node 2018-07-29 18:18:05 +04:00
tri4ng1e
d310d36ea3
[Fix] Some PVS-Studio and cppcheck fixes 2018-04-18 12:36:10 +00:00