From cd3c14133640fde8d6d12ab59f869baa6d6f5724 Mon Sep 17 00:00:00 2001 From: glx Date: Mon, 8 May 2006 21:59:36 +0000 Subject: (svn r4785) - Newstations: don't draw catenary on non-track tiles --- newgrf_station.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'newgrf_station.c') diff --git a/newgrf_station.c b/newgrf_station.c index aa5b32a53..d35ffc51f 100644 --- a/newgrf_station.c +++ b/newgrf_station.c @@ -702,3 +702,23 @@ bool IsStationTileBlocked(TileIndex tile) return HASBIT(statspec->blocked, GetStationGfx(tile)); } + +/* Check if a rail station tile is electrifiable. + * XXX This could be cached (during build) in the map array to save on all the dereferencing */ +bool IsStationTileElectrifiable(TileIndex tile) +{ + const Station *st; + const StationSpec *statspec; + uint specindex; + + if (!IsCustomStationSpecIndex(tile)) return true; + + st = GetStationByTile(tile); + specindex = GetCustomStationSpecIndex(tile); + if (specindex >= st->num_specs) return false; + + statspec = st->speclist[specindex].spec; + if (statspec == NULL) return false; + + return HASBIT(statspec->pylons, GetStationGfx(tile)); +} -- cgit v1.2.3-54-g00ecf