mirror of https://github.com/OpenTTD/OpenTTD.git
(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_PART_OF_ORDERS)) return;
|
||||||
if (v->current_order.flags & OF_SERVICE_IF_NEEDED &&
|
if (v->current_order.flags & OF_SERVICE_IF_NEEDED &&
|
||||||
!VehicleNeedsService(v)) {
|
!VehicleNeedsService(v)) {
|
||||||
v->cur_order_index++;
|
|
||||||
UpdateVehicleTimetable(v, true);
|
UpdateVehicleTimetable(v, true);
|
||||||
|
v->cur_order_index++;
|
||||||
}
|
}
|
||||||
break;
|
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_PART_OF_ORDERS)) return;
|
||||||
if (v->current_order.flags & OF_SERVICE_IF_NEEDED &&
|
if (v->current_order.flags & OF_SERVICE_IF_NEEDED &&
|
||||||
!VehicleNeedsService(v)) {
|
!VehicleNeedsService(v)) {
|
||||||
v->cur_order_index++;
|
|
||||||
UpdateVehicleTimetable(v, true);
|
UpdateVehicleTimetable(v, true);
|
||||||
|
v->cur_order_index++;
|
||||||
}
|
}
|
||||||
break;
|
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_PART_OF_ORDERS)) return;
|
||||||
if (v->current_order.flags & OF_SERVICE_IF_NEEDED &&
|
if (v->current_order.flags & OF_SERVICE_IF_NEEDED &&
|
||||||
!VehicleNeedsService(v)) {
|
!VehicleNeedsService(v)) {
|
||||||
v->cur_order_index++;
|
|
||||||
UpdateVehicleTimetable(v, true);
|
UpdateVehicleTimetable(v, true);
|
||||||
|
v->cur_order_index++;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -696,9 +696,9 @@ static void ShipController(Vehicle *v)
|
||||||
DistanceManhattan(v->dest_tile, gp.new_tile) <= 3) {
|
DistanceManhattan(v->dest_tile, gp.new_tile) <= 3) {
|
||||||
/* We got within 3 tiles of our target buoy, so let's skip to our
|
/* We got within 3 tiles of our target buoy, so let's skip to our
|
||||||
* next order */
|
* next order */
|
||||||
|
UpdateVehicleTimetable(v, true);
|
||||||
v->cur_order_index++;
|
v->cur_order_index++;
|
||||||
v->current_order.type = OT_DUMMY;
|
v->current_order.type = OT_DUMMY;
|
||||||
UpdateVehicleTimetable(v, true);
|
|
||||||
InvalidateVehicleOrder(v);
|
InvalidateVehicleOrder(v);
|
||||||
} else {
|
} else {
|
||||||
/* Non-buoy orders really need to reach the tile */
|
/* 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_PART_OF_ORDERS)) return false;
|
||||||
if ((v->current_order.flags & OF_SERVICE_IF_NEEDED) &&
|
if ((v->current_order.flags & OF_SERVICE_IF_NEEDED) &&
|
||||||
!VehicleNeedsService(v)) {
|
!VehicleNeedsService(v)) {
|
||||||
v->cur_order_index++;
|
|
||||||
UpdateVehicleTimetable(v, true);
|
UpdateVehicleTimetable(v, true);
|
||||||
|
v->cur_order_index++;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -2395,9 +2395,9 @@ static bool ProcessTrainOrder(Vehicle *v)
|
||||||
/* check if we've reached the waypoint? */
|
/* check if we've reached the waypoint? */
|
||||||
bool at_waypoint = false;
|
bool at_waypoint = false;
|
||||||
if (v->current_order.type == OT_GOTO_WAYPOINT && v->tile == v->dest_tile) {
|
if (v->current_order.type == OT_GOTO_WAYPOINT && v->tile == v->dest_tile) {
|
||||||
|
UpdateVehicleTimetable(v, true);
|
||||||
v->cur_order_index++;
|
v->cur_order_index++;
|
||||||
at_waypoint = true;
|
at_waypoint = true;
|
||||||
UpdateVehicleTimetable(v, true);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* check if we've reached a non-stop station while TTDPatch nonstop is enabled.. */
|
/* 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 &&
|
v->current_order.flags & OF_NON_STOP &&
|
||||||
IsTileType(v->tile, MP_STATION) &&
|
IsTileType(v->tile, MP_STATION) &&
|
||||||
v->current_order.dest == GetStationIndex(v->tile)) {
|
v->current_order.dest == GetStationIndex(v->tile)) {
|
||||||
v->cur_order_index++;
|
|
||||||
UpdateVehicleTimetable(v, true);
|
UpdateVehicleTimetable(v, true);
|
||||||
|
v->cur_order_index++;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Get the current order */
|
/* Get the current order */
|
||||||
|
|
|
@ -2368,8 +2368,8 @@ void VehicleEnterDepot(Vehicle *v)
|
||||||
|
|
||||||
if (HASBIT(t.flags, OFB_PART_OF_ORDERS)) {
|
if (HASBIT(t.flags, OFB_PART_OF_ORDERS)) {
|
||||||
/* Part of orders */
|
/* Part of orders */
|
||||||
v->cur_order_index++;
|
|
||||||
UpdateVehicleTimetable(v, true);
|
UpdateVehicleTimetable(v, true);
|
||||||
|
v->cur_order_index++;
|
||||||
} else if (HASBIT(t.flags, OFB_HALT_IN_DEPOT)) {
|
} else if (HASBIT(t.flags, OFB_HALT_IN_DEPOT)) {
|
||||||
/* Force depot visit */
|
/* Force depot visit */
|
||||||
v->vehstatus |= VS_STOPPED;
|
v->vehstatus |= VS_STOPPED;
|
||||||
|
|
Loading…
Reference in New Issue