OpenTTD Source 20260206-master-g4d4e37dbf1
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.

Functions

void BuildDepotVehicleList (VehicleType type, TileIndex tile, VehicleList *engines, VehicleList *wagons, bool individual_wagons)
 Generate a list of vehicles inside a depot.
bool GenerateVehicleSortList (VehicleList *list, const VehicleListIdentifier &vli)
 Generate a list of vehicles based on window type.

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 43 of file vehiclelist.cpp.

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

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

◆ 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 70 of file vehiclelist.cpp.

References ALL_GROUP, VehicleListIdentifier::company, FindVehiclesWithOrder(), Vehicle::group_id, GroupIsInGroup(), Vehicle::IsPrimaryVehicle(), NearestDepot, Vehicle::NextShared(), Vehicle::owner, BaseVehicle::type, VehicleListIdentifier::type, VL_DEPOT_LIST, VL_GROUP_LIST, VL_SHARED_ORDERS, VL_STANDARD, VL_STATION_LIST, and VehicleListIdentifier::vtype.

Referenced by CmdAddVehicleGroup(), CmdMassStartStopVehicle(), and SendAllVehiclesToDepot().