OpenTTD Source 20260206-master-g4d4e37dbf1
timetable_cmd.h File Reference

Command definitions related to timetables. More...

#include "command_type.h"
#include "order_type.h"
#include "timer/timer_game_tick.h"
#include "vehicle_type.h"

Go to the source code of this file.

Functions

CommandCost CmdChangeTimetable (DoCommandFlags flags, VehicleID veh, VehicleOrderID order_number, ModifyTimetableFlags mtf, uint16_t data)
 Change timetable data of an order.
CommandCost CmdBulkChangeTimetable (DoCommandFlags flags, VehicleID veh, ModifyTimetableFlags mtf, uint16_t data)
 Change timetable data of all orders of a vehicle.
CommandCost CmdSetVehicleOnTime (DoCommandFlags flags, VehicleID veh, bool apply_to_group)
 Clear the lateness counter to make the vehicle on time.
CommandCost CmdAutofillTimetable (DoCommandFlags flags, VehicleID veh, bool autofill, bool preserve_wait_time)
 Start or stop filling the timetable automatically from the time the vehicle actually takes to complete it.
CommandCost CmdSetTimetableStart (DoCommandFlags flags, VehicleID veh_id, bool timetable_all, TimerGameTick::TickCounter start_tick)
 Set the start date of the timetable.

Detailed Description

Command definitions related to timetables.

Definition in file timetable_cmd.h.

Function Documentation

◆ CmdAutofillTimetable()

CommandCost CmdAutofillTimetable ( DoCommandFlags flags,
VehicleID veh,
bool autofill,
bool preserve_wait_time )

Start or stop filling the timetable automatically from the time the vehicle actually takes to complete it.

When starting to autofill the current times are cleared and the timetable will start again from scratch.

Parameters
flagsOperation to perform.
vehVehicle index.
autofillEnable or disable autofill
preserve_wait_timeSet to preserve waiting times in non-destructive mode
Returns
the cost of this operation or an error

Definition at line 425 of file timetable_cmd.cpp.

References AutofillPreserveWaitTime, AutofillTimetable, CheckOwnership(), CMD_ERROR, Execute, CommandCost::Failed(), Vehicle::FirstShared(), Vehicle::IsPrimaryVehicle(), BaseConsist::lateness_counter, Vehicle::NextShared(), Vehicle::orders, Vehicle::owner, BaseBitSet< Timpl, Tvalue_type, Tstorage, Tmask >::Reset(), BaseBitSet< Timpl, Tvalue_type, Tstorage, Tmask >::Set(), SetWindowDirty(), BaseBitSet< Timpl, Tvalue_type, Tstorage, Tmask >::Test(), BaseConsist::timetable_start, TimetableStarted, BaseConsist::vehicle_flags, and WC_VEHICLE_TIMETABLE.

◆ CmdBulkChangeTimetable()

CommandCost CmdBulkChangeTimetable ( DoCommandFlags flags,
VehicleID veh,
ModifyTimetableFlags mtf,
uint16_t data )

Change timetable data of all orders of a vehicle.

Parameters
flagsOperation to perform.
vehVehicle with the orders to change.
mtfTimetable data to change (
See also
ModifyTimetableFlags)
Parameters
dataThe data to modify as specified by mtf. 0 to clear times, UINT16_MAX to clear speed limit.
Returns
the cost of this operation or an error

Definition at line 228 of file timetable_cmd.cpp.

References CheckOwnership(), CMD_ERROR, Execute, CommandCost::Failed(), Vehicle::GetNumOrders(), Vehicle::GetOrder(), Vehicle::IsPrimaryVehicle(), Order::IsType(), Vehicle::owner, and BaseBitSet< Timpl, Tvalue_type, Tstorage, Tmask >::Test().

◆ CmdChangeTimetable()

CommandCost CmdChangeTimetable ( DoCommandFlags flags,
VehicleID veh,
VehicleOrderID order_number,
ModifyTimetableFlags mtf,
uint16_t data )

Change timetable data of an order.

Parameters
flagsOperation to perform.
vehVehicle with the orders to change.
order_numberOrder index to modify.
mtfTimetable data to change (
See also
ModifyTimetableFlags)
Parameters
dataThe data to modify as specified by mtf. 0 to clear times, UINT16_MAX to clear speed limit.
Returns
the cost of this operation or an error

Definition at line 133 of file timetable_cmd.cpp.

References ChangeTimetable(), CheckOwnership(), CMD_ERROR, Execute, CommandCost::Failed(), Vehicle::FirstShared(), Order::GetMaxSpeed(), Order::GetNonStopType(), Vehicle::GetOrder(), Order::GetTravelTime(), Order::GetType(), Order::GetWaitTime(), Vehicle::IsPrimaryVehicle(), Order::IsTravelTimetabled(), Order::IsType(), Order::IsWaitTimetabled(), MTF_TRAVEL_SPEED, MTF_TRAVEL_TIME, MTF_WAIT_TIME, Vehicle::NextShared(), NoDestination, Vehicle::owner, BaseConsist::ResetDepotUnbunching(), BaseBitSet< Timpl, Tvalue_type, Tstorage, Tmask >::Test(), BaseVehicle::type, and VEH_AIRCRAFT.

◆ CmdSetTimetableStart()

◆ CmdSetVehicleOnTime()

CommandCost CmdSetVehicleOnTime ( DoCommandFlags flags,
VehicleID veh,
bool apply_to_group )

Clear the lateness counter to make the vehicle on time.

Parameters
flagsOperation to perform.
vehVehicle with the orders to change.
apply_to_groupSet to reset the late counter for all vehicles sharing the orders.
Returns
the cost of this operation or an error

Definition at line 259 of file timetable_cmd.cpp.

References CheckOwnership(), CMD_ERROR, Execute, CommandCost::Failed(), Vehicle::FirstShared(), Vehicle::IsPrimaryVehicle(), BaseConsist::lateness_counter, Vehicle::NextShared(), Vehicle::orders, Vehicle::owner, BaseConsist::ResetDepotUnbunching(), SetWindowDirty(), BaseBitSet< Timpl, Tvalue_type, Tstorage, Tmask >::Test(), TimetableStarted, BaseConsist::vehicle_flags, and WC_VEHICLE_TIMETABLE.