equal
deleted
inserted
replaced
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; |