diff --git a/src/aircraft_cmd.cpp b/src/aircraft_cmd.cpp --- a/src/aircraft_cmd.cpp +++ b/src/aircraft_cmd.cpp @@ -1416,32 +1416,6 @@ void Aircraft::MarkDirty() MarkAllViewportsDirty(this->left_coord, this->top_coord, this->right_coord + 1, this->bottom_coord + 1); } -static void HandleAircraftLoading(Vehicle *v, int mode) -{ - switch (v->current_order.type) { - case OT_LOADING: { - if (mode != 0) return; - if (--v->load_unload_time_rem != 0) return; - - if (LoadUnloadVehicle(v)) return; - - Order b = v->current_order; - v->LeaveStation(); - v->current_order.Free(); - v->MarkDirty(); - if (!(b.flags & OF_NON_STOP)) return; - break; - } - - case OT_DUMMY: break; - - default: return; - } - - v->cur_order_index++; - InvalidateVehicleOrder(v); -} - static void CrashAirplane(Vehicle *v) { v->vehstatus |= VS_CRASHED; @@ -2130,7 +2104,7 @@ static void AircraftEventHandler(Vehicle HandleAircraftSmoke(v); ProcessAircraftOrder(v); - HandleAircraftLoading(v, loop); + v->HandleLoading(loop != 0); if (v->current_order.type >= OT_LOADING) return;