From 5db9266f4b56887cacad8b178ade91f4bd49344d Mon Sep 17 00:00:00 2001 From: Jonathan G Rennison Date: Thu, 4 Jan 2024 01:51:40 +0000 Subject: [PATCH] Change: Allow STRING/STRINGN to use all remaining parameters in game script mode --- src/strings.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/strings.cpp b/src/strings.cpp index 65bde033fe..1e29b2493f 100644 --- a/src/strings.cpp +++ b/src/strings.cpp @@ -1118,7 +1118,7 @@ static void FormatString(StringBuilder &builder, const char *str_arg, StringPara StringID string_id = args.GetNextParameter(); if (game_script && GetStringTab(string_id) != TEXT_TAB_GAMESCRIPT_START) break; /* 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); next_substr_case_index = 0; break; @@ -1138,7 +1138,7 @@ static void FormatString(StringBuilder &builder, const char *str_arg, StringPara if (game_script && size > args.GetDataLeft()) { builder += "(too many parameters)"; } 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); args.AdvanceOffset(size); }