mirror of
https://github.com/JGRennison/OpenTTD-patches.git
synced 2024-11-08 01:10:28 +00:00
(svn r10335) -Fix (r10331): Increment the current order index *after* using it in UpdateVehicleTimetable.
This commit is contained in:
parent
217765fc0b
commit
fb284a9264
@ -1344,8 +1344,8 @@ static void ProcessAircraftOrder(Vehicle *v)
|
||||
if (!(v->current_order.flags & OF_PART_OF_ORDERS)) return;
|
||||
if (v->current_order.flags & OF_SERVICE_IF_NEEDED &&
|
||||
!VehicleNeedsService(v)) {
|
||||
v->cur_order_index++;
|
||||
UpdateVehicleTimetable(v, true);
|
||||
v->cur_order_index++;
|
||||
}
|
||||
break;
|
||||
|
||||
|
@ -758,8 +758,8 @@ static void ProcessRoadVehOrder(Vehicle *v)
|
||||
if (!(v->current_order.flags & OF_PART_OF_ORDERS)) return;
|
||||
if (v->current_order.flags & OF_SERVICE_IF_NEEDED &&
|
||||
!VehicleNeedsService(v)) {
|
||||
v->cur_order_index++;
|
||||
UpdateVehicleTimetable(v, true);
|
||||
v->cur_order_index++;
|
||||
}
|
||||
break;
|
||||
|
||||
|
@ -258,8 +258,8 @@ static void ProcessShipOrder(Vehicle *v)
|
||||
if (!(v->current_order.flags & OF_PART_OF_ORDERS)) return;
|
||||
if (v->current_order.flags & OF_SERVICE_IF_NEEDED &&
|
||||
!VehicleNeedsService(v)) {
|
||||
v->cur_order_index++;
|
||||
UpdateVehicleTimetable(v, true);
|
||||
v->cur_order_index++;
|
||||
}
|
||||
break;
|
||||
|
||||
@ -696,9 +696,9 @@ static void ShipController(Vehicle *v)
|
||||
DistanceManhattan(v->dest_tile, gp.new_tile) <= 3) {
|
||||
/* We got within 3 tiles of our target buoy, so let's skip to our
|
||||
* next order */
|
||||
UpdateVehicleTimetable(v, true);
|
||||
v->cur_order_index++;
|
||||
v->current_order.type = OT_DUMMY;
|
||||
UpdateVehicleTimetable(v, true);
|
||||
InvalidateVehicleOrder(v);
|
||||
} else {
|
||||
/* Non-buoy orders really need to reach the tile */
|
||||
|
@ -2380,8 +2380,8 @@ static bool ProcessTrainOrder(Vehicle *v)
|
||||
if (!(v->current_order.flags & OF_PART_OF_ORDERS)) return false;
|
||||
if ((v->current_order.flags & OF_SERVICE_IF_NEEDED) &&
|
||||
!VehicleNeedsService(v)) {
|
||||
v->cur_order_index++;
|
||||
UpdateVehicleTimetable(v, true);
|
||||
v->cur_order_index++;
|
||||
}
|
||||
break;
|
||||
|
||||
@ -2395,9 +2395,9 @@ static bool ProcessTrainOrder(Vehicle *v)
|
||||
/* check if we've reached the waypoint? */
|
||||
bool at_waypoint = false;
|
||||
if (v->current_order.type == OT_GOTO_WAYPOINT && v->tile == v->dest_tile) {
|
||||
UpdateVehicleTimetable(v, true);
|
||||
v->cur_order_index++;
|
||||
at_waypoint = true;
|
||||
UpdateVehicleTimetable(v, true);
|
||||
}
|
||||
|
||||
/* check if we've reached a non-stop station while TTDPatch nonstop is enabled.. */
|
||||
@ -2405,8 +2405,8 @@ static bool ProcessTrainOrder(Vehicle *v)
|
||||
v->current_order.flags & OF_NON_STOP &&
|
||||
IsTileType(v->tile, MP_STATION) &&
|
||||
v->current_order.dest == GetStationIndex(v->tile)) {
|
||||
v->cur_order_index++;
|
||||
UpdateVehicleTimetable(v, true);
|
||||
v->cur_order_index++;
|
||||
}
|
||||
|
||||
/* Get the current order */
|
||||
|
@ -2368,8 +2368,8 @@ void VehicleEnterDepot(Vehicle *v)
|
||||
|
||||
if (HASBIT(t.flags, OFB_PART_OF_ORDERS)) {
|
||||
/* Part of orders */
|
||||
v->cur_order_index++;
|
||||
UpdateVehicleTimetable(v, true);
|
||||
v->cur_order_index++;
|
||||
} else if (HASBIT(t.flags, OFB_HALT_IN_DEPOT)) {
|
||||
/* Force depot visit */
|
||||
v->vehstatus |= VS_STOPPED;
|
||||
|
Loading…
Reference in New Issue
Block a user