Changeset - r18726:6d5849476f85
[Not reviewed]
master
0 1 0
frosch - 12 years ago 2011-12-17 23:14:28
frosch@openttd.org
(svn r23584) -Fix: Draw PBS reservations also for tunnels with railtype overlays.
1 file changed with 5 insertions and 6 deletions:
0 comments (0 inline, 0 general)
src/tunnelbridge_cmd.cpp
Show inline comments
 
@@ -1091,52 +1091,51 @@ static void DrawTile_TunnelBridge(TileIn
 
		SpriteID image;
 
		if (transport_type == TRANSPORT_RAIL) {
 
			image = GetRailTypeInfo(GetRailType(ti->tile))->base_sprites.tunnel;
 
		} else {
 
			image = SPR_TUNNEL_ENTRY_REAR_ROAD;
 
		}
 

	
 
		if (HasTunnelBridgeSnowOrDesert(ti->tile)) image += 32;
 

	
 
		image += tunnelbridge_direction * 2;
 
		DrawGroundSprite(image, PAL_NONE);
 

	
 
		/* PBS debugging, draw reserved tracks darker */
 
		if (_game_mode != GM_MENU && _settings_client.gui.show_track_reservation && (transport_type == TRANSPORT_RAIL && HasTunnelBridgeReservation(ti->tile))) {
 
			const RailtypeInfo *rti = GetRailTypeInfo(GetRailType(ti->tile));
 
			DrawGroundSprite(DiagDirToAxis(tunnelbridge_direction) == AXIS_X ? rti->base_sprites.single_x : rti->base_sprites.single_y, PALETTE_CRASH);
 
		}
 

	
 
		if (transport_type == TRANSPORT_ROAD) {
 
			RoadTypes rts = GetRoadTypes(ti->tile);
 

	
 
			if (HasBit(rts, ROADTYPE_TRAM)) {
 
				static const SpriteID tunnel_sprites[2][4] = { { 28, 78, 79, 27 }, {  5, 76, 77,  4 } };
 

	
 
				DrawGroundSprite(SPR_TRAMWAY_BASE + tunnel_sprites[rts - ROADTYPES_TRAM][tunnelbridge_direction], PAL_NONE);
 

	
 
				/* Do not draw wires if they are invisible */
 
				if (!IsInvisibilitySet(TO_CATENARY)) {
 
					catenary = true;
 
					StartSpriteCombine();
 
					AddSortableSpriteToDraw(SPR_TRAMWAY_TUNNEL_WIRES + tunnelbridge_direction, PAL_NONE, ti->x, ti->y, BB_data[10], BB_data[11], TILE_HEIGHT, ti->z, IsTransparencySet(TO_CATENARY), BB_data[8], BB_data[9], BB_Z_SEPARATOR);
 
				}
 
			}
 
		} else {
 
			const RailtypeInfo *rti = GetRailTypeInfo(GetRailType(ti->tile));
 
			if (rti->UsesOverlay()) {
 
				SpriteID surface = GetCustomRailSprite(rti, ti->tile, RTSG_TUNNEL);
 
				if (surface != 0) DrawGroundSprite(surface + tunnelbridge_direction, PAL_NONE);
 
			}
 

	
 
			/* PBS debugging, draw reserved tracks darker */
 
			if (_game_mode != GM_MENU && _settings_client.gui.show_track_reservation && HasTunnelBridgeReservation(ti->tile)) {
 
				DrawGroundSprite(DiagDirToAxis(tunnelbridge_direction) == AXIS_X ? rti->base_sprites.single_x : rti->base_sprites.single_y, PALETTE_CRASH);
 
			}
 

	
 
			if (HasCatenaryDrawn(GetRailType(ti->tile))) {
 
				/* Maybe draw pylons on the entry side */
 
				DrawCatenary(ti);
 

	
 
				catenary = true;
 
				StartSpriteCombine();
 
				/* Draw wire above the ramp */
 
				DrawCatenaryOnTunnel(ti);
 
			}
 
		}
 

	
 
		AddSortableSpriteToDraw(image + 1, PAL_NONE, ti->x + TILE_SIZE - 1, ti->y + TILE_SIZE - 1, BB_data[0], BB_data[1], TILE_HEIGHT, ti->z, false, BB_data[2], BB_data[3], BB_Z_SEPARATOR);
0 comments (0 inline, 0 general)