Commit Graph

26 Commits (master)

Author SHA1 Message Date
Petr Mikheev 7bbbe40abe "static const" -> "static constexpr" in headers 4 years ago
elsid 0c92a567af
Use distance to position since last normal state in obstacle checker 5 years ago
elsid e323e6e7e6
Consider moved distance in direction to destination for obstacle check
Assume actor is stuck when it's not able to move in the destination
direction with maximum speed. Approach to check moved distance from the
previous point doesn't work good for slow and big actors. When they face
obstacle they're trying to move along with oscillation so check is
passing but they don't get any closer to the destination.
5 years ago
elsid ad05de44ae
Use 3d coordinates to detect stuck
To able water and flying creatures move to player going up or down.
5 years ago
elsid 1e8bf3846e
Remove unused argument 6 years ago
elsid f9c651bdf3
Add const 6 years ago
elsid c9f3064cbd
Update ObstacleCheck once per frame 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 37952c9a79 Added door detection based by ray casting 8 years ago
Leon Krieg c7b4b2cdd7 Fixed multiple spelling mistakes 8 years ago
mrcheko 612c7f1a2f Revert "Revert "Merge pull request #993 from mrcheko/pathfinding""
This reverts commit 3732979eec.
8 years ago
scrawl 3732979eec Revert "Merge pull request #993 from mrcheko/pathfinding"
This reverts commit 5190275b37, reversing
changes made to d7845012bf.
9 years ago
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
9 years ago
mrcheko 0793e4a80e refactor pathfinding code in AiWander: use AiPackage::pathTo, reuse AiPackage::ObstacleCheck 9 years ago
Austin Salgat fc03216d48 Refactor to reuse existing obstacle detection 9 years ago
scrawl 6405049add Rotations: move doors via Rotation rather than LocalRotation
Now LocalRotation is unneeded, will remove in next commit.
9 years ago
scrawl d233bc483d ObstacleCheck: fix evasion issue
The check if (samePosition... would not work as intended because actors do not move in every frame when the framerate is higher than the physics framerate. In that case the actor would change its evasion direction almost every frame.
9 years ago
dteviot 60d0ad9283 When stuck, try moving backwards as well as to side. 9 years ago
dteviot f2c9b9351f Try going right and left to "unstick" actor. 9 years ago
Alexander "Ace" Olofsson 8c49812d56 Remove unneeded include in obstacle.hpp 10 years ago
Alexander "Ace" Olofsson df5a08b6de Move manualref code out of header 10 years ago
Thomas 7cd4c93fa4 Changed getNearbyDoor to use MWWorld::Ptr 11 years ago
Thomas cbfa282f8d Changed implementations of aifollow/pursue/activate slightly, added ability for NPCs to go through unlocked doors (They even try locked ones), and step back from opening doors (Although it still needs some work)
Notes - When the door hits them while it's about to finish closing they will try to walk through the door.
      - Considerably more works is needed in making the NPC work out troublesome areas where they get stuck
11 years ago
cc9cii 7437647f70 Forgot to add a guard :-( 11 years ago
cc9cii d3be725ee7 Actors are moved on if idling near a closed interior door. Unreachable pathgrid points due to a closed door are removed from the allowed set of points. 11 years ago