Commit Graph

196 Commits (6cb5ac6e63fb9bf6b27e827a227161f6dbc82f0a)

Author SHA1 Message Date
Andrei Kortunov ee45f54b53 Refactor AiTemporaryStorage usage 6 years ago
Andrei Kortunov 2f5beb8853 Remove unnecessary hack 6 years ago
Andrei Kortunov 81f29d8dcd AiWander: resume moving to destination after combat 6 years ago
Andrei Kortunov 9d27eb197f AiWander: return to initial position only after combat 6 years ago
scrawl 99ffaafe30
Revert "Merge pull request #1701 from akortunov/standfix"
This reverts commit da47fc79f5, reversing
changes made to 7324bd368f.
6 years ago
Andrei Kortunov 3636cf2015 Do not apply queue movement for standing actors 6 years ago
Andrei Kortunov f7f8dfaf2a AiWander: do not allow flying/swimming creatures to use pathgrid 7 years ago
scrawl c50b18b3bb
Move PathgridGraph out of CellStore
By definition this is not 'Mutable state of a cell' and does not belong in CellStore.

This change should improve startup times (graph is now loaded on demand) and edits to 'pathgrid.hpp' no longer cause the entirety of OpenMW to be rebuilt.
7 years ago
Andrei Kortunov 9943bd4d74 AiWander fast forwarding improvements (bug #3638) 7 years ago
scrawl 03554b2f4b Fix some style issues flagged by cppcheck 7 years ago
Andrei Kortunov 91adfc9fc0 AiWander: reset spawn position, if an actor was moved to another cell (bug #4010) 7 years ago
elsid 748f5225a9 Copy PathFinder::mPath back value when pass to MWMechanics::AiPackage::pathTo as dest
May become dangling reference because method may remove all elements from mPath.
7 years ago
scrawl 333648c975 Merge pull request #1324 from akortunov/doorfix
Improved doors detection
7 years ago
Andrei Kortunov 37952c9a79 Added door detection based by ray casting 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)
7 years ago
Ewan Higgs 38a2de3c51 convert std::autor_ptr to std::unique_ptr, originally by Ewan Higgs and updated by Bret Curtis 7 years ago
Allofich ff3e307059 Pass parameters by const reference 7 years ago
scrawl 29556a1802 More consistent wording of errors/warnings
A Warning indicates a potential problem in the content file(s) that the user told OpenMW to load. E.g. this might cause an object to not display at all or as intended, however the rest of the game will run fine.

An Error, however, is more likely to be a bug with the engine itself - it means that basic assumptions have been violated and the engine might not run correctly anymore.

The above mostly applies to errors/warnings during game-play; startup issues are handled differently: when a file is completely invalid/corrupted to the point that the engine can not start, that might cause messages that are worded as Error due to the severity of the issue but are not necessarily the engine's fault.

Hopefully, being a little more consistent here will alleviate confusion among users as to when a log message should be reported and to whom.
7 years ago
Aussiemon 2f66b91ac5 Added check to prevent attempted wandering of empty paths 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.
8 years ago
scrawl 30b549124e Fix use-after-free 8 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
8 years ago
mrcheko 0793e4a80e refactor pathfinding code in AiWander: use AiPackage::pathTo, reuse AiPackage::ObstacleCheck 8 years ago
Allofich c2b51112f2 AI package cleanups 8 years ago
Allofich 55ac1fab68 Change Wander duration to run on a counter 8 years ago
Allofich bce66c629a Change editor-placed AI packages to cycle 8 years ago
scrawl 5edfe8c41c Reduce the wander fast forward overcrowding offset (Fixes #3370) 8 years ago
Austin Salgat be16857f96 Fix wrong height being used for water detection 8 years ago
Austin Salgat e9157e9200 Fix idle animation and Fix water creature manual wandering 8 years ago
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.
8 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.
8 years ago
Austin Salgat fc03216d48 Refactor to reuse existing obstacle detection 8 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.
8 years ago
Austin Salgat 92b352989a Add logic for NPC wandering without pathgrids 8 years ago
Austin Salgat c02881a4f8 Fix creatures not wandering 8 years ago
Austin Salgat 38f5a225ea Refactor PathFinder functions to be useable by AiWander
This avoids having to duplicate the distanceSquared and getClosestPoint functions.
8 years ago
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.
8 years ago
scrawl 90a99991d1 Use empty() instead of !size() 8 years ago
scrawl 50ed061154 AiWander: reset mAllowedNodes on cell change (Fixes #3176, Fixes #3130) 8 years ago
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
8 years ago
dteviot 8e2fe1985d Fixed errors pointed out by Zini.
1. Removed "Actor" from name of function  isActorNearInactiveCell().
2. Corrected case of CoordinateConverter member function names.
9 years ago
dteviot 1dfe438a5d reduce "reset if stuck" AiWander timeout.
Now is about 14 seconds, instead of 300.
9 years ago
dteviot f2c9b9351f Try going right and left to "unstick" actor. 9 years ago
dteviot 31d82b6b0c Unifiy evadeObstacles() logic between AiWander and AiPackage
Can't use same code, but logic is now same.
9 years ago
dteviot f59e918a3b removed useless code.
zTurn ignores turns < 0.0087 radians.
9 years ago
Marc Zinnschlag a52b947efe Merge remote-tracking branch 'dteviot/MagicEffectsRefactorDraft3' 9 years ago
dteviot 77a1d947cc extracted MWMechanics::getPlayer() 9 years ago