OpenTTD Source  20241108-master-g80f628063a
roadstop.cpp File Reference

Implementation of the roadstop base class. More...

#include "stdafx.h"
#include "roadveh.h"
#include "core/pool_func.hpp"
#include "roadstop_base.h"
#include "station_base.h"
#include "vehicle_func.h"
#include "safeguards.h"

Go to the source code of this file.

Data Structures

struct  RoadStopEntryRebuilderHelper
 Helper for finding RVs in a road stop. More...
 

Typedefs

typedef std::list< const RoadVehicle * > RVList
 A list of road vehicles.
 

Functions

VehicleFindVehiclesInRoadStop (Vehicle *v, void *data)
 Add road vehicles to the station's list if needed. More...
 
static DiagDirection GetEntryDirection (bool east, Axis axis)
 Get the DiagDirection for entering the drive through stop from the given 'side' (east or west) on the given axis. More...
 

Variables

RoadStopPool _roadstop_pool ("RoadStop")
 The pool of roadstops.
 

Detailed Description

Implementation of the roadstop base class.

Definition in file roadstop.cpp.

Function Documentation

◆ FindVehiclesInRoadStop()

Vehicle* FindVehiclesInRoadStop ( Vehicle v,
void *  data 
)

Add road vehicles to the station's list if needed.

Parameters
vthe found vehicle
datathe extra data used to make our decision
Returns
always nullptr

Definition at line 326 of file roadstop.cpp.

References RoadStopEntryRebuilderHelper::dir, Vehicle::direction, DirToDiagDir(), SpecializedVehicle< T, Type >::From(), Vehicle::IsPrimaryVehicle(), RVSB_IN_ROAD_STOP, RoadVehicle::state, BaseVehicle::type, VEH_ROAD, RoadStopEntryRebuilderHelper::vehicles, Vehicle::vehstatus, and VS_CRASHED.

Referenced by RoadStop::Entry::Rebuild().

◆ GetEntryDirection()

static DiagDirection GetEntryDirection ( bool  east,
Axis  axis 
)
static

Get the DiagDirection for entering the drive through stop from the given 'side' (east or west) on the given axis.

Parameters
eastEnter from the east when true or from the west when false.
axisThe axis of the drive through stop.
Returns
The DiagDirection the vehicles far when entering 'our' side of the drive through stop.

Definition at line 351 of file roadstop.cpp.

References AXIS_X, AXIS_Y, DIAGDIR_NE, DIAGDIR_NW, DIAGDIR_SE, DIAGDIR_SW, and RoadStop::east.

Referenced by RoadStop::Entry::Rebuild().