(svn r9684) -Fix (r9683): Remove vehicles from the station loading list instead of adding

them again when they leave, and add a v->LeaveStation() call for aircraft.
This commit is contained in:
maedhros 2007-04-20 11:05:56 +00:00
parent 1951817f3b
commit 88af5b07d3
2 changed files with 2 additions and 1 deletions

View File

@ -1411,6 +1411,7 @@ static void HandleAircraftLoading(Vehicle *v, int mode)
} }
Order b = v->current_order; Order b = v->current_order;
v->LeaveStation();
v->current_order.Free(); v->current_order.Free();
MarkAircraftDirty(v); MarkAircraftDirty(v);
if (!(b.flags & OF_NON_STOP)) return; if (!(b.flags & OF_NON_STOP)) return;

View File

@ -2916,5 +2916,5 @@ void Vehicle::LeaveStation()
assert(current_order.type == OT_LOADING); assert(current_order.type == OT_LOADING);
current_order.type = OT_LEAVESTATION; current_order.type = OT_LEAVESTATION;
current_order.flags = 0; current_order.flags = 0;
GetStation(this->last_station_visited)->loading_vehicles.push_back(this); GetStation(this->last_station_visited)->loading_vehicles.remove(this);
} }