OpenTTD Source  20241120-master-g6d3adc6169
vehiclelist.cpp File Reference

Lists of vehicles. More...

#include "stdafx.h"
#include "train.h"
#include "vehicle_func.h"
#include "vehiclelist.h"
#include "vehiclelist_func.h"
#include "group.h"
#include "safeguards.h"

Go to the source code of this file.

Data Structures

struct  BuildDepotVehicleListData
 Data for building a depot vehicle list. More...
 

Functions

static VehicleBuildDepotVehicleListProc (Vehicle *v, void *data)
 Add vehicles to a depot vehicle list. More...
 
void BuildDepotVehicleList (VehicleType type, TileIndex tile, VehicleList *engines, VehicleList *wagons, bool individual_wagons)
 Generate a list of vehicles inside a depot. More...
 
bool GenerateVehicleSortList (VehicleList *list, const VehicleListIdentifier &vli)
 Generate a list of vehicles based on window type. More...
 

Detailed Description

Lists of vehicles.

Definition in file vehiclelist.cpp.

Function Documentation

◆ BuildDepotVehicleList()

void BuildDepotVehicleList ( VehicleType  type,
TileIndex  tile,
VehicleList engines,
VehicleList wagons,
bool  individual_wagons 
)

Generate a list of vehicles inside a depot.

Parameters
typeType of vehicle
tileThe tile the depot is located on
enginesPointer to list to add vehicles to
wagonsPointer to list to add wagons to (can be nullptr)
individual_wagonsIf true add every wagon to wagons which is not attached to an engine. If false only add the first wagon of every row.

Definition at line 104 of file vehiclelist.cpp.

References BuildDepotVehicleListProc(), and FindVehicleOnPos().

Referenced by CmdDepotMassAutoReplace(), CmdDepotSellAllVehicles(), and CmdMassStartStopVehicle().

◆ BuildDepotVehicleListProc()

static Vehicle* BuildDepotVehicleListProc ( Vehicle v,
void *  data 
)
static

Add vehicles to a depot vehicle list.

Parameters
vThe found vehicle.
dataThe depot vehicle list data.
Returns
Always nullptr.

Definition at line 78 of file vehiclelist.cpp.

References SpecializedVehicle< T, Type >::First(), SpecializedVehicle< T, Type >::From(), Vehicle::IsArticulatedPart(), GroundVehicle< T, Type >::IsFreeWagon(), Vehicle::IsInDepot(), Vehicle::IsPrimaryVehicle(), GroundVehicle< T, Type >::IsRearDualheaded(), BaseVehicle::type, and VEH_TRAIN.

Referenced by BuildDepotVehicleList().

◆ GenerateVehicleSortList()

bool GenerateVehicleSortList ( VehicleList list,
const VehicleListIdentifier vli 
)

Generate a list of vehicles based on window type.

Parameters
listPointer to list to add vehicles to
vliThe identifier of this vehicle list.
Returns
false if invalid list is requested

Definition at line 119 of file vehiclelist.cpp.

References VehicleListIdentifier::type.

Referenced by CmdMassStartStopVehicle(), and SendAllVehiclesToDepot().