psi29a
f90a049702
Merge branch 'movement_refactoring' into 'master'
...
Refactoring related to "smooth movement"
See merge request OpenMW/openmw!285
(cherry picked from commit 6eaf0a389d5aed3b74ab1a7cf89574612f964bdf)
e847b4c8 Split getSpeed() to getMaxSpeed() and getCurrentSpeed()
a96c46bc Refactor calculation of movement.mSpeedFactor
03ee9090 Use getMaxSpeed instead of getCurrentSpeed where it makes sense.
a178af5c Create helper functions `normalizeAngle` and `rotateVec2f`
4 years ago
Andrei Kortunov
e6036e13b9
Use more C++11 loops in game mechanics code
5 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
Andrei Kortunov
d0643d266a
Do not use fallthrough in switches
5 years ago
elsid
16170131b7
Add enum type for door state
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
7b94183d83
Revert "Take in account actor half extents for obstacle check"
...
This reverts commit 5434e92437
.
5 years ago
elsid
5434e92437
Take in account actor half extents for obstacle check
6 years ago
elsid
1e8bf3846e
Remove unused argument
6 years ago
Andrei Kortunov
3032b177a1
Remove redundant includes
6 years ago
elsid
f9c651bdf3
Add const
6 years ago
elsid
c9f3064cbd
Update ObstacleCheck once per frame
6 years ago
Andrei Kortunov
81b78a82e8
AI: try to open doors every AI_REACTION_TIME seconds (bug #4454 )
7 years ago
Andrei Kortunov
10eb6ec75f
AI: Check angle between actor and door
8 years ago
Andrei Kortunov
37952c9a79
Added door detection based by ray casting
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
a97eae864d
Fix the ObstacleCheck time step ( Fixes #3211 )
9 years ago
scrawl
1875aa4a18
Restore getNearbyDoor
9 years ago
scrawl
0975f60d59
Stub out CellStore::get<T> accessors in preparation of reference movement between cells
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
3c338b9da9
ObstacleCheck: tweak the stuck detection parameters
...
The netch_betty wander animation starts up so slowly that the creature thought it was stuck, even though it's not.
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
scrawl
caa523a959
ObstacleCheck: fix the framerate not being taken into account
9 years ago
scrawl
801dc8eee3
ObstacleCheck: fix weird distance calculation
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
scrawl
278076e609
Include cleanup
10 years ago
scrawl
4bb3cbf0fb
Remove last remains of Ogre
10 years ago
scrawl
b70383d127
Remove last remains of Ogre math
10 years ago
Rohit Nirmal
396fba7fa9
Silence -Wreorder warnings, and remove -Wno-reorder.
10 years ago
scrawl
f35c9b7a69
Clang warning fixes (thanks hemite)
10 years ago
scrawl
039398c8ae
Basic RefData and CellRef change tracking
...
Wrapped item charge handling in getItemHealth function
11 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
e17fab891d
Suppress travis warning and one more tweak.
11 years ago
cc9cii
479a94b35d
Backing off closed doors working, needs cleanup and tweaking.
11 years ago
cc9cii
c652cb1568
More cleaning up.
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