# HG changeset patch # User peter1138 # Date 2010-02-08 16:07:46 # Node ID 0b37c3cf82f1b7775fd6b24c76faf398d0d71642 # Parent 1f3a6092bdeb1f51f50e112813b051c20c37b2c0 (svn r19060) -Codechange: Draw custom depot sprites in GUI. diff --git a/src/rail_cmd.cpp b/src/rail_cmd.cpp --- 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, 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); }