yapf_road.cpp File Reference

The road pathfinding. More...

#include "../stdafx.h"
#include "../depot_base.h"
#include "../station_base.h"
#include "../roadveh.h"
#include "../cargotype.h"
#include "../newgrf_cargo.h"
#include "yapf.hpp"
#include "yapf_node_road.hpp"

Go to the source code of this file.

Data Structures

class  CYapfCostRoadT< Types >
class  CYapfDestinationAnyDepotRoadT< Types >
class  CYapfDestinationAnyRoadVehicleCompatibleStopOfGivenStationT< Types >
class  CYapfDestinationTileRoadT< Types >
class  CYapfFollowRoadT< Types >
struct  CYapfRoad_TypesT< Tpf_, Tnode_list, Tdestination >
struct  CYapfRoad1
struct  CYapfRoad2
struct  CYapfRoadAnyDepot1
struct  CYapfRoadAnyDepot2
struct  CYapfRoadAnyRoadVehicleCompatibleStopOfGivenStation1
struct  CYapfRoadAnyRoadVehicleCompatibleStopOfGivenStation2

Functions

Trackdir YapfChooseRoadTrack (const Vehicle *v, TileIndex tile, DiagDirection enterdir)
 Finds the best path for given road vehicle.
uint YapfRoadVehDistanceToTile (const Vehicle *v, TileIndex tile)
 Used by RV multistop feature to find the nearest road stop that has a free slot.
Depot * YapfFindNearestRoadDepot (const Vehicle *v)
 Used when user sends RV to the nearest depot or if RV needs servicing.
bool YapfFindNearestRoadVehicleCompatibleStop (const Vehicle *v, StationID station, TileIndex *stop_tile)
 Used to determinine the closest reachable compatible road stop for a given vehicle.


Detailed Description

The road pathfinding.

Definition in file yapf_road.cpp.


Function Documentation

Trackdir YapfChooseRoadTrack ( const Vehicle *  v,
TileIndex  tile,
DiagDirection  enterdir 
)

Finds the best path for given road vehicle.

Parameters:
v the RV that needs to find a path
tile the tile to find the path from (should be next tile the RV is about to enter)
enterdir diagonal direction which the RV will enter this new tile from
Returns:
the best trackdir for next turn or INVALID_TRACKDIR if the path could not be found

Definition at line 536 of file yapf_road.cpp.

References _settings_game, YAPFSettings::disable_node_optimization, GameSettings::pf, and PathfinderSettings::yapf.

Referenced by RoadFindPathToDest().

Depot* YapfFindNearestRoadDepot ( const Vehicle *  v  ) 

Used when user sends RV to the nearest depot or if RV needs servicing.

Returns the nearest depot (or NULL if depot was not found).

Definition at line 572 of file yapf_road.cpp.

References _settings_game, YAPFSettings::disable_node_optimization, GetDepotByTile(), GetTileTrackStatus(), GetVehicleTrackdir(), GameSettings::pf, TrackdirToTrackdirBits(), TrackStatusToTrackdirBits(), TRANSPORT_ROAD, and PathfinderSettings::yapf.

bool YapfFindNearestRoadVehicleCompatibleStop ( const Vehicle *  v,
StationID  station,
TileIndex stop_tile 
)

Used to determinine the closest reachable compatible road stop for a given vehicle.

Parameters:
v vehicle that needs to go to the road stop
station the station the road stop must belong to
stop_tile receives the stop tile if a stop was found
Returns:
true if stop was found.

Definition at line 599 of file yapf_road.cpp.

References _settings_game, YAPFSettings::disable_node_optimization, GetTileTrackStatus(), GetVehicleTrackdir(), INVALID_TILE, GameSettings::pf, TrackdirToTrackdirBits(), TrackStatusToTrackdirBits(), TRANSPORT_ROAD, RoadStop::xy, and PathfinderSettings::yapf.

uint YapfRoadVehDistanceToTile ( const Vehicle *  v,
TileIndex  tile 
)

Used by RV multistop feature to find the nearest road stop that has a free slot.

Parameters:
v RV (its current tile will be the origin)
tile destination tile
Returns:
distance from origin tile to the destination (number of road tiles) or UINT_MAX if path not found

Definition at line 551 of file yapf_road.cpp.

References _settings_game, YAPFSettings::disable_node_optimization, GameSettings::pf, and PathfinderSettings::yapf.


Generated on Wed Dec 23 20:13:09 2009 for OpenTTD by  doxygen 1.5.6