1
0
mirror of https://gitlab.com/OpenMW/openmw.git synced 2025-02-10 12:39:53 +00:00

94 Commits

Author SHA1 Message Date
elsid
b4868c6094
Filter evade directions by supported animations
To avoid trying those which will not lead to any actor movement due to absent
animation.
2023-07-22 17:30:40 +02:00
elsid
843753da14
Remove unused includes 2022-10-09 16:44:18 +02:00
clang-format-bot
ddb0522bbf
Apply clang-format to code base 2022-09-22 21:35:26 +03:00
ζeh Matt
841fd9618f
Rename DrawState_ to DrawState and use enum class 2022-07-17 20:50:26 +03:00
elsid
1a12c453d6
Support different agent collision shape type for pathfinding
Actors may have different collision shapes. Currently there are axis-aligned
bounding boxes and rotating bounding boxes. With AABB it's required to use
bounding cylinder for navmesh agent to avoid providing paths where actor can't
pass. But for rotating bounding boxes cylinder with diameter equal to the front
face width should be used to not reduce of available paths. For example rats
have rotating bounding box as collision shape because of the difference between
front and side faces width.

* Add agent bounds to navmesh tile db cache key. This is required to distinguish
  tiles for agents with different bounds.
* Increase navmesh version because navmesh tile db cache key and data has changed.
* Move navmesh version to the code to avoid misconfiguration by users.
* Fix all places where wrong half extents were used for pathfinding.
2022-06-21 12:57:32 +02:00
Alexei Kotov
bd6716d89d Give AITravel time to end if the actor is close to the destination 2022-06-20 15:07:18 +03:00
Evil Eye
3c83117e99 Replace new with make_unique in openmw 2022-05-29 13:24:48 +02:00
elsid
39da3bfef8
Ignore player when checking whether AiTravel destination is occupied by other actor 2022-04-11 19:30:54 +02:00
ζeh Matt
08fae7be6e
Pass the prng from world where appropriate 2022-03-21 17:49:42 +02:00
elsid
595c2e0a8e
Use unique_ptr to manage AiPackage lifetime 2022-02-23 00:39:30 +01:00
Bret Curtis
d1fb854521 move most of the files from esm to esm3, keep common code in esm; this is make space for a future with esm4
esm typo

esm typo
2022-01-23 17:04:48 +01:00
Evil Eye
3c57ffd81f Save repeat and duration 2021-11-20 11:03:07 +01:00
Evil Eye
231da19aa4 Load repeat flag and use reset argument 2021-11-20 11:02:58 +01:00
elsid
c0ef4417c3
Check AiTravel destination for other actors presence
Use faster aabbTest but without destance filter. To avoid dependency on a
specific constant and correctly handle situations when there is a big
difference between actors sizes.
2021-09-29 01:05:23 +02:00
fredzio
88a5ca440b Change moveObject() to take a osg::Vec3f argument instead of 3 floats
for readability.
2021-07-30 23:24:49 +02:00
Evil Eye
c5aa3d4f77 Don't stop and turn to the player while sneaking or jumping 2021-05-09 19:55:27 +02:00
elsid
5b34ef224b
Replace AiPackage virtual methods by options 2020-06-06 12:00:17 +02:00
Bret Curtis
18bb6dd223
Merge pull request #2859 from elsid/aipackage_single_clone
Single clone function definition for all AI packages
2020-06-01 01:21:57 +02:00
Capostrophic
efd5f13b2b Make greeting-related actor data temporary (bug #5397) 2020-05-30 00:51:58 +03:00
elsid
8e0934cbd8
Single AI package clone definition 2020-05-20 20:15:29 +02:00
Andrei Kortunov
1db51a9e08 Re-work wandering outside of initial cell (bug #5261, bug #5262) 2020-02-02 11:02:19 +04:00
Andrei Kortunov
69aceb5c1e Split greetings from AiWander (bug #4594) 2019-10-10 09:28:40 +04:00
elsid
4ad04a28f9
Reset path after AiTravel is fast forwarded
Otherwise actor will keep going to the first path point that may be
unreachable.
2019-08-01 15:13:03 +02:00
Andrei Kortunov
4da21942af Do not use the actors processing range to determine a maximum range of AiTravel (bug #4979) 2019-04-14 17:51:12 +04:00
Andrei Kortunov
3032b177a1 Remove redundant includes 2019-02-23 08:02:12 +04:00
Capostrophic
1de9674c81 AI package cleanup 2018-11-02 14:58:30 +03:00
Capostrophic
a4eff1c871 Fix isWithinMaxRange function 2018-11-02 00:22:37 +03:00
elsid
49d81241db Merge branch 'master' into pathfinder_detour 2018-10-28 17:08:09 +03:00
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
2018-10-25 22:52:59 +04:00
elsid
4d868bec92
Use osg::Vec3f to store path nodes in Pathfinder 2018-10-13 22:16:20 +03:00
Andrei Kortunov
1d463d129d Finish AiTarget package, if destination is blocked by other actor 2018-07-29 19:41:31 +04:00
Andrei Kortunov
3a0ee78d2b AiTravel: store mHidden flag in savegame 2018-06-08 21:53:47 +04:00
Andrei Kortunov
5105c67642 Add mHidden field to AiTravel 2018-06-08 21:53:47 +04:00
Ewan Higgs
38a2de3c51 convert std::autor_ptr to std::unique_ptr, originally by Ewan Higgs and updated by Bret Curtis 2017-06-09 16:49:25 +02:00
mrcheko
aa441f2648 AiPackage: fix path recalc on cell change
AiTravel: remove unneeded code
2016-09-06 01:11:10 +03:00
Allofich
c57d177f1c Trim unneeded code 2016-07-12 04:17:08 +09:00
Allofich
3bebbab78e Duration fixes for Follow and Escort 2016-06-15 02:11:30 +09:00
Allofich
bce66c629a Change editor-placed AI packages to cycle 2016-05-29 17:34:40 +09:00
scrawl
7aeafd3bb9 Revert "Apply the AiTravel maxRange to AiEscort as well (Fixes #2697)"
This reverts commit 1f543b4d79744886aa9a03ad7fcff6d97dc5f70c.
2016-02-02 22:08:12 +01:00
scrawl
1f543b4d79 Apply the AiTravel maxRange to AiEscort as well (Fixes #2697) 2015-12-07 00:26:17 +01:00
scrawl
278076e609 Include cleanup 2015-07-25 04:14:22 +02:00
scrawl
59db9664ba Pass the CharacterController to AiPackage::execute 2015-06-26 17:47:04 +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
6d7e6cd30c AiTravel logic merged into AiPackage. 2015-06-11 18:28:31 +12:00
scrawl
4bb3cbf0fb Remove last remains of Ogre 2015-06-03 23:04:35 +02:00
scrawl
7bacb9418d Various math code ported to osg 2015-06-03 19:41:19 +02:00
dteviot
eb1090a1b6 Waypoint check only considers X & Y distance (Fixes #2423)
When pathfinder checks if actor has reached a waypoint, ignore actor's altitude.
2015-03-23 20:09:46 +13:00
dteviot
ca8c8c6aa4 fixing MSVC 2013 warning C4244: & C4305
conversion from 'const float' to 'int', possible loss of data
conversion from 'double' to 'int', possible loss of data
conversion from 'float' to 'int', possible loss of data
2015-03-08 17:42:07 +13:00
scrawl
99ae0f901b Implement AiTravel fast-forward (Fixes #1125) 2014-12-31 20:42:29 +01:00
scrawl
a8ae0dec52 Implement AiWander fast-forward (Feature #1125) 2014-12-31 18:41:57 +01:00