1
0
Fork 0

(svn r20036) -Fix [FS#3911]: tram tracks didn't show at level crossing with the new railtypes

release/1.1
rubidium 2010-06-30 16:08:12 +00:00
parent ed35d62e70
commit b1d60d66cf
1 changed files with 21 additions and 25 deletions

View File

@ -1196,12 +1196,12 @@ static void DrawTile_Road(TileInfo *ti)
case ROAD_TILE_CROSSING: { case ROAD_TILE_CROSSING: {
if (ti->tileh != SLOPE_FLAT) DrawFoundation(ti, FOUNDATION_LEVELED); if (ti->tileh != SLOPE_FLAT) DrawFoundation(ti, FOUNDATION_LEVELED);
PaletteID pal = PAL_NONE;
const RailtypeInfo *rti = GetRailTypeInfo(GetRailType(ti->tile)); const RailtypeInfo *rti = GetRailTypeInfo(GetRailType(ti->tile));
if (rti->UsesOverlay()) { if (rti->UsesOverlay()) {
Axis axis = GetCrossingRailAxis(ti->tile); Axis axis = GetCrossingRailAxis(ti->tile);
SpriteID road = SPR_ROAD_Y + axis; SpriteID road = SPR_ROAD_Y + axis;
PaletteID pal = PAL_NONE;
Roadside roadside = GetRoadside(ti->tile); Roadside roadside = GetRoadside(ti->tile);
@ -1220,13 +1220,8 @@ static void DrawTile_Road(TileInfo *ti)
SpriteID rail = GetCustomRailSprite(rti, ti->tile, RTSG_CROSSING) + axis; SpriteID rail = GetCustomRailSprite(rti, ti->tile, RTSG_CROSSING) + axis;
DrawGroundSprite(rail, PAL_NONE); DrawGroundSprite(rail, PAL_NONE);
DrawRailTileSeq(ti, &_crossing_layout, TO_CATENARY, rail, 0, PAL_NONE); DrawRailTileSeq(ti, &_crossing_layout, TO_CATENARY, rail, 0, PAL_NONE);
} else {
if (HasCatenaryDrawn(GetRailType(ti->tile))) DrawCatenary(ti);
break;
}
SpriteID image = rti->base_sprites.crossing; SpriteID image = rti->base_sprites.crossing;
PaletteID pal = PAL_NONE;
if (GetCrossingRoadAxis(ti->tile) == AXIS_X) image++; if (GetCrossingRoadAxis(ti->tile) == AXIS_X) image++;
if (IsCrossingBarred(ti->tile)) image += 2; if (IsCrossingBarred(ti->tile)) image += 2;
@ -1249,6 +1244,7 @@ static void DrawTile_Road(TileInfo *ti)
if (_game_mode != GM_MENU && _settings_client.gui.show_track_reservation && HasCrossingReservation(ti->tile)) { 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); 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)) { if (HasTileRoadType(ti->tile, ROADTYPE_TRAM)) {
DrawGroundSprite(SPR_TRAMWAY_OVERLAY + (GetCrossingRoadAxis(ti->tile) ^ 1), pal); DrawGroundSprite(SPR_TRAMWAY_OVERLAY + (GetCrossingRoadAxis(ti->tile) ^ 1), pal);