Mercurial > hg > openttd
changeset 14489:5f789f3d1c38 draft
(svn r19060) -Codechange: Draw custom depot sprites in GUI.
author | peter1138 <peter1138@openttd.org> |
---|---|
date | Mon, 08 Feb 2010 16:07:46 +0000 |
parents | 9f9568145c7a |
children | a315be157e61 |
files | src/rail_cmd.cpp |
diffstat | 1 files changed, 17 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/rail_cmd.cpp +++ b/src/rail_cmd.cpp @@ -2230,8 +2230,9 @@ 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 @@ 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); }