Commit Graph

118 Commits (00997fa7327293db6075d47d18bd36516537ba44)

Author SHA1 Message Date
Evil Eye ffd84502f9 Remove unimplemented method declaration 4 years ago
jvoisin ee2446d5c4 Trim even more 4 years ago
elsid 675c0ab72f
Apply uniform random deviation to AI reaction timer
This allows to distribute AI reaction calls over time.

Before this change actors appearing at the same frame will react in the same
frame over and over because AI reaction period is constant. It creates a
non-uniform CPU usage over frames. If a single frame has too many AI reactions
it may cause stuttering when there are too many actors on a scene for current
system.

Another concern is a synchronization of actions between creatures and NPC.
They start to go or hit at the same frame that is unnatural.
4 years ago
Andrei Kortunov 874348fb46 Remove redundant code 4 years ago
Bret Curtis 5a824d0333 components/compiler cleanup; also cleaned up related cascading warnings; fixed up final/override issues 4 years ago
Petr Mikheev b838782557 Avoid collisions between actors. 4 years ago
elsid 82893c30f4
Store package type id as enum except ESM 5 years ago
elsid 5b34ef224b
Replace AiPackage virtual methods by options 5 years ago
elsid da8ea9d8c7
Mark not changing AiPackages fields as const 5 years ago
elsid 8e0934cbd8
Single AI package clone definition 5 years ago
elsid 103188b61d
Derive all AI package classes from template to support CRTP features 5 years ago
elsid f566ab03ab
Mark overriden AiPackage methods as final 5 years ago
elsid d86669843e
Remove unseud pointTolerance argument 5 years ago
elsid 256c9917a4
Make AiWander::isPackageCompleted const 5 years ago
elsid 131f2557b1
Split functions to remove redundant clearPath argument 5 years ago
elsid b8513e0318
Remove unused arguments 5 years ago
Alexei Dobrohotov 7e6a533a29
Merge pull request #2695 from elsid/aiwander_check_destination
Add more destination checks for AiWander without pathgrid
5 years ago
Capostrophic 013953ec7f Support Wander movement deceleration 5 years ago
elsid 85414e2353
Check for line of sight for wander destination 5 years ago
Andrei Kortunov 1db51a9e08 Re-work wandering outside of initial cell (bug #5261, bug #5262) 5 years ago
Andrei Kortunov 69aceb5c1e Split greetings from AiWander (bug #4594) 5 years ago
elsid 6c46d929c2
Build path to first pathgrid node by navmesh 6 years ago
Capostrophic cec55119ca Move idle dialogue playback from AiWander (bug #4594) 6 years ago
elsid 661da42bd2
Build path by navigator 6 years ago
elsid eb10add0c4
Remove unused parameters 6 years ago
elsid d0bc1b75e8
Remove unused parameters 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 ee45f54b53 Refactor AiTemporaryStorage usage 7 years ago
Andrei Kortunov 81f29d8dcd AiWander: resume moving to destination after combat 7 years ago
Andrei Kortunov 9d27eb197f AiWander: return to initial position only after combat 7 years ago
Andrei Kortunov 9943bd4d74 AiWander fast forwarding improvements (bug #3638) 7 years ago
Allofich 4f08084e79 Make stationary actors return to position on load
Also makes wandering actors resume their previous destination when an interrupting combat or pursuit ends.

(Fixes #3656)
8 years ago
Allofich ff3e307059 Pass parameters by const reference 8 years ago
Leon Krieg 739cd5ba45 Fixed more spelling mistakes 8 years ago
mrcheko a22fc43947 aiwander: reset path on cell change
remove redundant mIsWanderDestReady var
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
Allofich b1be3596dc Cleanup of #include statements 9 years ago
Allofich c2b51112f2 AI package cleanups 9 years ago
scrawl 37afe966cf Update comment 9 years ago
Allofich 55ac1fab68 Change Wander duration to run on a counter 9 years ago
Allofich bce66c629a Change editor-placed AI packages to cycle 9 years ago
Austin Salgat e9157e9200 Fix idle animation and Fix water creature manual wandering 9 years ago
Austin Salgat 84179c262f Update manual wandering to prevent actor from leaving/entering water
Water creatures will stay in the water, while land creatures will stay on land when wandering.
9 years ago
Austin Salgat fc03216d48 Refactor to reuse existing obstacle detection 9 years ago
Austin Salgat 34726c24d9 Fix mDistance being reset prematurely
This was causing wandering without pathgrids to become disabled for most wandering units. Additionally, wandering now behaves the same for both NPCs and creatures.
9 years ago
Austin Salgat 92b352989a Add logic for NPC wandering without pathgrids 9 years ago