(svn r9808) -Codechange: unify the Handle<VehicleType>Loading functions.

This commit is contained in:
rubidium
2007-05-07 16:21:34 +00:00
parent 161786e222
commit 2efecd34c4
6 changed files with 45 additions and 109 deletions

View File

@@ -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 *v, int loop)
HandleAircraftSmoke(v);
ProcessAircraftOrder(v);
HandleAircraftLoading(v, loop);
v->HandleLoading(loop != 0);
if (v->current_order.type >= OT_LOADING) return;