Mercurial > hg > openttd
changeset 15393:d12801257dc7 draft
(svn r20036) -Fix [FS#3911]: tram tracks didn't show at level crossing with the new railtypes
author | rubidium <rubidium@openttd.org> |
---|---|
date | Wed, 30 Jun 2010 16:08:12 +0000 |
parents | 386ecdf210fc |
children | d811a65513f7 |
files | src/road_cmd.cpp |
diffstat | 1 files changed, 19 insertions(+), 23 deletions(-) [+] |
line wrap: on
line diff
--- a/src/road_cmd.cpp +++ b/src/road_cmd.cpp @@ -1196,12 +1196,12 @@ case ROAD_TILE_CROSSING: { if (ti->tileh != SLOPE_FLAT) DrawFoundation(ti, FOUNDATION_LEVELED); + PaletteID pal = PAL_NONE; const RailtypeInfo *rti = GetRailTypeInfo(GetRailType(ti->tile)); if (rti->UsesOverlay()) { Axis axis = GetCrossingRailAxis(ti->tile); SpriteID road = SPR_ROAD_Y + axis; - PaletteID pal = PAL_NONE; Roadside roadside = GetRoadside(ti->tile); @@ -1220,34 +1220,30 @@ SpriteID rail = GetCustomRailSprite(rti, ti->tile, RTSG_CROSSING) + axis; DrawGroundSprite(rail, PAL_NONE); DrawRailTileSeq(ti, &_crossing_layout, TO_CATENARY, rail, 0, PAL_NONE); - - if (HasCatenaryDrawn(GetRailType(ti->tile))) DrawCatenary(ti); - break; - } + } else { + SpriteID image = rti->base_sprites.crossing; - SpriteID image = rti->base_sprites.crossing; - PaletteID pal = PAL_NONE; + if (GetCrossingRoadAxis(ti->tile) == AXIS_X) image++; + if (IsCrossingBarred(ti->tile)) image += 2; - if (GetCrossingRoadAxis(ti->tile) == AXIS_X) image++; - if (IsCrossingBarred(ti->tile)) image += 2; - - Roadside roadside = GetRoadside(ti->tile); + Roadside roadside = GetRoadside(ti->tile); - if (AlwaysDrawUnpavedRoads(ti->tile, roadside)) { - image += 8; - } else { - switch (roadside) { - case ROADSIDE_BARREN: pal = PALETTE_TO_BARE_LAND; break; - case ROADSIDE_GRASS: break; - default: image += 4; break; // Paved + if (AlwaysDrawUnpavedRoads(ti->tile, roadside)) { + image += 8; + } else { + switch (roadside) { + case ROADSIDE_BARREN: pal = PALETTE_TO_BARE_LAND; break; + case ROADSIDE_GRASS: break; + default: image += 4; break; // Paved + } } - } - DrawGroundSprite(image, pal); + DrawGroundSprite(image, pal); - /* PBS debugging, draw reserved tracks darker */ - if (_game_mode != GM_MENU && _settings_client.gui.show_track_reservation && HasCrossingReservation(ti->tile)) { - DrawGroundSprite(GetCrossingRoadAxis(ti->tile) == AXIS_Y ? GetRailTypeInfo(GetRailType(ti->tile))->base_sprites.single_x : GetRailTypeInfo(GetRailType(ti->tile))->base_sprites.single_y, PALETTE_CRASH); + /* PBS debugging, draw reserved tracks darker */ + if (_game_mode != GM_MENU && _settings_client.gui.show_track_reservation && HasCrossingReservation(ti->tile)) { + DrawGroundSprite(GetCrossingRoadAxis(ti->tile) == AXIS_Y ? GetRailTypeInfo(GetRailType(ti->tile))->base_sprites.single_x : GetRailTypeInfo(GetRailType(ti->tile))->base_sprites.single_y, PALETTE_CRASH); + } } if (HasTileRoadType(ti->tile, ROADTYPE_TRAM)) {