diff options
author | peter1138 <peter1138@openttd.org> | 2006-10-03 09:25:42 +0000 |
---|---|---|
committer | peter1138 <peter1138@openttd.org> | 2006-10-03 09:25:42 +0000 |
commit | 7be5422d831d779e22e850645541a8aa2490f48e (patch) | |
tree | b33c86230c9df1e154118759280dfbb2419037f3 /strings.c | |
parent | 753b5724001079c3352d23a911488044884dcf5b (diff) | |
download | openttd-7be5422d831d779e22e850645541a8aa2490f48e.tar.xz |
(svn r6622) - Add support for NewGRF text includes. (Based on mart3p's patch)
Diffstat (limited to 'strings.c')
-rw-r--r-- | strings.c | 18 |
1 files changed, 15 insertions, 3 deletions
@@ -172,6 +172,7 @@ static char *GetStringWithArgs(char *buffr, uint string, const int32 *argv) { uint index = GB(string, 0, 11); uint tab = GB(string, 11, 5); + char buff[512]; if (GB(string, 0, 16) == 0) error("!invalid string id 0 in GetString"); @@ -190,14 +191,25 @@ static char *GetStringWithArgs(char *buffr, uint string, const int32 *argv) case 15: return GetName(index, buffr); + case 26: + /* Include string within newgrf text (format code 81) */ + if (HASBIT(index, 10)) { + StringID string = GetGRFStringID(0, 0xD000 + GB(index, 0, 10)); + return GetStringWithArgs(buffr, string, argv); + } + break; + case 28: - return GetGRFString(buffr, index); + GetGRFString(buff, index); + return FormatString(buffr, buff, argv, 0); case 29: - return GetGRFString(buffr, index + 0x800); + GetGRFString(buff, index + 0x800); + return FormatString(buffr, buff, argv, 0); case 30: - return GetGRFString(buffr, index + 0x1000); + GetGRFString(buff, index + 0x1000); + return FormatString(buffr, buff, argv, 0); case 31: // dynamic strings. These are NOT to be passed through the formatter, |