# vehiclelist.cpp File Reference

Lists of vehicles. More...

`#include "stdafx.h"`
`#include "vehicle_gui.h"`
`#include "train.h"`
`#include "vehiclelist.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.
void | GenerateVehicleSortList (VehicleList *list, VehicleType type, Owner owner, uint32 index, uint16 window_type)
| Generate a list of vehicles based on window type.

## Detailed Description

Lists of vehicles.

Definition in file vehiclelist.cpp.

## Function Documentation

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

Generate a list of vehicles inside a depot.

Parameters:

  | type | Type of vehicle
  | tile | The tile the depot is located on
  | engines | Pointer to list to add vehicles to
  | wagons | Pointer to list to add wagons to (can be NULL)
  | individual_wagons | If 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 25 of file vehiclelist.cpp.

References SmallVector< T, S >::Append(), SmallVector< T, S >::Clear(), SmallVector< T, S >::Compact(), SpecializedVehicle< T, Type >::First(), SpecializedVehicle< Train, VEH_TRAIN >::From(), Train::IsArticulatedPart(), Train::IsFreeWagon(), Vehicle::IsInDepot(), Vehicle::IsPrimaryVehicle(), Train::IsRearDualheaded(), Vehicle::tile, TRACK_BIT_DEPOT, BaseVehicle::type, and VEH_TRAIN.

Referenced by CmdDepotMassAutoReplace(), CmdDepotSellAllVehicles(), CmdMassStartStopVehicle(), and DepotWindow::OnPaint().

void GenerateVehicleSortList | ( | VehicleList * | list,
|  | VehicleType | type,
|  | Owner | owner,
|  | uint32 | index,
|  | uint16 | window_type |
| ) |  |  |

Generate a list of vehicles based on window type.

Parameters:

  | list | Pointer to list to add vehicles to
  | type | Type of vehicle
  | owner | Company to generate list for

  index

  This parameter has different meanings depending on window_type
  - VLW_STATION_LIST: index of station to generate a list for
  - VLW_SHARED_ORDERS: index of order to generate a list for
  - VLW_STANDARD: not used
  - VLW_DEPOT_LIST: TileIndex of the depot/hangar to make the list for
  - VLW_GROUP_LIST: index of group to generate a list for
  - VLW_WAYPOINT_LIST: index of waypoint to generate a list for

  | window_type | The type of window the list is for, using the VLW_ flags in vehicle_gui.h

Definition at line 80 of file vehiclelist.cpp.

References SmallVector< T, S >::Append(), SmallVector< T, S >::Clear(), SmallVector< T, S >::Compact(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tcache, Tzero >::PoolItem<&_vehicle_pool >::Get(), Order::GetDepotActionType(), Order::GetDestination(), Vehicle::group_id, Vehicle::IsPrimaryVehicle(), Order::IsType(), Vehicle::NextShared(), ODATFB_NEAREST_DEPOT, and BaseVehicle::type.

Referenced by CmdMassStartStopVehicle(), and SendAllVehiclesToDepot().