src/station_cmd.cpp
changeset 6165 4da5ead702ad
parent 6164 a4458b13cca9
child 6204 c237d8081b58
equal deleted inserted replaced
6164:a4458b13cca9 6165:4da5ead702ad
  2132 			}
  2132 			}
  2133 			break;
  2133 			break;
  2134 
  2134 
  2135 		case TRANSPORT_WATER:
  2135 		case TRANSPORT_WATER:
  2136 			// buoy is coded as a station, it is always on open water
  2136 			// buoy is coded as a station, it is always on open water
  2137 			if (IsBuoy(tile)) return TRACK_BIT_ALL * 0x101;
  2137 			if (IsBuoy(tile)) {
       
  2138 				TrackBits ts = TRACK_BIT_ALL;
       
  2139 				// remove tracks that connect NE map edge
       
  2140 				if (TileX(tile) == 0) ts &= ~(TRACK_BIT_X | TRACK_BIT_UPPER | TRACK_BIT_RIGHT);
       
  2141 				// remove tracks that connect NW map edge
       
  2142 				if (TileY(tile) == 0) ts &= ~(TRACK_BIT_Y | TRACK_BIT_LEFT | TRACK_BIT_UPPER);
       
  2143 				return uint32(ts) * 0x101;
       
  2144 			}
  2138 			break;
  2145 			break;
  2139 
  2146 
  2140 		case TRANSPORT_ROAD:
  2147 		case TRANSPORT_ROAD:
  2141 			if (IsRoadStopTile(tile)) {
  2148 			if (IsRoadStopTile(tile)) {
  2142 				return AxisToTrackBits(DiagDirToAxis(GetRoadStopDir(tile))) * 0x101;
  2149 				return AxisToTrackBits(DiagDirToAxis(GetRoadStopDir(tile))) * 0x101;