From bd173618173e0cdf6477e1df4f715cc486779828 Mon Sep 17 00:00:00 2001 From: frosch Date: Wed, 12 Sep 2012 18:52:11 +0000 Subject: (svn r24523) -Fix: The gender of an industry name is defined by the industry-type part of the name, not by the town-name part, even if it comes first. --- src/strings.cpp | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/strings.cpp b/src/strings.cpp index b0160f397..2449c5c09 100644 --- a/src/strings.cpp +++ b/src/strings.cpp @@ -1313,11 +1313,18 @@ static char *FormatString(char *buff, const char *str_arg, StringParameters *arg const Industry *i = Industry::GetIfValid(args->GetInt32(SCC_INDUSTRY_NAME)); if (i == NULL) break; - /* First print the town name and the industry type name. */ - int64 args_array[2] = {i->town->index, GetIndustrySpec(i->type)->name}; - StringParameters tmp_params(args_array); + if (_scan_for_gender_data) { + /* Gender is defined by the industry type. + * STR_FORMAT_INDUSTRY_NAME may have the town first, so it would result in the gender of the town name */ + StringParameters tmp_params(NULL, 0, NULL); + buff = FormatString(buff, GetStringPtr(GetIndustrySpec(i->type)->name), &tmp_params, last, next_substr_case_index); + } else { + /* First print the town name and the industry type name. */ + int64 args_array[2] = {i->town->index, GetIndustrySpec(i->type)->name}; + StringParameters tmp_params(args_array); - buff = FormatString(buff, GetStringPtr(STR_FORMAT_INDUSTRY_NAME), &tmp_params, last, next_substr_case_index); + buff = FormatString(buff, GetStringPtr(STR_FORMAT_INDUSTRY_NAME), &tmp_params, last, next_substr_case_index); + } next_substr_case_index = 0; break; } -- cgit v1.2.3-70-g09d2