summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfrosch <frosch@openttd.org>2014-01-23 20:23:14 +0000
committerfrosch <frosch@openttd.org>2014-01-23 20:23:14 +0000
commit932dad7c8b24e5a1010126e1746034db3e9942e5 (patch)
tree5a60f40a1dd6e2c56b62e650ad1556766bebc543
parent278b380d107044c5ba3486f4ad67e7ef89e17938 (diff)
downloadopenttd-932dad7c8b24e5a1010126e1746034db3e9942e5.tar.xz
(svn r26275) -Fix: If NewGRF provided the same station name for different industry types, stations would end up with same name. So also consider the provided name, not only the industry type.
-rw-r--r--src/station_cmd.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/station_cmd.cpp b/src/station_cmd.cpp
index 6ef602b83..c253679d9 100644
--- a/src/station_cmd.cpp
+++ b/src/station_cmd.cpp
@@ -247,6 +247,14 @@ static StringID GenerateStationName(Station *st, TileIndex tile, StationNaming n
if (s != st && s->town == t) {
if (s->indtype != IT_INVALID) {
indtypes[s->indtype] = true;
+ StringID name = GetIndustrySpec(s->indtype)->station_name;
+ if (name != STR_UNDEFINED) {
+ /* Filter for other industrytypes with the same name */
+ for (IndustryType it = 0; it < NUM_INDUSTRYTYPES; it++) {
+ const IndustrySpec *indsp = GetIndustrySpec(it);
+ if (indsp->enabled && indsp->station_name == name) indtypes[it] = true;
+ }
+ }
continue;
}
uint str = M(s->string_id);