OpenTTD Source
20241108-master-g80f628063a
|
Implementation of YAPF for water regions, which are used for finding intermediate ship destinations. More...
#include "../../stdafx.h"
#include "../../ship.h"
#include "yapf.hpp"
#include "yapf_ship_regions.h"
#include "../water_regions.h"
#include "../../safeguards.h"
Go to the source code of this file.
Data Structures | |
struct | CYapfRegionPatchNodeKey |
Yapf Node Key that represents a single patch of interconnected water within a water region. More... | |
struct | CYapfRegionNodeT< Tkey_ > |
Yapf Node for water regions. More... | |
class | CYapfOriginRegionT< Types > |
YAPF origin for water regions. More... | |
class | CYapfDestinationRegionT< Types > |
YAPF destination provider for water regions. More... | |
class | CYapfFollowRegionT< Types > |
YAPF node following for water region pathfinding. More... | |
class | CYapfCostRegionT< Types > |
Cost Provider of YAPF for water regions. More... | |
struct | DummyFollower |
struct | CYapfRegion_TypesT< Tpf_, Tnode_list > |
Config struct of YAPF for route planning. More... | |
struct | CYapfRegionWater |
Typedefs | |
typedef CNodeList_HashTableT< CYapfRegionNodeT< CYapfRegionPatchNodeKey >, 12, 12 > | CRegionNodeListWater |
Functions | |
uint | ManhattanDistance (const CYapfRegionPatchNodeKey &a, const CYapfRegionPatchNodeKey &b) |
std::vector< WaterRegionPatchDesc > | YapfShipFindWaterRegionPath (const Ship *v, TileIndex start_tile, int max_returned_path_length) |
Finds a path at the water region level. More... | |
Variables | |
constexpr int | DIRECT_NEIGHBOR_COST = 100 |
constexpr int | NODES_PER_REGION = 4 |
constexpr int | MAX_NUMBER_OF_NODES = 65536 |
Implementation of YAPF for water regions, which are used for finding intermediate ship destinations.
Definition in file yapf_ship_regions.cpp.
std::vector<WaterRegionPatchDesc> YapfShipFindWaterRegionPath | ( | const Ship * | v, |
TileIndex | start_tile, | ||
int | max_returned_path_length | ||
) |
Finds a path at the water region level.
Note that the starting region is always included if the path was found.
v | The ship to find a path for. |
start_tile | The tile to start searching from. |
max_returned_path_length | The maximum length of the path that will be returned. |
Definition at line 310 of file yapf_ship_regions.cpp.