611 _grow_town_result = 0; |
611 _grow_town_result = 0; |
612 rcmd = 1 << (block ^ 2); |
612 rcmd = 1 << (block ^ 2); |
613 } else { |
613 } else { |
614 int i; |
614 int i; |
615 |
615 |
616 // Reached a tunnel? Then continue at the other side of it. |
616 // Reached a tunnel/bridge? Then continue at the other side of it. |
617 if (IsTunnelTile(tile) && GetTunnelTransportType(tile) == TRANSPORT_ROAD) { |
617 if (IsTunnelTile(tile)) { |
618 *tile_ptr = GetOtherTunnelEnd(tile); |
618 if (GetTunnelTransportType(tile) == TRANSPORT_ROAD) *tile_ptr = GetOtherTunnelEnd(tile); |
619 return; |
619 return; |
620 } |
620 } |
621 |
621 if (IsTileType(tile, MP_STREET_BRIDGE)) *tile_ptr = GetOtherBridgeEnd(tile); |
622 // For any other kind of tunnel/bridge, bail out. |
622 if (IsTileType(tile, MP_RAILWAY_BRIDGE)) return; /* XXX - Do we need this? */ |
623 if (IsTileType(tile, MP_TUNNEL)) return; |
|
624 if (IsTileType(tile, MP_RAILWAY_BRIDGE)) return; |
|
625 |
623 |
626 // Possibly extend the road in a direction. |
624 // Possibly extend the road in a direction. |
627 // Randomize a direction and if it has a road, bail out. |
625 // Randomize a direction and if it has a road, bail out. |
628 i = GB(Random(), 0, 2); |
626 i = GB(Random(), 0, 2); |
629 if (HASBIT(mask, i)) return; |
627 if (HASBIT(mask, i)) return; |