Commit Graph

108 Commits (02668cd45d8e252648a8a31cd7b3a8b9d7ab5296)

Author SHA1 Message Date
Roman Siromakha 41ad23ebdc
Revert "[WIP] Open door when it is on the way to a next path point (bug #5073)" 5 years ago
elsid b4ec444057
Open door when it is on the way to a next path point 5 years ago
elsid 97cd9d434a
Do not open doors when actor has no path
When actor is not going anywhere it doesn't require to go through doors
so there is no need to open them.
5 years ago
elsid 389f5dfb9b
Check for AiPackage type before find nearby door 5 years ago
elsid 16170131b7
Add enum type for door state 5 years ago
elsid f684c90932
Make angular velocity depending on actor speed
To avoid moving in circles for actors with high speed.
6 years ago
Capostrophic 25e52f7dfe Use 2D distance for fight rating of vertically moving actors (bug #4961) 6 years ago
Andrei Kortunov 1832f1759d AI: use a consistent check if a target is hidden (bug #4920) 6 years ago
Bret Curtis 2ab7f903d7 make use of std::make_unique to test that MSVC2015 can handle that 6 years ago
elsid 8fd6b37e34
Make path point tolerance depending on actor half extents 6 years ago
Andrei Kortunov dcec9df345 Fix MSVC warning about variable re-declaration 6 years ago
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.
6 years ago
elsid 1218e4e15d
Use player half extents only to find path in exterior cells 6 years ago
Bret Curtis 14c93b3df0 Revert "Merge pull request #2204 from elsid/fix_navigator_update"
This reverts commit 26fb0e7a0f, reversing
changes made to 42b2391303.
6 years ago
elsid a4f300f810
Use player half extents only to find path in exterior cells 6 years ago
Andrei Kortunov 3032b177a1 Remove redundant includes 6 years ago
Capostrophic 7b33838b33 Don't consider non-solid actors truly levitating (bug #4746) 6 years ago
Andrei Kortunov 829faf7b2c Improve toggleactorspaths console command 6 years ago
Capostrophic 1de9674c81 AI package cleanup 6 years ago
elsid c52db75545 Use default tolerance to drop last point from path
Fixes AiEscort. Before actor tried to reach target with 0 tolerance.
Back to logic like it was before 4fe764c3a5 and bbd82a743 commits.
6 years ago
elsid 49d81241db Merge branch 'master' into pathfinder_detour 6 years ago
Andrei Kortunov e7de6b974a Optimize actors processing
1. Do not update physics and animations for actors outside processing range (bug #4647)
2. Do not render such actors
3. Add transparency to actors near processing border, so they will not pop up suddenly
6 years ago
elsid 03d4ce5e49
Log find path exception with level verbose, add more info to message 6 years ago
elsid 7c5bedc35a
Reset shorcutting if actor can't move by z-axis on reaction time
If actor was shortcutting because it was swimming, then when it started
walking it still be shortcutting, but there will be no new path, because
shortcut path builds only for actor able moving by z-axis and pathfinder
path only for not shortcutting actor.
6 years ago
elsid 92b34e8bb4
Check whether can actor move along z-axis in separate function 6 years ago
elsid bbd82a743a
Use different tolerance for path point and destination 6 years ago
elsid ab090108cb
Assign world to local variable once per function 6 years ago
elsid 27a74725f1
Use osg::Vec3f 6 years ago
elsid 346e9e3141
Add off mesh connections for doors without teleport 6 years ago
elsid 661da42bd2
Build path by navigator 6 years ago
elsid d02beae5a8
Find path for actors according to their abilities to swim and walk 6 years ago
elsid dc09674362
Add command and settings option to enable actors paths render 6 years ago
elsid 4fe764c3a5
Update and check for complete Pathfinder path by different methods 6 years ago
elsid 2c464bd682
Evade obstacles after set rotation 6 years ago
elsid 66e5a4d591
Remove useless variable 6 years ago
elsid 1a95b7a154
Remove duplicate zTurn call 6 years ago
elsid 63b3a70ca8
Remove useless else 6 years ago
elsid c9f3064cbd
Update ObstacleCheck once per frame 6 years ago
elsid 6d89241178
Check is path completed by osg::Vec3f position 6 years ago
elsid 9b3756f8bc
Store path points in deque 6 years ago
elsid 925d909fea
Use rbegin 6 years ago
elsid 4d868bec92
Use osg::Vec3f to store path nodes in Pathfinder 6 years ago
elsid 33dfe284bd
Mark local variables const which one does not change 6 years ago
Andrei Kortunov e06f0b797a Replace all NULLs to nullptr 6 years ago
Andrei Kortunov 81b78a82e8 AI: try to open doors every AI_REACTION_TIME seconds (bug #4454) 7 years ago
Andrei Kortunov fed10e87aa Store integer actor ID in AI packages (bug #4036) 7 years ago
Capostrophic 5b49248d6e
Restrict opening doors to bipedal actors (Fixes #4313) 7 years ago
Andrei Kortunov f7f8dfaf2a AiWander: do not allow flying/swimming creatures to use pathgrid 7 years ago
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.
7 years ago
Andrei Kortunov 37952c9a79 Added door detection based by ray casting 8 years ago