From 1bd72e28f0b7806ca96fa12076ebe92254117655 Mon Sep 17 00:00:00 2001 From: peter1138 Date: Mon, 8 Feb 2010 16:07:46 +0000 Subject: (svn r19060) -Codechange: Draw custom depot sprites in GUI. --- src/rail_cmd.cpp | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/rail_cmd.cpp b/src/rail_cmd.cpp index 7de13a03a..199adc666 100644 --- a/src/rail_cmd.cpp +++ b/src/rail_cmd.cpp @@ -2230,8 +2230,9 @@ static void DrawTile_Track(TileInfo *ti) void DrawTrainDepotSprite(int x, int y, int dir, RailType railtype) { const DrawTileSprites *dts = &_depot_gfx_table[dir]; - SpriteID image = dts->ground.sprite; - uint32 offset = GetRailTypeInfo(railtype)->total_offset; + const RailtypeInfo *rti = GetRailTypeInfo(railtype); + SpriteID image = rti->UsesOverlay() ? SPR_FLAT_GRASS_TILE : dts->ground.sprite; + uint32 offset = rti->total_offset; x += 33; y += 17; @@ -2240,6 +2241,20 @@ void DrawTrainDepotSprite(int x, int y, int dir, RailType railtype) PaletteID palette = COMPANY_SPRITE_COLOUR(_local_company); DrawSprite(image, PAL_NONE, x, y); + + if (rti->UsesOverlay()) { + SpriteID ground = GetCustomRailSprite(rti, INVALID_TILE, RTSG_GROUND); + + 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; + } + + offset = GetCustomRailSprite(rti, INVALID_TILE, RTSG_DEPOT); + offset -= SPR_RAIL_DEPOT_SE_1; + } + DrawRailTileSeqInGUI(x, y, dts, offset, 0, palette); } -- cgit v1.2.3-54-g00ecf