Changeset - r18029:bfce2d315c23
[Not reviewed]
master
0 1 0
frosch - 13 years ago 2011-08-28 20:33:40
frosch@openttd.org
(svn r22854) -Change: [NewGRF] Allow replacing depot sprites without having to provide rail overlays. (Hirundo)
1 file changed with 3 insertions and 7 deletions:
0 comments (0 inline, 0 general)
src/rail_cmd.cpp
Show inline comments
 
@@ -2281,29 +2281,26 @@ static void DrawTile_Track(TileInfo *ti)
 
					case DIAGDIR_SW: DrawGroundSprite(overlay + RTO_X, PALETTE_CRASH); break;
 
					case DIAGDIR_NW: if (!IsInvisibilitySet(TO_BUILDINGS)) break; // else FALL THROUGH
 
					case DIAGDIR_SE: DrawGroundSprite(overlay + RTO_Y, PALETTE_CRASH); break;
 
					default: break;
 
				}
 
			}
 

	
 
			int depot_sprite = GetCustomRailSprite(rti, ti->tile, RTSG_DEPOT);
 
			relocation = depot_sprite != 0 ? depot_sprite - SPR_RAIL_DEPOT_SE_1 : rti->GetRailtypeSpriteOffset();
 
		} else {
 
			/* PBS debugging, draw reserved tracks darker */
 
			if (_game_mode != GM_MENU && _settings_client.gui.show_track_reservation && HasDepotReservation(ti->tile)) {
 
				switch (GetRailDepotDirection(ti->tile)) {
 
					case DIAGDIR_NE: if (!IsInvisibilitySet(TO_BUILDINGS)) break; // else FALL THROUGH
 
					case DIAGDIR_SW: DrawGroundSprite(rti->base_sprites.single_x, PALETTE_CRASH); break;
 
					case DIAGDIR_NW: if (!IsInvisibilitySet(TO_BUILDINGS)) break; // else FALL THROUGH
 
					case DIAGDIR_SE: DrawGroundSprite(rti->base_sprites.single_y, PALETTE_CRASH); break;
 
					default: break;
 
				}
 
			}
 

	
 
			relocation = rti->GetRailtypeSpriteOffset();
 
		}
 
		int depot_sprite = GetCustomRailSprite(rti, ti->tile, RTSG_DEPOT);
 
		relocation = depot_sprite != 0 ? depot_sprite - SPR_RAIL_DEPOT_SE_1 : rti->GetRailtypeSpriteOffset();
 

	
 
		if (HasCatenaryDrawn(GetRailType(ti->tile))) DrawCatenary(ti);
 

	
 
		DrawRailTileSeq(ti, dts, TO_BUILDINGS, relocation, 0, _drawtile_track_palette);
 
	}
 
	DrawBridgeMiddle(ti);
 
@@ -2329,16 +2326,15 @@ void DrawTrainDepotSprite(int x, int y, 
 

	
 
		switch (dir) {
 
			case DIAGDIR_SW: DrawSprite(ground + RTO_X, PAL_NONE, x, y); break;
 
			case DIAGDIR_SE: DrawSprite(ground + RTO_Y, PAL_NONE, x, y); break;
 
			default: break;
 
		}
 

	
 
	}
 
		int depot_sprite = GetCustomRailSprite(rti, INVALID_TILE, RTSG_DEPOT);
 
		if (depot_sprite != 0) offset = depot_sprite - SPR_RAIL_DEPOT_SE_1;
 
	}
 

	
 
	DrawRailTileSeqInGUI(x, y, dts, offset, 0, palette);
 
}
 

	
 
static uint GetSlopeZ_Track(TileIndex tile, uint x, uint y)
 
{
0 comments (0 inline, 0 general)