diff --git a/src/error_gui.cpp b/src/error_gui.cpp index 1d7107bec4..e73da56fdd 100644 --- a/src/error_gui.cpp +++ b/src/error_gui.cpp @@ -131,6 +131,12 @@ ErrorMessageData::ErrorMessageData(StringID summary_msg, StringID detailed_msg, */ void ErrorMessageData::CopyOutDParams() { + if (this->detailed_msg == STR_ERROR_OWNED_BY) { + /* The parameters are set by SetDParamsForOwnedBy. */ + CompanyID company = (CompanyID)GetDParam(OWNED_BY_OWNER_IN_PARAMETERS_OFFSET); + if (company < MAX_COMPANIES) face = company; + } + /* Reset parameters */ for (size_t i = 0; i < lengthof(this->strings); i++) free(this->strings[i]); memset(this->decode_params, 0, sizeof(this->decode_params)); @@ -140,11 +146,6 @@ void ErrorMessageData::CopyOutDParams() if (this->textref_stack_size > 0) StartTextRefStackUsage(this->textref_stack_grffile, this->textref_stack_size, this->textref_stack); CopyOutDParam(this->decode_params, this->strings, this->detailed_msg == INVALID_STRING_ID ? this->summary_msg : this->detailed_msg, lengthof(this->decode_params)); if (this->textref_stack_size > 0) StopTextRefStackUsage(); - - if (this->detailed_msg == STR_ERROR_OWNED_BY) { - CompanyID company = (CompanyID)GetDParamX(this->decode_params, OWNED_BY_OWNER_IN_PARAMETERS_OFFSET); - if (company < MAX_COMPANIES) face = company; - } } /** diff --git a/src/strings_func.h b/src/strings_func.h index cc63efdb98..ec3f82cd3f 100644 --- a/src/strings_func.h +++ b/src/strings_func.h @@ -211,17 +211,6 @@ void CopyInDParam(const uint64 *src, int num); void CopyOutDParam(uint64 *dst, int num); void CopyOutDParam(uint64 *dst, const char **strings, StringID string, int num); -/** - * Get the current string parameter at index \a n from parameter array \a s. - * @param s Array of string parameters. - * @param n Index of the string parameter. - * @return Value of the requested string parameter. - */ -static inline uint64 GetDParamX(const uint64 *s, uint n) -{ - return s[n]; -} - /** * Get the current string parameter at index \a n from the global string parameter array. * @param n Index of the string parameter.