Codechange: String parameter encoding for regular strings.

This allows a string and its parameters to be encoded and stored as just one string, instead of juggling with capturing and restoring string parameters.

The advantage of EncodedStrings over raw strings is they use current language and parameter values at the point of decoding.
This commit is contained in:
Peter Nelson
2024-12-07 09:28:56 +00:00
committed by Peter Nelson
parent 4010313180
commit 1f21e9dc74
5 changed files with 114 additions and 7 deletions

View File

@@ -25,7 +25,7 @@ enum StringControlCode : uint16_t {
/* All SCC_ENCODED* control codes must have stable ids are they are stored in strings that are saved in savegames. */
SCC_ENCODED = SCC_CONTROL_START, ///< Encoded string marker and sub-string parameter.
SCC_ENCODED_RESERVED, ///< Reserved for future non-GS encoded strings.
SCC_ENCODED_INTERNAL, ///< Encoded text from OpenTTD.
SCC_ENCODED_NUMERIC, ///< Encoded numeric parameter.
SCC_ENCODED_STRING, ///< Encoded string parameter.