Commands related to time tabling. More...
#include "stdafx.h"
#include "command_func.h"
#include "company_func.h"
#include "date_func.h"
#include "window_func.h"
#include "vehicle_base.h"
#include "table/strings.h"
Go to the source code of this file.
Functions | |
static void | ChangeTimetable (Vehicle *v, VehicleOrderID order_number, uint16 time, bool is_journey) |
Change/update a particular timetable entry. | |
CommandCost | CmdChangeTimetable (TileIndex tile, DoCommandFlag flags, uint32 p1, uint32 p2, const char *text) |
Add or remove waiting times from an order. | |
CommandCost | CmdSetVehicleOnTime (TileIndex tile, DoCommandFlag flags, uint32 p1, uint32 p2, const char *text) |
Clear the lateness counter to make the vehicle on time. | |
CommandCost | CmdSetTimetableStart (TileIndex tile, DoCommandFlag flags, uint32 p1, uint32 p2, const char *text) |
Set the start date of the timetable. | |
CommandCost | CmdAutofillTimetable (TileIndex tile, DoCommandFlag flags, uint32 p1, uint32 p2, const char *text) |
Start or stop filling the timetable automatically from the time the vehicle actually takes to complete it. | |
void | UpdateVehicleTimetable (Vehicle *v, bool travelling) |
Update the timetable for the vehicle. |
Commands related to time tabling.
Definition in file timetable_cmd.cpp.
static void ChangeTimetable | ( | Vehicle * | v, | |
VehicleOrderID | order_number, | |||
uint16 | time, | |||
bool | is_journey | |||
) | [static] |
Change/update a particular timetable entry.
v | The vehicle to change the timetable of. | |
order_number | The index of the timetable in the order list. | |
time | The new time of the timetable entry. | |
is_journey | Whether to set the waiting or travelling time. |
Definition at line 28 of file timetable_cmd.cpp.
References Vehicle::cur_real_order_index, Vehicle::current_order, Order::Equals(), Vehicle::FirstShared(), Vehicle::GetOrder(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem< Tpool >::index, Vehicle::list, Vehicle::NextShared(), Vehicle::orders, SetWindowDirty(), Order::travel_time, OrderList::UpdateOrderTimetable(), and Order::wait_time.
Referenced by CmdChangeTimetable(), and UpdateVehicleTimetable().
CommandCost CmdAutofillTimetable | ( | TileIndex | tile, | |
DoCommandFlag | flags, | |||
uint32 | p1, | |||
uint32 | p2, | |||
const char * | text | |||
) |
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.
tile | Not used. | |
flags | Operation to perform. | |
p1 | Vehicle index. | |
p2 | Various bitstuffed elements
| |
text | unused |
Definition at line 191 of file timetable_cmd.cpp.
References CheckOwnership(), ClrBit(), CMD_ERROR, DC_EXEC, CommandCost::Failed(), Vehicle::FirstShared(), GB(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_vehicle_pool >::GetIfValid(), HasBit(), Vehicle::IsPrimaryVehicle(), Vehicle::lateness_counter, Vehicle::NextShared(), Vehicle::owner, SetBit(), SetWindowDirty(), Vehicle::timetable_start, Vehicle::vehicle_flags, VF_AUTOFILL_PRES_WAIT_TIME, VF_AUTOFILL_TIMETABLE, and VF_TIMETABLE_STARTED.
CommandCost CmdChangeTimetable | ( | TileIndex | tile, | |
DoCommandFlag | flags, | |||
uint32 | p1, | |||
uint32 | p2, | |||
const char * | text | |||
) |
Add or remove waiting times from an order.
tile | Not used. | |
flags | Operation to perform. | |
p1 | Various bitstuffed elements | |
p2 | The amount of time to wait.
| |
text | unused |
Definition at line 68 of file timetable_cmd.cpp.
References ChangeTimetable(), CheckOwnership(), CMD_ERROR, DC_EXEC, CommandCost::Failed(), GB(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_vehicle_pool >::GetIfValid(), Order::GetNonStopType(), Vehicle::GetOrder(), Order::GetType(), HasBit(), Vehicle::IsPrimaryVehicle(), Order::IsType(), Vehicle::owner, return_cmd_error, Order::travel_time, and Order::wait_time.
CommandCost CmdSetTimetableStart | ( | TileIndex | tile, | |
DoCommandFlag | flags, | |||
uint32 | p1, | |||
uint32 | p2, | |||
const char * | text | |||
) |
Set the start date of the timetable.
tile | Not used. | |
flags | Operation to perform. | |
p1 | Vehicle id. | |
p2 | The timetable start date. | |
text | Not used. |
Definition at line 152 of file timetable_cmd.cpp.
References _date, CheckOwnership(), ClrBit(), CMD_ERROR, DAYS_IN_LEAP_YEAR, DC_EXEC, CommandCost::Failed(), GB(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_vehicle_pool >::GetIfValid(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem< Tpool >::index, Vehicle::IsPrimaryVehicle(), Vehicle::lateness_counter, MAX_DAY, Vehicle::owner, SetWindowDirty(), Vehicle::timetable_start, Vehicle::vehicle_flags, and VF_TIMETABLE_STARTED.
CommandCost CmdSetVehicleOnTime | ( | TileIndex | tile, | |
DoCommandFlag | flags, | |||
uint32 | p1, | |||
uint32 | p2, | |||
const char * | text | |||
) |
Clear the lateness counter to make the vehicle on time.
tile | Not used. | |
flags | Operation to perform. | |
p1 | Various bitstuffed elements
| |
p2 | unused | |
text | unused |
Definition at line 125 of file timetable_cmd.cpp.
References CheckOwnership(), CMD_ERROR, DC_EXEC, CommandCost::Failed(), GB(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_vehicle_pool >::GetIfValid(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem< Tpool >::index, Vehicle::IsPrimaryVehicle(), Vehicle::lateness_counter, Vehicle::owner, and SetWindowDirty().
void UpdateVehicleTimetable | ( | Vehicle * | v, | |
bool | travelling | |||
) |
Update the timetable for the vehicle.
v | The vehicle to update the timetable for. | |
travelling | Whether we just travelled or waited at a station. |
Definition at line 237 of file timetable_cmd.cpp.
References _date, _date_fract, CeilDiv(), ChangeTimetable(), ClrBit(), Vehicle::cur_real_order_index, Vehicle::current_order, Vehicle::current_order_time, DAY_TICKS, Vehicle::FirstShared(), Vehicle::GetFirstOrder(), OrderList::GetTimetableTotalDuration(), HasBit(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem< Tpool >::index, INVALID_TICKS, Order::IsType(), Vehicle::lateness_counter, Vehicle::list, max(), Vehicle::NextShared(), Vehicle::orders, SetBit(), SetWindowDirty(), Vehicle::timetable_start, Order::travel_time, Vehicle::vehicle_flags, VF_AUTOFILL_PRES_WAIT_TIME, VF_AUTOFILL_TIMETABLE, VF_TIMETABLE_STARTED, and Order::wait_time.
Referenced by Vehicle::BeginLoading(), Vehicle::LeaveStation(), ProcessOrders(), UpdateOrderDest(), and VehicleEnterDepot().