station_cmd.c
changeset 1751 954dd2900ac9
parent 1706 70c2d2ad472a
child 1774 0fc4a31265c2
--- a/station_cmd.c	Mon May 02 21:56:01 2005 +0000
+++ b/station_cmd.c	Mon May 02 22:13:20 2005 +0000
@@ -642,7 +642,7 @@
 	rect.min_y = MapSizeY();
 	rect.max_x = rect.max_y = 0;
 	// Don't update acceptance for a buoy
-	if (st->had_vehicle_of_type & HVOT_BUOY)
+	if (IsBuoy(st))
 		return;
 
 	/* old accepted goods types */
@@ -1855,6 +1855,8 @@
 		StationInitialize(st, ti.tile);
 		st->dock_tile = ti.tile;
 		st->facilities |= FACIL_DOCK;
+		/* Buoys are marked in the Station struct by this flag. Yes, it is this
+		 * braindead.. */
 		st->had_vehicle_of_type |= HVOT_BUOY;
 		st->owner = OWNER_NONE;
 
@@ -1913,6 +1915,8 @@
 
 	if (flags & DC_EXEC) {
 		st->dock_tile = 0;
+		/* Buoys are marked in the Station struct by this flag. Yes, it is this
+		 * braindead.. */
 		st->facilities &= ~FACIL_DOCK;
 		st->had_vehicle_of_type &= ~HVOT_BUOY;
 
@@ -2706,7 +2710,7 @@
 			for(i=0; i!=8; i++)	{
 				if (around[i] == INVALID_STATION) {
 					st = GetStation(st_index);
-					if ((st->had_vehicle_of_type & HVOT_BUOY) == 0 &&
+					if (!IsBuoy(st) &&
 							( !st->town->exclusive_counter || (st->town->exclusivity == st->owner) ) && // check exclusive transport rights
 							st->goods[type].rating != 0 &&
 							(!_patches.selectgoods || st->goods[type].last_speed) && // if last_speed is 0, no vehicle has been there.