885 |
885 |
886 if (HasTunnelBridgeSnowOrDesert(ti->tile)) image += 32; |
886 if (HasTunnelBridgeSnowOrDesert(ti->tile)) image += 32; |
887 |
887 |
888 image += tunnelbridge_direction * 2; |
888 image += tunnelbridge_direction * 2; |
889 DrawGroundSprite(image, PAL_NONE); |
889 DrawGroundSprite(image, PAL_NONE); |
|
890 |
|
891 /* PBS debugging, draw reserved tracks darker */ |
|
892 if (_settings_client.gui.show_track_reservation && (transport_type == TRANSPORT_RAIL && GetTunnelBridgeReservation(ti->tile))) { |
|
893 const RailtypeInfo *rti = GetRailTypeInfo(GetRailType(ti->tile)); |
|
894 DrawGroundSprite(DiagDirToAxis(tunnelbridge_direction) == AXIS_X ? rti->base_sprites.single_y : rti->base_sprites.single_x, PALETTE_CRASH); |
|
895 } |
|
896 |
890 if (transport_type == TRANSPORT_ROAD) { |
897 if (transport_type == TRANSPORT_ROAD) { |
891 RoadTypes rts = GetRoadTypes(ti->tile); |
898 RoadTypes rts = GetRoadTypes(ti->tile); |
892 |
899 |
893 if (HasBit(rts, ROADTYPE_TRAM)) { |
900 if (HasBit(rts, ROADTYPE_TRAM)) { |
894 static const SpriteID tunnel_sprites[2][4] = { { 28, 78, 79, 27 }, { 5, 76, 77, 4 } }; |
901 static const SpriteID tunnel_sprites[2][4] = { { 28, 78, 79, 27 }, { 5, 76, 77, 4 } }; |
960 /* HACK set the height of the BB of a sloped ramp to 1 so a vehicle on |
967 /* HACK set the height of the BB of a sloped ramp to 1 so a vehicle on |
961 * it doesn't disappear behind it |
968 * it doesn't disappear behind it |
962 */ |
969 */ |
963 /* Bridge heads are drawn solid no matter how invisibility/transparency is set */ |
970 /* Bridge heads are drawn solid no matter how invisibility/transparency is set */ |
964 AddSortableSpriteToDraw(psid->sprite, psid->pal, ti->x, ti->y, 16, 16, ti->tileh == SLOPE_FLAT ? 0 : 8, ti->z); |
971 AddSortableSpriteToDraw(psid->sprite, psid->pal, ti->x, ti->y, 16, 16, ti->tileh == SLOPE_FLAT ? 0 : 8, ti->z); |
|
972 |
|
973 if (_settings_client.gui.show_track_reservation && transport_type == TRANSPORT_RAIL && GetTunnelBridgeReservation(ti->tile)) { |
|
974 const RailtypeInfo *rti = GetRailTypeInfo(GetRailType(ti->tile)); |
|
975 if (HasBridgeFlatRamp(ti->tileh, DiagDirToAxis(tunnelbridge_direction))) { |
|
976 AddSortableSpriteToDraw(DiagDirToAxis(tunnelbridge_direction) == AXIS_X ? rti->base_sprites.single_y : rti->base_sprites.single_x, PALETTE_CRASH, ti->x, ti->y, 16, 16, 0, ti->z + 8); |
|
977 } else { |
|
978 AddSortableSpriteToDraw(rti->base_sprites.single_sloped + tunnelbridge_direction, PALETTE_CRASH, ti->x, ti->y, 16, 16, 8, ti->z); |
|
979 } |
|
980 } |
965 |
981 |
966 if (transport_type == TRANSPORT_ROAD) { |
982 if (transport_type == TRANSPORT_ROAD) { |
967 RoadTypes rts = GetRoadTypes(ti->tile); |
983 RoadTypes rts = GetRoadTypes(ti->tile); |
968 |
984 |
969 if (HasBit(rts, ROADTYPE_TRAM)) { |
985 if (HasBit(rts, ROADTYPE_TRAM)) { |