diff --git a/src/strings.cpp b/src/strings.cpp index 5773ad911a..6cc1037982 100644 --- a/src/strings.cpp +++ b/src/strings.cpp @@ -1304,6 +1304,14 @@ static char *FormatString(char *buff, const char *str_arg, StringParameters *arg break; } + case SCC_SET_COLOUR: {// {SET_COLOUR} + int64 tc = args->GetInt64(SCC_SET_COLOUR); + if (tc >= 0 && tc < TC_END) { + buff += Utf8Encode(buff, SCC_BLUE + tc); + } + break; + } + case SCC_REVISION: // {REV} buff = strecpy(buff, _openttd_revision, last); break; diff --git a/src/table/control_codes.h b/src/table/control_codes.h index 57b648fe4f..df27252f5d 100644 --- a/src/table/control_codes.h +++ b/src/table/control_codes.h @@ -132,6 +132,7 @@ enum StringControlCode { SCC_BLACK, SCC_PUSH_COLOUR, SCC_POP_COLOUR, + SCC_SET_COLOUR, SCC_CONSUME_ARG, diff --git a/src/table/strgen_tables.h b/src/table/strgen_tables.h index e2ba39253e..271f61c9ff 100644 --- a/src/table/strgen_tables.h +++ b/src/table/strgen_tables.h @@ -60,6 +60,7 @@ static const CmdStruct _cmd_structs[] = { {"BLACK", EmitSingleChar, SCC_BLACK, 0, -1, C_DONTCOUNT}, {"PUSH_COLOUR", EmitSingleChar, SCC_PUSH_COLOUR, 0, -1, C_DONTCOUNT}, {"POP_COLOUR", EmitSingleChar, SCC_POP_COLOUR, 0, -1, C_DONTCOUNT}, + {"SET_COLOUR", EmitSingleChar, SCC_SET_COLOUR, 1, -1, C_NONE}, {"REV", EmitSingleChar, SCC_REVISION, 0, -1, C_NONE}, // openttd revision string