summaryrefslogtreecommitdiff
path: root/src/train_cmd.cpp
diff options
context:
space:
mode:
authormaedhros <maedhros@openttd.org>2007-06-20 19:17:22 +0000
committermaedhros <maedhros@openttd.org>2007-06-20 19:17:22 +0000
commitcf0118ee63603132dc1d08d7f7e800b26e53fc97 (patch)
tree1a82d9ac3d2c0f66dac9c5f6857c4e49f057b100 /src/train_cmd.cpp
parenta982fe2e807f80c8a6478c358b3875535c9346b4 (diff)
downloadopenttd-cf0118ee63603132dc1d08d7f7e800b26e53fc97.tar.xz
(svn r10236) -Feature: Introduce a form of timetabling for vehicles.
Diffstat (limited to 'src/train_cmd.cpp')
-rw-r--r--src/train_cmd.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/train_cmd.cpp b/src/train_cmd.cpp
index 0aca1b08d..065e6db02 100644
--- a/src/train_cmd.cpp
+++ b/src/train_cmd.cpp
@@ -15,6 +15,7 @@
#include "tile.h"
#include "tunnel_map.h"
#include "vehicle.h"
+#include "timetable.h"
#include "articulated_vehicles.h"
#include "command.h"
#include "pathfind.h"
@@ -2380,6 +2381,7 @@ static bool ProcessTrainOrder(Vehicle *v)
if ((v->current_order.flags & OF_SERVICE_IF_NEEDED) &&
!VehicleNeedsService(v)) {
v->cur_order_index++;
+ UpdateVehicleTimetable(v, true);
}
break;
@@ -2395,6 +2397,7 @@ static bool ProcessTrainOrder(Vehicle *v)
if (v->current_order.type == OT_GOTO_WAYPOINT && v->tile == v->dest_tile) {
v->cur_order_index++;
at_waypoint = true;
+ UpdateVehicleTimetable(v, true);
}
/* check if we've reached a non-stop station while TTDPatch nonstop is enabled.. */
@@ -2403,6 +2406,7 @@ static bool ProcessTrainOrder(Vehicle *v)
IsTileType(v->tile, MP_STATION) &&
v->current_order.dest == GetStationIndex(v->tile)) {
v->cur_order_index++;
+ UpdateVehicleTimetable(v, true);
}
/* Get the current order */
@@ -3296,6 +3300,8 @@ void Train_Tick(Vehicle *v)
v->tick_counter++;
if (IsFrontEngine(v)) {
+ v->current_order_time++;
+
TrainLocoHandler(v, false);
/* make sure vehicle wasn't deleted. */