Files
OpenRA/OpenRA.Mods.Common
RoosterDragon df858e06d6 Fix HierarchicalPathFinder failing to consider multiple source locations.
When asked to find a path from multiple source locations, the abstract search is used to determine which source locations are viable. Source locations that cannot be reached on the abstract graph are excluded from the local path search. As we know the locations are unreachable, this prevents the local path search from expanding over the entire search space in an attempt to find these unreachable locations, preventing wasted effort.

In order to determine these reachable locations, the abstract search is expanded successively trying to reach each source location each time. However, this failed to account for a property of the ExpandToTarget for which a comment is now added. If the location was found previously, then expanding to try and find it again will fail. If the source locations were close together, it was likely that the initial expansions of the search space would have included them, and thus they would not be found on a later expansion. This would mean these locations would incorrectly be thought unreachable.

To fix this, we check if the location has already been explored (has CellStatus.Closed in the graph). If so we can check the cost to determine if it is reachable.
2022-08-13 11:58:45 +03:00
..
2022-05-28 00:35:10 -05:00
2022-05-28 00:35:10 -05:00
2022-05-28 00:35:10 -05:00
2022-05-28 00:35:10 -05:00
2022-05-28 00:35:10 -05:00
2022-05-28 00:35:10 -05:00
2022-05-28 00:35:10 -05:00
2022-05-28 00:35:10 -05:00
2022-05-28 00:35:10 -05:00