diff options
author | rubidium <rubidium@openttd.org> | 2007-05-14 08:07:20 +0000 |
---|---|---|
committer | rubidium <rubidium@openttd.org> | 2007-05-14 08:07:20 +0000 |
commit | 42f920964b25d3ac49b24ee4c448dc4c8a6a20c9 (patch) | |
tree | c22121bc557a8c8b153119edd0f8129a084b8f6f /src | |
parent | e72ab0fdf5f72221eee6f2eebea54e6d9560b7f3 (diff) | |
download | openttd-42f920964b25d3ac49b24ee4c448dc4c8a6a20c9.tar.xz |
(svn r9833) -Fix: also 'leave' the station when leaving for automatic servicing.
Diffstat (limited to 'src')
-rw-r--r-- | src/aircraft_cmd.cpp | 1 | ||||
-rw-r--r-- | src/roadveh_cmd.cpp | 3 | ||||
-rw-r--r-- | src/ship_cmd.cpp | 1 |
3 files changed, 5 insertions, 0 deletions
diff --git a/src/aircraft_cmd.cpp b/src/aircraft_cmd.cpp index 546022d83..0d4c3ba10 100644 --- a/src/aircraft_cmd.cpp +++ b/src/aircraft_cmd.cpp @@ -719,6 +719,7 @@ static void CheckIfAircraftNeedsService(Vehicle *v) if (st->IsValid() && st->airport_tile != 0 && st->Airport()->terminals != NULL) { // printf("targetairport = %d, st->index = %d\n", v->u.air.targetairport, st->index); // v->u.air.targetairport = st->index; + if (v->current_order.type == OT_LOADING) v->LeaveStation(); v->current_order.type = OT_GOTO_DEPOT; v->current_order.flags = OF_NON_STOP; InvalidateWindowWidget(WC_VEHICLE_VIEW, v->index, STATUS_BAR); diff --git a/src/roadveh_cmd.cpp b/src/roadveh_cmd.cpp index aff10c3f8..c7da5fcd0 100644 --- a/src/roadveh_cmd.cpp +++ b/src/roadveh_cmd.cpp @@ -1686,6 +1686,9 @@ static void CheckIfRoadVehNeedsService(Vehicle *v) return; } + if (v->current_order.type == OT_LOADING) v->LeaveStation(); + ClearSlot(v); + v->current_order.type = OT_GOTO_DEPOT; v->current_order.flags = OF_NON_STOP; v->current_order.dest = depot->index; diff --git a/src/ship_cmd.cpp b/src/ship_cmd.cpp index ef887873d..e50d0376b 100644 --- a/src/ship_cmd.cpp +++ b/src/ship_cmd.cpp @@ -165,6 +165,7 @@ static void CheckIfShipNeedsService(Vehicle *v) return; } + if (v->current_order.type == OT_LOADING) v->LeaveStation(); v->current_order.type = OT_GOTO_DEPOT; v->current_order.flags = OF_NON_STOP; v->current_order.dest = depot->index; |