From e2801aa32046721d2da66c3bed7d6389be82b069 Mon Sep 17 00:00:00 2001 From: peter1138 Date: Wed, 21 Mar 2007 20:58:01 +0000 Subject: [PATCH] (svn r9393) -Codechange: Use newgrf town resolver as station parent scope handler --- src/newgrf_station.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/newgrf_station.cpp b/src/newgrf_station.cpp index 2d7fc5c178..f964525c41 100644 --- a/src/newgrf_station.cpp +++ b/src/newgrf_station.cpp @@ -20,6 +20,8 @@ #include "date.h" #include "helpers.hpp" #include "cargotype.h" +#include "town_map.h" +#include "newgrf_town.h" static StationClass station_classes[STAT_CLASS_MAX]; @@ -348,6 +350,22 @@ static uint32 StationGetVariable(const ResolverObject *object, byte variable, by const Station *st = object->u.station.st; TileIndex tile = object->u.station.tile; + if (object->scope == VSG_SCOPE_PARENT) { + /* Pass the request on to the town of the station */ + Town *t; + + if (st != NULL) { + t = st->town; + } else if (tile != INVALID_TILE) { + t = GetTownByTile(tile); + } else { + *available = false; + return UINT_MAX; + } + + return TownGetVariable(variable, parameter, available, t); + } + if (st == NULL) { /* Station does not exist, so we're in a purchase list */ switch (variable) {