src/ship_cmd.cpp
changeset 5856 c82e61d62cd3
parent 5668 36b39f4a9032
child 5858 a48c5b18747a
--- a/src/ship_cmd.cpp	Sat Jan 27 12:45:55 2007 +0000
+++ b/src/ship_cmd.cpp	Sat Jan 27 16:45:16 2007 +0000
@@ -273,28 +273,31 @@
 
 static void HandleShipLoading(Vehicle *v)
 {
-	if (v->current_order.type == OT_NOTHING) return;
-
-	if (v->current_order.type != OT_DUMMY) {
-		if (v->current_order.type != OT_LOADING) return;
-		if (--v->load_unload_time_rem) return;
+	switch (v->current_order.type) {
+		case OT_LOADING:
+			if (--v->load_unload_time_rem) return;
 
-		if (CanFillVehicle(v) && (v->current_order.flags & OF_FULL_LOAD ||
-				(_patches.gradual_loading && !HASBIT(v->load_status, LS_LOADING_FINISHED)))) {
-			SET_EXPENSES_TYPE(EXPENSES_SHIP_INC);
-			if (LoadUnloadVehicle(v, false)) {
-				InvalidateWindow(WC_SHIPS_LIST, v->owner);
-				MarkShipDirty(v);
+			if (CanFillVehicle(v) && (
+						v->current_order.flags & OF_FULL_LOAD ||
+						(_patches.gradual_loading && !HASBIT(v->load_status, LS_LOADING_FINISHED))
+					)) {
+				SET_EXPENSES_TYPE(EXPENSES_SHIP_INC);
+				if (LoadUnloadVehicle(v, false)) {
+					InvalidateWindow(WC_SHIPS_LIST, v->owner);
+					MarkShipDirty(v);
+				}
+				return;
 			}
-			return;
-		}
-		PlayShipSound(v);
+			PlayShipSound(v);
 
-		{
 			Order b = v->current_order;
 			v->LeaveStation();
 			if (!(b.flags & OF_NON_STOP)) return;
-		}
+			break;
+
+		case OT_DUMMY: break;
+
+		default: return;
 	}
 
 	v->cur_order_index++;