Functions

timetable_cmd.cpp File Reference

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 "cmd_helper.h"
#include "table/strings.h"

Go to the source code of this file.

Functions

static void ChangeTimetable (Vehicle *v, VehicleOrderID order_number, uint16 val, ModifyTimetableFlags mtf)
 Change/update a particular timetable entry.
CommandCost CmdChangeTimetable (TileIndex tile, DoCommandFlag flags, uint32 p1, uint32 p2, const char *text)
 Change timetable data of 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.

Detailed Description

Commands related to time tabling.

Definition in file timetable_cmd.cpp.


Function Documentation

static void ChangeTimetable ( Vehicle v,
VehicleOrderID  order_number,
uint16  val,
ModifyTimetableFlags  mtf 
) [static]

Change/update a particular timetable entry.

Parameters:
v The vehicle to change the timetable of.
order_number The index of the timetable in the order list.
val The new data of the timetable entry.
mtf Which part of the timetable entry to change.

Definition at line 29 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, Order::max_speed, MTF_TRAVEL_SPEED, MTF_TRAVEL_TIME, MTF_WAIT_TIME, Vehicle::NextShared(), Vehicle::orders, SetWindowDirty(), Order::travel_time, OrderList::UpdateOrderTimetable(), Order::wait_time, and WC_VEHICLE_TIMETABLE.

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.

Parameters:
tile Not used.
flags Operation to perform.
p1 Vehicle index.
p2 Various bitstuffed elements

  • p2 = (bit 0) - Set to 1 to enable, 0 to disable autofill.
  • p2 = (bit 1) - Set to 1 to preserve waiting times in non-destructive mode
text unused
Returns:
the cost of this operation or an error

Definition at line 229 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, VF_TIMETABLE_STARTED, and WC_VEHICLE_TIMETABLE.

CommandCost CmdChangeTimetable ( TileIndex  tile,
DoCommandFlag  flags,
uint32  p1,
uint32  p2,
const char *  text 
)

Change timetable data of an order.

Parameters:
tile Not used.
flags Operation to perform.
p1 Various bitstuffed elements

  • p1 = (bit 0-19) - Vehicle with the orders to change.
  • p1 = (bit 20-27) - Order index to modify.
  • p1 = (bit 28-29) - Timetable data to change (
See also:
ModifyTimetableFlags)
Parameters:
p2 The amount of time to wait.

  • p2 = (bit 0-15) - The data to modify as specified by p1 bits 28-29.
text unused
Returns:
the cost of this operation or an error

Definition at line 90 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(), Vehicle::IsPrimaryVehicle(), Order::IsType(), Order::max_speed, MTF_TRAVEL_SPEED, MTF_TRAVEL_TIME, MTF_WAIT_TIME, Vehicle::owner, return_cmd_error, Order::travel_time, BaseVehicle::type, and Order::wait_time.

CommandCost CmdSetTimetableStart ( TileIndex  tile,
DoCommandFlag  flags,
uint32  p1,
uint32  p2,
const char *  text 
)
CommandCost CmdSetVehicleOnTime ( TileIndex  tile,
DoCommandFlag  flags,
uint32  p1,
uint32  p2,
const char *  text 
)

Clear the lateness counter to make the vehicle on time.

Parameters:
tile Not used.
flags Operation to perform.
p1 Various bitstuffed elements

  • p1 = (bit 0-19) - Vehicle with the orders to change.
p2 unused
text unused
Returns:
the cost of this operation or an error

Definition at line 163 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, SetWindowDirty(), and WC_VEHICLE_TIMETABLE.

void UpdateVehicleTimetable ( Vehicle v,
bool  travelling 
)