From ccd3d3a547be5ae77cde9841f15209e16cb361d3 Mon Sep 17 00:00:00 2001
From: Peter Nelson <peter1138@openttd.org>
Date: Sun, 8 Dec 2024 12:20:25 +0000
Subject: [PATCH] Codechange: Add version of GetString() that takes parameters
 directly.

This allows parameters to be passed to GetString() bypassing the global parameter system.
---
 src/strings_func.h | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/src/strings_func.h b/src/strings_func.h
index ed4aaef2fb..2748ff6758 100644
--- a/src/strings_func.h
+++ b/src/strings_func.h
@@ -122,6 +122,19 @@ auto MakeParameters(Args &&... args)
 	return std::array<StringParameter, sizeof...(args)>({std::forward<StringParameter>(args)...});
 }
 
+/**
+ * Get a parsed string with most special stringcodes replaced by the string parameters.
+ * @param string String ID to format.
+ * @param args The parameters to set.
+ * @return The parsed string.
+ */
+template <typename... Args>
+std::string GetString(StringID string, Args &&... args)
+{
+	auto params = MakeParameters(std::forward<Args &&>(args)...);
+	return GetStringWithArgs(string, params);
+}
+
 /**
  * A searcher for missing glyphs.
  */