From 7fb6e8f11de50884d0f7252891ac1b93174796c3 Mon Sep 17 00:00:00 2001 From: maedhros Date: Wed, 20 Jun 2007 19:17:22 +0000 Subject: (svn r10236) -Feature: Introduce a form of timetabling for vehicles. --- src/train_cmd.cpp | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/train_cmd.cpp') 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. */ -- cgit v1.2.3-54-g00ecf