mirror of https://github.com/OpenTTD/OpenTTD
Change: Allow STRING/STRINGN to use all remaining parameters in game script mode
parent
e2a79f0f32
commit
5db9266f4b
|
@ -1118,7 +1118,7 @@ static void FormatString(StringBuilder &builder, const char *str_arg, StringPara
|
||||||
StringID string_id = args.GetNextParameter<StringID>();
|
StringID string_id = args.GetNextParameter<StringID>();
|
||||||
if (game_script && GetStringTab(string_id) != TEXT_TAB_GAMESCRIPT_START) break;
|
if (game_script && GetStringTab(string_id) != TEXT_TAB_GAMESCRIPT_START) break;
|
||||||
/* It's prohibited for the included string to consume any arguments. */
|
/* It's prohibited for the included string to consume any arguments. */
|
||||||
StringParameters tmp_params(args, 0);
|
StringParameters tmp_params(args, game_script ? args.GetDataLeft() : 0);
|
||||||
GetStringWithArgs(builder, string_id, tmp_params, next_substr_case_index, game_script);
|
GetStringWithArgs(builder, string_id, tmp_params, next_substr_case_index, game_script);
|
||||||
next_substr_case_index = 0;
|
next_substr_case_index = 0;
|
||||||
break;
|
break;
|
||||||
|
@ -1138,7 +1138,7 @@ static void FormatString(StringBuilder &builder, const char *str_arg, StringPara
|
||||||
if (game_script && size > args.GetDataLeft()) {
|
if (game_script && size > args.GetDataLeft()) {
|
||||||
builder += "(too many parameters)";
|
builder += "(too many parameters)";
|
||||||
} else {
|
} else {
|
||||||
StringParameters sub_args(args, size);
|
StringParameters sub_args(args, game_script ? args.GetDataLeft() : size);
|
||||||
GetStringWithArgs(builder, string_id, sub_args, next_substr_case_index, game_script);
|
GetStringWithArgs(builder, string_id, sub_args, next_substr_case_index, game_script);
|
||||||
args.AdvanceOffset(size);
|
args.AdvanceOffset(size);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue