mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-02-10 08:17:05 +00:00
Codechange: generify GetRemainingParameters to allow custom offsets
This commit is contained in:
parent
9215e36300
commit
e404ba0631
@ -1036,7 +1036,7 @@ static void FormatString(StringBuilder &builder, const char *str_arg, StringPara
|
||||
_scan_for_gender_data = true;
|
||||
std::string buffer;
|
||||
StringBuilder tmp_builder(buffer);
|
||||
StringParameters tmp_params(args.GetPointerToOffset(offset), args.num_param - offset, nullptr);
|
||||
StringParameters tmp_params = args.GetRemainingParameters(offset);
|
||||
FormatString(tmp_builder, input, tmp_params);
|
||||
_scan_for_gender_data = old_sgd;
|
||||
|
||||
|
@ -81,16 +81,28 @@ public:
|
||||
|
||||
/**
|
||||
* Get a new instance of StringParameters that is a "range" into the
|
||||
* parameters existing parameters. Upon destruction the offset in the parent
|
||||
* remaining existing parameters. Upon destruction the offset in the parent
|
||||
* is not updated. However, calls to SetDParam do update the parameters.
|
||||
*
|
||||
* The returned StringParameters must not outlive this StringParameters.
|
||||
* @return A "range" of the string parameters.
|
||||
*/
|
||||
StringParameters GetRemainingParameters()
|
||||
StringParameters GetRemainingParameters() { return GetRemainingParameters(this->offset); }
|
||||
|
||||
/**
|
||||
* Get a new instance of StringParameters that is a "range" into the
|
||||
* remaining existing parameters from the given offset. Upon destruction the
|
||||
* offset in the parent is not updated. However, calls to SetDParam do
|
||||
* update the parameters.
|
||||
*
|
||||
* The returned StringParameters must not outlive this StringParameters.
|
||||
* @param offset The offset to get the remaining parameters for.
|
||||
* @return A "range" of the string parameters.
|
||||
*/
|
||||
StringParameters GetRemainingParameters(size_t offset)
|
||||
{
|
||||
return StringParameters(&this->data[this->offset], GetDataLeft(),
|
||||
this->type == nullptr ? nullptr : &this->type[this->offset]);
|
||||
return StringParameters(&this->data[offset], GetDataLeft(),
|
||||
this->type == nullptr ? nullptr : &this->type[offset]);
|
||||
}
|
||||
|
||||
/** Return the amount of elements which can still be read. */
|
||||
|
Loading…
Reference in New Issue
Block a user