Andrew Aldridge
8287c5c872
Use static empty pathfinding path when possible
2013-07-12 09:43:35 -04:00
Andrew Aldridge
ba885907ba
Use MobileInfo.GetMovementClass for domain indexing, clearing path for caching and smarter behavior
...
* Move DomainIndex from being a manual hard-coded hook in World to an IWorldLoaded trait.
2013-07-12 09:40:55 -04:00
Andrew Aldridge
6fb01c7ab8
Properly deal with FindUnitPathToRange
...
This fixes boats attacking land targets.
2013-07-12 09:37:01 -04:00
i80and
d4cead2187
Initial terrain domain work
2013-07-12 09:37:00 -04:00
i80and
1fe2418e22
Factor out the CVec direction list.
2013-07-11 20:32:42 -04:00
Paul Chote
a263fd879d
Account for sub-cell offsets in FindUnitPathToRange. Fixes #2417 .
2013-07-10 21:23:30 +12:00
Paul Chote
b10a5d27a0
Tidy up Move.
2013-07-10 20:34:19 +12:00
Paul Chote
91698678a2
Use WRange for Mobile.MoveWithinRange.
2013-07-10 19:59:03 +12:00
Paul Chote
8fe0eb73e2
Ensure a valid target in move.
2013-07-08 23:40:21 +12:00
Paul Chote
89fd889cf4
Convert Target positions to world coords.
2013-07-08 21:52:28 +12:00
Paul Chote
0fdffd7b6a
Convert Drag to world coords.
2013-07-08 21:52:27 +12:00
Paul Chote
9eaeeffae9
CenterLocation.ToCPos() -> CenterPosition.ToCPos().
2013-07-08 21:52:26 +12:00
Paul Chote
561cb6cfe0
Rewrite Leap activity to be more robust.
...
The dog will now always leap to the target
subcell (even if the target dies or moves),
and will kill whatever happens to be in the
target cell when it lands.
2013-07-08 21:52:25 +12:00
Paul Chote
82b7854ed7
Make MobileInfo.SubCellOffsets static.
2013-07-08 21:52:25 +12:00
Chris Forbes
c0e0efd0ef
movement equivalence classes
...
These can be used as a basis for a bunch of pathing optimizations.
- Feasability of movement can be precomputed for each class, avoiding
the worst-case pathfinding behavior
- A path could potentially be shared between all members of a class.
This isnt necessarily the best path for any single unit, as it
doesn't care about efficiency of movement across various terrain --
but it would be a "reasonable" path that the whole group could take
together.
- General pathing checks can be converted from intersection of sets of
strings to a simple AND.
- Other, wilder things.
V2: be paranoid about too-long bit vectors.
2013-06-26 20:50:51 +12:00
Scott_NZ
ac430bd3bc
Add force-move
2013-05-18 17:52:36 +12:00
Paul Chote
55d5db0f02
Set produced unit position via an ActorInitializer. Fixes #3214 .
2013-05-04 12:11:43 +12:00
Chris Forbes
a13f9ea3eb
Revert "Fix bogus pathability check."
...
This reverts commit 8676562d47 .
2013-04-21 13:58:10 +12:00
Chris Forbes
9a65399fed
unlag move order response
2013-04-20 21:34:03 +12:00
Paul Chote
8676562d47
Fix bogus pathability check.
...
This fixes units on pathable bridge tiles from
being killed on bridge death (they were failing
the check against themselves).
2013-04-15 08:04:44 +12:00
Paul Chote
9b7bb53287
LocalPlayer.Shroud is never the right shroud.
2013-04-10 21:42:30 +12:00
Matthias Mailänder
c731a7960e
embed the previously manually edited outdated documentation
...
from https://github.com/OpenRA/OpenRA/wiki/Trait-Documentation
2013-03-20 21:20:27 +01:00
James Dunne
7e913c4bb7
Lame attempts to improve A*.
2013-03-10 07:33:31 +01:00
Matthias Mailänder
2abde381a7
Exposed PathSearch.owner and removed Player argument from PathFinder functions.
2013-03-10 07:33:31 +01:00
Matthias Mailänder
493eb10b96
Now coloring A* cells by owning player color. Added checkbox to cheats menu.
2013-03-10 07:33:25 +01:00
Matthias Mailänder
7d0de5645f
Added QuadRenderer to render shaded/colored quads. Added DebugOverlay to World to show A* bidi search cost per cell.
2013-03-10 07:32:35 +01:00
Matthias Mailänder
e0b7242f1b
adding new ai functional
2013-03-06 11:17:02 +01:00
Chris Forbes
403b51ca4b
remove duplication in Mobile
2012-10-13 12:55:51 +13:00
Chris Forbes
3fad0983b9
simplify Mobile using new ordering from FindTilesInCircle
2012-10-13 12:55:51 +13:00
James Dunne
ba1a36f26e
Units heading in generally opposite directions are now considered blockers; this fixes pathing deadlocks.
2012-07-05 23:53:31 -05:00
James Dunne
9c9a16d80e
Path planning no longer considers moving friendly units as blockers.
2012-07-05 23:52:34 -05:00
Chris Forbes
f2ab8a8541
generalize rough cursor to be customizable for any terrain type
2012-07-01 12:49:14 +12:00
Matthias Mailänder
579ff04f68
fixes #2253
...
rough mouse-cursor for infantry-only areas
blue move cursor for d2k rally points
2012-07-01 12:41:23 +12:00
James Dunne
1fa70d259f
Removed INudge in favor of INotifyBlockingMove.
2012-06-24 20:26:01 -05:00
James Dunne
845379e577
Harvesters no longer block each other during low-ore contention and wait for a random amount of time while idle to search for more resources.
2012-06-24 20:26:00 -05:00
James Dunne
80123b6aa4
Many harvester behavior improvements; summary below.
...
Implemented Harvester territory marking with a simple resource claim system in ResourceClaimLayer trait added to World.
Added customCost for PathSearch to support new Harvester search preferences.
Explicit delivery order forces harvester to always deliver to that refinery.
Explicit harvest order frees harvester from forced delivery refinery and allows for auto-balancing.
Harvesters auto-balance refinery choice such that no more than 3 harvesters are linked to any one refinery at a time.
Harvesters try very hard to not block the refinery dock location.
Harvesters try to avoid enemy territory when searching for resources.
Group-select harvest order intelligently disperses harvesters around the order location.
Fixed PathFinder caching to not be a sliding window. This is a correctness issue. Sliding window causes no-route paths to be cached permanently in tight move loops and doesn't allow eventual progress to be made. This may have negative performance implications.
2012-06-24 20:26:00 -05:00
James Dunne
9c49143534
New types for cell and pixel coordinate position/vectors.
2012-06-21 15:36:59 -05:00
unknown
21ab0b461c
Added straightforward hover behavior for all units. Give a unit a nonzero Altitude: in its Mobile: block and the WithShadow: trait to make it hover.
2012-06-18 20:53:38 +12:00
Chris Forbes
38b5a8d4f8
Fix #1327 - div/0 in Drag with extreme movement speeds
2012-03-03 18:17:21 +13:00
Chris Forbes
6cb8ee1f9f
expose appropriate *Inits, and make them work in editor
2011-11-06 18:17:13 +13:00
Chris Forbes
bc6af1841b
fix indents everywhere
2011-10-18 15:10:17 +13:00
Chris Forbes
2bc260c833
move Activity from OpenRA.Traits.Activities namespace to OpenRA.Traits
2011-10-06 23:11:58 +13:00
Chris Forbes
55036cd58c
fix trailing whitespace everywhere
2011-09-26 08:40:39 +13:00
Chris Forbes
257bd6f431
fixed #849 -- forceMove plumbing removed, noone uses it.
2011-08-17 07:52:35 +12:00
Chris Forbes
36f6e503ef
clean up some of the noise in Move
2011-08-15 14:48:17 +12:00
Chris Forbes
5546e977a8
add audio feedback for Stop order
2011-08-13 15:01:42 +12:00
Chris Forbes
c4666df6b9
fix long line in Mobile
2011-08-13 15:01:41 +12:00
Chris Forbes
9f0f8d381f
map scatter->move for audio; #1093
2011-08-13 15:01:41 +12:00
Chris Forbes
ddc1311d87
Make RenderUnit require IFacing; RenderSimple can be used for crates, mines, etc; fix husk facing init
2011-08-09 08:51:35 +12:00
Paul Chote
19ead53223
Add a WarnCrush method to ICrushable which is called when a crusher begins to enter the cell.
2011-07-15 20:10:21 +12:00