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
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
b095ca6c86
Use actor speed to define area cost for pathfinding
2020-06-13 02:24:52 +02:00
elsid
d86669843e
Remove unseud pointTolerance argument
2020-05-16 18:44:12 +02:00
elsid
f7caeefddb
Fallback to straight path when navmesh and pathgrind are not available
2020-01-29 11:14:07 +01: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
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
cf1e1d9f4b
Use min point tolerance to prevent face wrong direction (bug #4814 )
...
When next path point is too close to actor and it has speed 0,
it can face direction not pointing to path target.
2019-03-05 23:18:55 +03:00
elsid
eb45f99880
Remove unused code
2019-03-05 23:18:55 +03:00
elsid
03d4ce5e49
Log find path exception with level verbose, add more info to message
2018-10-15 23:25:42 +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
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
2ad3543088
Fix constant style
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
6411c1955d
Fix indent
2018-10-13 22:16:21 +03:00
elsid
d3667945c5
Remove unused functions
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
fbaa525c6f
Fix warning
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
scrawl
c50b18b3bb
Move PathgridGraph out of CellStore
...
By definition this is not 'Mutable state of a cell' and does not belong in CellStore.
This change should improve startup times (graph is now loaded on demand) and edits to 'pathgrid.hpp' no longer cause the entirety of OpenMW to be rebuilt.
2017-11-27 21:20:31 +00:00
Leon Krieg
739cd5ba45
Fixed more spelling mistakes
2016-12-15 13:09:40 +01:00
mrcheko
aa441f2648
AiPackage: fix path recalc on cell change
...
AiTravel: remove unneeded code
2016-09-06 01:11:10 +03:00
mrcheko
612c7f1a2f
Revert "Revert "Merge pull request #993 from mrcheko/pathfinding""
...
This reverts commit 3732979eec
.
2016-08-19 22:15:26 +03:00
scrawl
3732979eec
Revert "Merge pull request #993 from mrcheko/pathfinding"
...
This reverts commit 5190275b37
, reversing
changes made to d7845012bf
.
2016-08-14 18:04:33 +02:00
mrcheko
59a1a6d117
checkWayIsClear: remove PATHFIND_CAUTION_DIST check
2016-07-16 19:07:48 +03:00
mrcheko
d2fe6fe857
Merge remote-tracking branch 'refs/remotes/origin/master' into pathfinding
...
# Conflicts:
# apps/openmw/mwmechanics/aiactivate.cpp
# apps/openmw/mwmechanics/aicombat.cpp
# apps/openmw/mwmechanics/aicombat.hpp
# apps/openmw/mwmechanics/aifollow.cpp
# apps/openmw/mwmechanics/aipackage.cpp
# apps/openmw/mwmechanics/aipackage.hpp
# apps/openmw/mwmechanics/aiwander.cpp
# apps/openmw/mwmechanics/aiwander.hpp
2016-07-09 22:59:54 +03:00
Allofich
b1be3596dc
Cleanup of #include statements
2016-06-18 10:56:28 +09:00
Austin Salgat
38f5a225ea
Refactor PathFinder functions to be useable by AiWander
...
This avoids having to duplicate the distanceSquared and getClosestPoint functions.
2016-04-10 20:44:08 -05:00
mrcheko
d7d5cc6689
Merge remote-tracking branch 'upstream/master' into pathfinding
...
Conflicts:
apps/openmw/mwmechanics/aicombat.cpp
apps/openmw/mwmechanics/aifollow.cpp
apps/openmw/mwmechanics/aipackage.cpp
apps/openmw/mwmechanics/aipackage.hpp
apps/openmw/mwmechanics/aiwander.cpp
apps/openmw/mwmechanics/pathfinding.hpp
Ogre::Vector3->osg::Vec3f; REACTION_INTERVAL->AI_REACTION_TIME; MakeOgreVec3->MakeOsgVec3
2015-12-29 19:15:40 +03:00
dteviot
21e249cb92
pass parameters as const &
2015-08-04 18:14:36 +12:00
dteviot
1ed6e95c07
Got rid of some radians to degrees to radians conversions.
2015-07-19 18:01:25 +12:00
dteviot
1239667cb4
AiWander uses points between PathGrid points ( Fixes #1317 )
...
When there is only on PathGrid point within a NPC's wander distance, expand possible wander destinations by using positions between PathGrid points.
2015-07-05 18:21:35 +12:00
mrcheko
c773ed9f9a
move checkWayIsClear to pathfinding; move shortcut logic to separate func (AiPackage::shortcutPath); rework AiPackage::pathTo
2015-07-04 18:00:16 +03:00
dteviot
164994f3d3
Made PathFinder::buildPath() private.
...
Now all paths are built by calling PathFinder::buildSyncedPath().
Also removed useless comment.
2015-07-04 18:47:26 +12:00
scrawl
c719b7038e
Merge branch 'master' of https://github.com/OpenMW/openmw into osg
2015-06-18 15:00:21 +02:00
scrawl
cad18969e3
Merge branch 'master' of https://github.com/OpenMW/openmw into osg
...
Conflicts:
apps/openmw/mwmechanics/aicombat.cpp
apps/openmw/mwmechanics/aitravel.cpp
2015-06-14 16:32:13 +02:00
dteviot
520fbd63c4
simplified pathfinding code.
...
remove mIsPathConstructed. Instead call !mPath.empty().
2015-06-14 15:14:02 +12:00