OpenTTD Source: src/train_cmd.h File Reference

OpenTTD Source 13.2.1

Functions
train_cmd.h File Reference
`#include "command_type.h"`
`#include "engine_type.h"`
`#include "vehicle_type.h"`

Go to the source code of this file.

## Functions
CommandCost | CmdBuildRailVehicle (DoCommandFlag flags, TileIndex tile, const Engine *e, Vehicle **ret)
| Build a railroad vehicle. More...
CommandCost | CmdSellRailWagon (DoCommandFlag flags, Vehicle *t, bool sell_chain, bool backup_order, ClientID user)
| Sell a (single) train wagon/engine. More...
CommandCost | CmdMoveRailVehicle (DoCommandFlag flags, VehicleID src_veh, VehicleID dest_veh, bool move_chain)
| Move a rail vehicle around inside the depot. More...
CommandCost | CmdForceTrainProceed (DoCommandFlag flags, VehicleID veh_id)
| Force a train through a red signal. More...
CommandCost | CmdReverseTrainDirection (DoCommandFlag flags, VehicleID veh_id, bool reverse_single_veh)
| Reverse train. More...
void | CcBuildWagon (Commands cmd, const CommandCost &result, VehicleID new_veh_id, uint, uint16, CargoArray, TileIndex tile, EngineID, bool, CargoID, ClientID)
| Callback for building wagons. More...

## Detailed Description

Command definitions related to trains.

Definition in file train_cmd.h.

## Function Documentation

## ◆ CcBuildWagon()

void CcBuildWagon | ( | Commands | cmd,
|  | const CommandCost & | result,
|  | VehicleID | new_veh_id,
|  | uint | ,
|  | uint16 | ,
|  | CargoArray | ,
|  | TileIndex | tile,
|  | EngineID | ,
|  | bool | ,
|  | CargoID | ,
|  | ClientID |
| ) |  |

Callback for building wagons.

Parameters

  cmd | Unused.
  result | The result of the command.
  new_veh_id | ID of the ne vehicle.
  tile | The tile the command was executed on.

Definition at line 30 of file train_gui.cpp.

## ◆ CmdBuildRailVehicle()

CommandCost CmdBuildRailVehicle | ( | DoCommandFlag | flags,
|  | TileIndex | tile,
|  | const Engine * | e,
|  | Vehicle ** | ret
| ) |  |

Build a railroad vehicle.

Parameters

  | flags | type of operation.
  | tile | tile of the depot where rail-vehicle is built.
  | e | the engine to build.
  [out] | ret | the vehicle that has been built.

Returns
  the cost of this operation or an error.

Definition at line 741 of file train_cmd.cpp.

References CMD_ERROR, CmdBuildRailWagon(), DC_EXEC, GetRailDepotDirection(), GetRailType(), HasPowerOnRail(), RailVehicleInfo::railtype, RAILVEH_WAGON, and Vehicle::tile.

## ◆ CmdForceTrainProceed()

CommandCost CmdForceTrainProceed | ( | DoCommandFlag | flags,
|  | VehicleID | veh_id
| ) |  |

Force a train through a red signal.

Parameters

  flags | type of operation
  veh_id | train to ignore the red signal

Returns
  the cost of this operation or an error

Definition at line 2109 of file train_cmd.cpp.

References CheckOwnership(), CMD_ERROR, DC_EXEC, CommandCost::Failed(), SpecializedVehicle< Train, Type >::GetIfValid(), HasBit(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem< Tpool >::index, GroundVehicle< T, Type >::IsChainInDepot(), Train::IsPrimaryVehicle(), Vehicle::owner, SetWindowDirty(), TFP_NONE, TFP_SIGNAL, TFP_STUCK, VRF_TRAIN_STUCK, and WC_VEHICLE_VIEW.

## ◆ CmdMoveRailVehicle()

CommandCost CmdMoveRailVehicle | ( | DoCommandFlag | flags,
|  | VehicleID | src_veh,
|  | VehicleID | dest_veh,
|  | bool | move_chain
| ) |  |

Move a rail vehicle around inside the depot.

Parameters

  flags | type of operation Note: DC_AUTOREPLACE is set when autoreplace tries to undo its modifications or moves vehicles to temporary locations inside the depot.
  src_veh | source vehicle index
  dest_veh | what wagon to put the source wagon AFTER, XXX - INVALID_VEHICLE to make a new line
  move_chain | move all vehicles following the source vehicle

Returns
  the cost of this operation or an error

Definition at line 1181 of file train_cmd.cpp.

References CheckOwnership(), CMD_ERROR, DC_AUTOREPLACE, CommandCost::Failed(), SpecializedVehicle< Train, Type >::GetIfValid(), INVALID_VEHICLE, GroundVehicle< T, Type >::IsEngine(), Vehicle::owner, Vehicle::vehstatus, and VS_CRASHED.

## ◆ CmdReverseTrainDirection()

CommandCost CmdReverseTrainDirection | ( | DoCommandFlag | flags,
|  | VehicleID | veh_id,
|  | bool | reverse_single_veh
| ) |  |

Reverse train.

Parameters

  flags | type of operation
  veh_id | train to reverse
  reverse_single_veh | if true, reverse a unit in a train (needs to be in a depot)

Returns
  the cost of this operation or an error

Definition at line 2039 of file train_cmd.cpp.

References CheckOwnership(), CMD_ERROR, CommandCost::Failed(), SpecializedVehicle< Train, Type >::GetIfValid(), HasBit(), GroundVehicle< T, Type >::IsMultiheaded(), and Vehicle::owner.

## ◆ CmdSellRailWagon()

CommandCost CmdSellRailWagon | ( | DoCommandFlag | flags,
|  | Vehicle * | t,
|  | bool | sell_chain,
|  | bool | backup_order,
|  | ClientID | user
| ) |  |

Sell a (single) train wagon/engine.

Parameters

  flags | type of operation
  t | the train wagon to sell
  sell_chain | the selling mode sell_chain = false: only sell the single dragged wagon/engine (and any belonging rear-engines) sell_chain = true: sell the vehicle and all vehicles following it in the chain if the wagon is dragged, don't delete the possibly belonging rear-engine to some front
  backup_order | make order backup?
  user | the user for the order backup.

Returns
  the cost of this operation or an error

Definition at line 1373 of file train_cmd.cpp.

References CommandCost::AddCost(), Vehicle::AddToShared(), ArrangeTrains(), OrderBackup::Backup(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_orderlist_pool >::CanAllocateItem(), Vehicle::CopyVehicleConfigAndStatistics(), GroupStatistics::CountVehicle(), DC_AUTOREPLACE, DC_EXEC, DeleteVehicleOrders(), EXPENSES_NEW_VEHICLES, CommandCost::Failed(), Vehicle::first, SpecializedVehicle< T, Type >::First(), SpecializedVehicle< Train, Type >::From(), SpecializedVehicle< T, Type >::GetFirstEnginePart(), InvalidateWindowClassesData(), InvalidateWindowData(), GroundVehicle< T, Type >::IsEngine(), Vehicle::IsFrontEngine(), Train::IsPrimaryVehicle(), GroundVehicle< T, Type >::IsRearDualheaded(), MakeTrainBackup(), SpecializedVehicle< T, Type >::Next(), NormaliseSubtypes(), NormaliseTrainHead(), Vehicle::orders, RestoreTrainBackup(), return_cmd_error, Vehicle::tile, ValidateTrains(), WC_TRAINS_LIST, and WC_VEHICLE_DEPOT.

Referenced by CmdSellVehicle().