diff options
author | rubidium <rubidium@openttd.org> | 2007-03-09 14:41:39 +0000 |
---|---|---|
committer | rubidium <rubidium@openttd.org> | 2007-03-09 14:41:39 +0000 |
commit | 2b6736d24434e35ecc940e5d0cdd7344fd7903e2 (patch) | |
tree | 9583d8e8d6da6438f5dc346057ab303487ed2f2f /src/elrail.cpp | |
parent | e1eab15b842949e4a28f65fd21fd71b247e9df4b (diff) | |
download | openttd-2b6736d24434e35ecc940e5d0cdd7344fd7903e2.tar.xz |
(svn r9077) -Fix [FS#612]: the wrong catenary wires were drawn for tunnel entrances.
Diffstat (limited to 'src/elrail.cpp')
-rw-r--r-- | src/elrail.cpp | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/elrail.cpp b/src/elrail.cpp index 10b44e0b3..c57cdead6 100644 --- a/src/elrail.cpp +++ b/src/elrail.cpp @@ -125,7 +125,7 @@ static void AdjustTileh(TileIndex tile, Slope *tileh) { if (IsTileType(tile, MP_TUNNELBRIDGE)) { if (IsTunnel(tile)) { - *tileh = SLOPE_FLAT; + *tileh = SLOPE_STEEP; /* XXX - Hack to make tunnel entrances to always have a pylon */ } else { if (*tileh != SLOPE_FLAT) { *tileh = SLOPE_FLAT; @@ -291,7 +291,16 @@ static void DrawCatenaryRailway(const TileInfo *ti) /* Drawing of pylons is finished, now draw the wires */ for (t = TRACK_BEGIN; t < TRACK_END; t++) { if (HASBIT(trackconfig[TS_HOME], t)) { + if (IsTunnelTile(ti->tile)) { + const SortableSpriteStruct* sss = &CatenarySpriteData_Tunnel[GetTunnelDirection(ti->tile)]; + AddSortableSpriteToDraw( + sss->image, PAL_NONE, ti->x + sss->x_offset, ti->y + sss->y_offset, + sss->x_size, sss->y_size, sss->z_size, + GetTileZ(ti->tile) + sss->z_offset + ); + break; + } byte PCPconfig = HASBIT(PCPstatus, PCPpositions[t][0]) + (HASBIT(PCPstatus, PCPpositions[t][1]) << 1); @@ -371,7 +380,7 @@ void DrawCatenary(const TileInfo *ti) switch (GetTileType(ti->tile)) { case MP_RAILWAY: - if (IsRailDepot(ti->tile)) { + if ( IsRailDepot(ti->tile)) { const SortableSpriteStruct* sss = &CatenarySpriteData_Depot[GetRailDepotDirection(ti->tile)]; AddSortableSpriteToDraw( |