1
0
Fork 1
mirror of https://github.com/TES3MP/openmw-tes3mp.git synced 2025-01-16 12:49:56 +00:00
Commit graph

80 commits

Author SHA1 Message Date
dteviot
5369d20682 Moved pathfinding logic from AiCombat to Pathfinding. 2015-09-19 15:34:02 +12: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
39c2ba8efe Pathfinding bugfix.
Observed at Ebonheart (coe 1, -13).  Especially at the western tower. Guards try to walk though tower door.
Cause: buildPath() adds destination (even when unreachable) when only using single node from pathgrid.
2015-08-30 16:12:51 +12:00
dteviot
5dd0ad6841 Fixed rest of travis errors. 2015-08-21 22:41:31 +12:00
dteviot
85bc41dedb replaced FLT_MAX with numeric_limits. 2015-08-21 19:34:28 +12:00
dteviot
3b231b85bb removed incorrect optimization.
Now it fixes #2871
2015-08-21 06:55:54 +12:00
dteviot
c0d3804b4f Correctly handle disjoint pathgrid (Fixes #2871)
Bugfix:
When
1. Cell has multiple subgrids  (i.e. path grid is disjoint)
2. Distance between destination and pathgrid point 0 is less than distance to points of subgrid closest to start point
Then getClosestReachablePoint() returns pathgrid point 0 as the end point.
This is invalid, this end point cannot be reached from the start point.
2015-08-20 21:50:58 +12:00
scrawl
dca08b0b42 Remove a firing assert (Fixes #2871) 2015-08-18 14:51:32 +02:00
dteviot
4d9d8a060d Pathing bugfix.
When path contains one one point from path grid, point is no longer being discarded.
2015-08-16 18:56:28 +12:00
dteviot
942a987d52 centralize the world/cell coordinate conversion logic. 2015-08-16 18:55:02 +12:00
dteviot
5049c9ab6a removed unnecessary tests. 2015-08-16 17:41:33 +12:00
dteviot
e42a2478dc Removed tests that are not necessary. 2015-08-09 17:58:40 +12:00
dteviot
21e249cb92 pass parameters as const & 2015-08-04 18:14:36 +12:00
dteviot
1ed6e95c07 Got rid of some radians to degrees to radians conversions. 2015-07-19 18:01:25 +12:00
scrawl
c719b7038e Merge branch 'master' of https://github.com/OpenMW/openmw into osg 2015-06-18 15:00:21 +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
520fbd63c4 simplified pathfinding code.
remove mIsPathConstructed.  Instead call !mPath.empty().
2015-06-14 15:14:02 +12:00
dteviot
cb8ca2f03a Moved logic for building a Sync'ed path from AiCombat to PathFinding.
Is now used by AiFollow, which should fix "running in circles" bug caused when recalc a path and closest way point is the one NPC has just passed.
2015-06-11 18:31:35 +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
a17252eab3 Remove unused checkWaypoint function
It was an almost exact copy of the checkPathCompleted function anyway.
2015-01-07 02:34:28 +01:00
scrawl
4d9100091d Reduce default pathing arrival tolerance to 32 units (Fixes #1605) 2015-01-07 02:34:28 +01:00
terrorfisch
c4badcea6e removed warning 2014-10-10 23:51:29 +02:00
terrorfisch
bbca942601 -improved trigonometric precision
-cleanup
2014-10-10 23:31:01 +02:00
scrawl
7252cb63a6 Fix cppcheck issues 2014-09-26 17:48:14 +02:00
scrawl
8d8015ce18 Remove a squareroot in pathfinding 2014-06-15 14:18:16 +02:00
Thomas
2c74ea381e Moved pathfinding code to aiPackage, implemented it's use with aiFollow and aiPursue 2014-05-12 21:05:32 -04:00
mrcheko
6a3dddfb9a merge master 2014-04-27 13:49:31 +04:00
mrcheko
f811abb752 pathgrid shortcutting extended 2014-04-20 20:35:07 +04:00
cc9cii
c652cb1568 More cleaning up. 2014-04-18 15:19:22 +10:00
cc9cii
2447f0f4aa Cleaned up logging statements. 2014-04-18 14:41:44 +10:00
cc9cii
aad13d315c Fixed issue where allowed nodes were being erased. PathFinder was returning an empty path if the closest pathgrid point to the start was also the closest pathgrid point to the goal. Still need to clean up and remove logging statements. 2014-04-18 14:41:44 +10:00
cc9cii
f59226265a Remove redundant parameter from aStarSearch. Also update some comments. 2014-04-04 18:10:06 +11:00
cc9cii
040d4f8fc4 Move PathgridGraph into separate files. 2014-04-04 06:13:47 +11:00
cc9cii
a8b2eb1fe9 Make Travis happy. 2014-04-03 22:49:22 +11:00
cc9cii
325d0616bb Cleanup debug statements. 2014-04-03 22:17:45 +11:00
cc9cii
98f77714ce Per-cell pathgrid data and calculation moved off PathFinder. Now the edge cost calculations and strongly connected component searches are done only once per cell. Per-actor data and methods still remain with PathFinder.
This version still has debugging statements and needs cleaning up.
2014-04-03 21:43:44 +11:00
Marc Zinnschlag
c7b969821f silenced a warning 2014-03-29 11:11:43 +01:00
cc9cii
07fd801d94 My previous analysis of the pathfinding issue was incorrect. It was in fact caused due to some of the pathgrid points being unreachable. Instead of returning an empty path in such a scenario, incorrect path + requested destination were being returned. There was also a defect where past cost was being used for selecting open points.
There is still an unresolved issue where mGraph and mSCComp are being rebuilt unnecessarily.  The check mCell != cell in buildPath() is being triggered frequently. Not sure why.
2014-03-29 19:35:52 +11:00
cc9cii
267855c44e Prevent NPC suicides off silt the strider platform in Seyda Neen. Added some comments as well. There may be opportunities for some optimization but left that out for now. 2014-03-29 19:35:52 +11:00
scrawl
c8c0e5de38 Fixed code issues found with unity build. Missing include guards, duplicated functions, ... 2014-03-16 23:49:06 +01:00
Marc Zinnschlag
f9d2fde783 Merge branch 'openmw-29'
Conflicts:
	apps/openmw/mwmechanics/aicombat.cpp
2014-03-04 09:34:38 +01:00
cc9cii
5b48ca114f aicombat pathfinding fix - check the correct list 2014-02-25 08:31:14 +01:00
Marc Zinnschlag
367919200f moved CellRefList into a separate file 2014-02-23 20:11:05 +01:00
cc9cii
1bd2664cb0 aicombat pathfinding workaround 2014-02-23 11:47:25 +01:00
Marc Zinnschlag
7693f712bc started making CellStore into a proper class; encapsulated mCell member 2014-02-21 11:35:46 +01:00
scrawl
7907181c0c Fix uninitialized member 2014-02-05 05:18:11 +01:00
mrcheko
3a5da7e6e8 merged with master 2014-01-29 00:03:00 +02:00