equal
deleted
inserted
replaced
1459 ROAD_X, ROAD_Y, ROAD_NW | ROAD_NE, ROAD_SW | ROAD_SE, |
1459 ROAD_X, ROAD_Y, ROAD_NW | ROAD_NE, ROAD_SW | ROAD_SE, |
1460 ROAD_NW | ROAD_SW, ROAD_NE | ROAD_SE, ROAD_X, ROAD_Y |
1460 ROAD_NW | ROAD_SW, ROAD_NE | ROAD_SE, ROAD_X, ROAD_Y |
1461 }; |
1461 }; |
1462 RoadBits required = required_roadbits[dir & 0x07]; |
1462 RoadBits required = required_roadbits[dir & 0x07]; |
1463 |
1463 |
1464 if ((required & GetAnyRoadBits(tile, v->u.road.roadtype)) == ROAD_NONE) { |
1464 if ((required & GetAnyRoadBits(tile, v->u.road.roadtype, true)) == ROAD_NONE) { |
1465 dir = INVALID_TRACKDIR; |
1465 dir = INVALID_TRACKDIR; |
1466 } |
1466 } |
1467 |
1467 |
1468 return dir; |
1468 return dir; |
1469 } |
1469 } |
1696 const RoadDriveEntry *rdp; |
1696 const RoadDriveEntry *rdp; |
1697 |
1697 |
1698 uint turn_around_start_frame = RVC_TURN_AROUND_START_FRAME; |
1698 uint turn_around_start_frame = RVC_TURN_AROUND_START_FRAME; |
1699 |
1699 |
1700 RoadBits tram; |
1700 RoadBits tram; |
1701 if (v->u.road.roadtype == ROADTYPE_TRAM && CountBits(tram = GetAnyRoadBits(v->tile, ROADTYPE_TRAM)) == 1) { |
1701 if (v->u.road.roadtype == ROADTYPE_TRAM && CountBits(tram = GetAnyRoadBits(v->tile, ROADTYPE_TRAM, true)) == 1) { |
1702 /* |
1702 /* |
1703 * The tram is turning around with one tram 'roadbit'. This means that |
1703 * The tram is turning around with one tram 'roadbit'. This means that |
1704 * it is using the 'big' corner 'drive data'. However, to support the |
1704 * it is using the 'big' corner 'drive data'. However, to support the |
1705 * trams to take a small corner, there is a 'turned' marker in the middle |
1705 * trams to take a small corner, there is a 'turned' marker in the middle |
1706 * of the turning 'drive data'. When the tram took the long corner, we |
1706 * of the turning 'drive data'. When the tram took the long corner, we |