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
2016-07-09 22:59:54 +03:00
mrcheko
0793e4a80e
refactor pathfinding code in AiWander: use AiPackage::pathTo, reuse AiPackage::ObstacleCheck
2016-07-05 21:38:41 +03:00
Allofich
c2b51112f2
AI package cleanups
2016-06-16 17:17:56 +09:00
Allofich
55ac1fab68
Change Wander duration to run on a counter
2016-06-10 04:36:18 +09:00
Allofich
bce66c629a
Change editor-placed AI packages to cycle
2016-05-29 17:34:40 +09:00
scrawl
5edfe8c41c
Reduce the wander fast forward overcrowding offset ( Fixes #3370 )
2016-04-23 22:47:42 +02:00
Austin Salgat
be16857f96
Fix wrong height being used for water detection
2016-04-17 10:46:09 -05:00
Austin Salgat
e9157e9200
Fix idle animation and Fix water creature manual wandering
2016-04-16 20:38:58 -05:00
Austin Salgat
3dec10c686
Update variable to prevent underflowing
...
While not an issue presently, the variable may be used in the future in a way that could create issues if it underflows.
2016-04-16 17:51:13 -05:00
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.
2016-04-16 16:39:13 -05:00
Austin Salgat
fc03216d48
Refactor to reuse existing obstacle detection
2016-04-16 12:14:00 -05:00
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.
2016-04-15 21:56:41 -05:00
Austin Salgat
92b352989a
Add logic for NPC wandering without pathgrids
2016-04-13 20:48:08 -05:00
Austin Salgat
c02881a4f8
Fix creatures not wandering
2016-04-12 21:16:55 -05:00
Austin Salgat
38f5a225ea
Refactor PathFinder functions to be useable by AiWander
...
This avoids having to duplicate the distanceSquared and getClosestPoint functions.
2016-04-10 20:44:08 -05:00
Austin Salgat
96231e17f0
Fix wandering NPCs going off pathgrid
...
If multiple pathgrids exist in the same cell, sometimes an NPC would port to a different pathgrid that was nearby. This is an issue since it allowed them to do things like travel through walls to inaccessible areas. Now they will only wander along the closest connected pathgrid.
2016-04-10 20:21:18 -05:00
scrawl
90a99991d1
Use empty() instead of !size()
2016-02-22 19:06:12 +01:00
scrawl
50ed061154
AiWander: reset mAllowedNodes on cell change ( Fixes #3176 , Fixes #3130 )
2016-02-02 00:41:40 +01:00
mrcheko
d7d5cc6689
Merge remote-tracking branch 'upstream/master' into pathfinding
...
Conflicts:
apps/openmw/mwmechanics/aicombat.cpp
apps/openmw/mwmechanics/aifollow.cpp
apps/openmw/mwmechanics/aipackage.cpp
apps/openmw/mwmechanics/aipackage.hpp
apps/openmw/mwmechanics/aiwander.cpp
apps/openmw/mwmechanics/pathfinding.hpp
Ogre::Vector3->osg::Vec3f; REACTION_INTERVAL->AI_REACTION_TIME; MakeOgreVec3->MakeOsgVec3
2015-12-29 19:15:40 +03:00
dteviot
8e2fe1985d
Fixed errors pointed out by Zini.
...
1. Removed "Actor" from name of function isActorNearInactiveCell().
2. Corrected case of CoordinateConverter member function names.
2015-09-12 14:17:46 +12:00
dteviot
1dfe438a5d
reduce "reset if stuck" AiWander timeout.
...
Now is about 14 seconds, instead of 300.
2015-08-30 16:43:35 +12:00
dteviot
f2c9b9351f
Try going right and left to "unstick" actor.
2015-08-30 10:06:09 +12:00
dteviot
31d82b6b0c
Unifiy evadeObstacles() logic between AiWander and AiPackage
...
Can't use same code, but logic is now same.
2015-08-30 08:32:47 +12:00
dteviot
f59e918a3b
removed useless code.
...
zTurn ignores turns < 0.0087 radians.
2015-08-29 17:34:33 +12:00
Marc Zinnschlag
a52b947efe
Merge remote-tracking branch 'dteviot/MagicEffectsRefactorDraft3'
2015-08-23 12:11:30 +02:00
dteviot
77a1d947cc
extracted MWMechanics::getPlayer()
2015-08-21 21:12:39 +12:00
dteviot
85bc41dedb
replaced FLT_MAX with numeric_limits.
2015-08-21 19:34:28 +12:00
dteviot
942a987d52
centralize the world/cell coordinate conversion logic.
2015-08-16 18:55:02 +12:00
Arthur Moore
08d5aaf0fc
Remove more comments
2015-07-31 18:23:07 -04:00
Arthur Moore
6fce49bfb5
Don't warn twice when unable to play an idle animation
2015-07-31 18:01:02 -04:00
Arthur Moore
61c3835637
Don't try to play animations we know are bad
...
Prevents log spam
2015-07-31 18:01:02 -04:00
Arthur Moore
5ea596f38d
Refactor onChooseActionStatePerFrameActions
...
This prevents playIdle errors from tyring to play idleAnimation 0
2015-07-30 08:15:45 -04:00
Arthur Moore
f69de1f263
Alert the user if trying to play a non-idle animation
...
Continue to propagate success/failure up the call stack.
2015-07-30 08:08:58 -04:00
dteviot
c7aacaee70
extracted function returnToStartLocation().
2015-07-26 17:29:32 +12:00
dteviot
5e519ef550
extract function isPackageFinished().
2015-07-26 17:29:01 +12:00
dteviot
ad0d807103
extracted function reactionTimeActions().
2015-07-26 17:28:32 +12:00
dteviot
9c0e3d6c28
extracted functions doPerFrameActionsForState() and onChooseActionStatePerFrameActions().
2015-07-26 17:25:44 +12:00
dteviot
76f95eafe7
extract function onWalkingStatePerFrameActions().
2015-07-26 17:25:00 +12:00
dteviot
5ec310dfba
extract function onIdleStatePerFrameActions().
2015-07-26 17:24:33 +12:00
dteviot
00eef585af
renamed mPlayedIdle to mIdleAnimation.
2015-07-19 18:04:42 +12:00
dteviot
22f49128cc
replaced multiple booleans with single state variable.
2015-07-19 18:02:13 +12:00
dteviot
1ed6e95c07
Got rid of some radians to degrees to radians conversions.
2015-07-19 18:01:25 +12:00
dteviot
3ebe9fb34f
renamed mRotate to mTurnActorGivingGreetingToFacePlayer
2015-07-19 18:00:49 +12:00
dteviot
e294cd95cd
extracted function playIdleDialogueRandomly()
2015-07-12 17:15:14 +12:00
dteviot
22059d68f6
Remove duplicated code.
2015-07-12 17:14:48 +12:00
dteviot
0b089a5564
extracted function evadeObstacles()
2015-07-12 16:38:36 +12:00
dteviot
1ef78b1e56
extracted playGreetingIfPlayerGetsTooClose()
2015-07-12 16:37:31 +12:00
dteviot
df421fce92
extracted function setPathToAnAllowedNode()
2015-07-12 16:35:15 +12:00
dteviot
b508846a64
Renamed mStoredAvailableNodes to mPopulateAvailableNodes.
...
Don't call getAllowedNodes() needlessly.
2015-07-12 16:32:48 +12:00
dteviot
f1774ee7c3
Fixed compile failing on OSX and Linux.
2015-07-08 19:34:33 +12:00