src/water_cmd.cpp
branchnoai
changeset 10715 6bdf79ffb022
parent 10645 8cbdb511a674
child 10776 07203fc29812
--- a/src/water_cmd.cpp	Mon May 26 11:36:42 2008 +0000
+++ b/src/water_cmd.cpp	Mon May 26 13:52:59 2008 +0000
@@ -738,7 +738,7 @@
 		default: assert(0); break;
 	}
 
-	td->owner = GetTileOwner(tile);
+	td->owner[0] = GetTileOwner(tile);
 }
 
 static void AnimateTile_Water(TileIndex tile)
@@ -771,7 +771,7 @@
 	}
 
 	/* if non-uniform stations are disabled, flood some train in this train station (if there is any) */
-	if (!_patches.nonuniform_stations && IsTileType(tile, MP_STATION) && GetStationType(tile) == STATION_RAIL) {
+	if (!_settings.station.nonuniform_stations && IsTileType(tile, MP_STATION) && GetStationType(tile) == STATION_RAIL) {
 		const Station *st = GetStationByTile(tile);
 
 		BEGIN_TILE_LOOP(t, st->trainst_w, st->trainst_h, st->train_tile)
@@ -819,19 +819,15 @@
 
 				if (v->z_pos != airport->delta_z + 1) return;
 			}
-			Vehicle *u;
 
 			if (v->type != VEH_AIRCRAFT) v = v->First();
-			u = v;
 
 			/* crash all wagons, and count passengers */
-			BEGIN_ENUM_WAGONS(v)
-				if (IsCargoInClass(v->cargo_type, CC_PASSENGERS)) pass += v->cargo.Count();
-				v->vehstatus |= VS_CRASHED;
-				MarkSingleVehicleDirty(v);
-			END_ENUM_WAGONS(v)
-
-			v = u;
+			for (Vehicle *u = v; u != NULL; u = u->Next()) {
+				if (IsCargoInClass(u->cargo_type, CC_PASSENGERS)) pass += u->cargo.Count();
+				u->vehstatus |= VS_CRASHED;
+				MarkSingleVehicleDirty(u);
+			}
 
 			switch (v->type) {
 				default: NOT_REACHED();