Commit Graph

37 Commits

Author SHA1 Message Date
b55af05626 Codechange: Pass encoded script strings as EncodedString.
This removes the ambiguity of having std::strings that may or may not be encoded.
2025-03-04 21:40:39 +00:00
6e10584b91 Codechange: Use EncodedStrings for News messages. (#13654) 2025-02-23 20:24:02 +00:00
1f21e9dc74 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.
2025-02-10 22:49:14 +00:00
4010313180 Codechange: String parameters can now be explicitly not initialised.
As the visitor is now more complex this requires an unspecialised GetNextParameter() to avoid it being repeated for each return type.
2025-02-10 22:49:14 +00:00
be00fd4447 Codechange: Use std::array as simple string parameter container.
ArrayStringParameters contains extra state that is used when formatting strings which isn't needed when creating parameter lists.

MakeParameters() now returns a std::array which contains only the parameter data. This simpler container is more widely available than before.
2025-02-07 12:30:34 +00:00
afc0745aa2 Codechange: Specify underlying type for all enums excluding those exposed to scripts. (#13383) 2025-01-28 22:17:34 +00:00
Rubidium
1e383d576b Codechange: change SPECSTR_ to StringID and remove unused enumeration 2025-01-04 21:06:07 +01:00
Rubidium
65731bb964 Codechange: use SPECSTR_..._END over _LAST, to prevent + 1 everywhere 2025-01-04 21:06:07 +01:00
Rubidium
fd7a883cbd Codechange: make the StringIndex (within a StringTab) a strong type 2025-01-02 21:19:00 +01:00
3d8d0e0d26 Codechange: Use std::variant to store string parameter data.
This avoids storing two separate values and makes the test for which type is held clearer.

This replaces use of unique_ptr for conditionally storing a string, and is also used in place of StringParameterBackup.
2024-09-14 15:31:05 +01:00
Rubidium
eaae0bb5e7 Codechange: automatic adding of _t to (u)int types, and WChar to char32_t
for i in `find src -type f|grep -v 3rdparty/fmt|grep -v 3rdparty/catch2|grep -v 3rdparty/opengl|grep -v stdafx.h`; do sed 's/uint16& /uint16 \&/g;s/int8\([ >*),;[]\)/int8_t\1/g;s/int16\([ >*),;[]\)/int16_t\1/g;s/int32\([ >*),;[]\)/int32_t\1/g;s/int64\([ >*),;[]\)/int64_t\1/g;s/ uint32(/ uint32_t(/g;s/_uint8_t/_uint8/;s/Uint8_t/Uint8/;s/ft_int64_t/ft_int64/g;s/uint64$/uint64_t/;s/WChar/char32_t/g;s/char32_t char32_t/char32_t WChar/' -i $i; done
2023-07-19 19:30:14 +02:00
Rubidium
2687704afc Codechange: introduce new type and functions for StringParameter backups 2023-07-02 22:31:01 +02:00
Patric Stout
b21ba566ae Codechange: remove special strings for language and resolutions (#8824)
As OpenTTD grew, we found other ways to do this, and we are no
longer in need for a hack like this.
2021-03-09 10:58:33 +01:00
S. D. Cloudt
13cc8a0cee Cleanup: Removed SVN headers 2019-11-10 17:59:20 +00:00
glx
8cccb158e9 Fix #7672: more than 32 resolutions may be available 2019-08-02 20:19:07 +01:00
frosch
2bb80d280c (svn r27758) -Change: Increase the maximum number of GameScript texts to 64k, and NewGRF texts to 512k. 2017-02-26 19:41:30 +00:00
frosch
fc4c4d080c (svn r27757) -Change: Make StringID 32bit. 2017-02-26 19:41:14 +00:00
frosch
a56e2bccd0 (svn r27756) -Codechange: Add StringTab enum 2017-02-26 19:40:53 +00:00
frosch
f4da8ece0c (svn r27755) -Codechange: Move TAB_SIZE to strings_type.h and use it consistently. 2017-02-26 19:40:32 +00:00
frosch
ebd2d3ccef (svn r26525) -Remove: Screenshot format setting from GUI. 2014-04-27 15:13:46 +00:00
rubidium
a6f9488ae4 (svn r22957) -Codechange: SPECSTR_PLAYERNAME is actually the company name, which is derived from the town name + ' Transport'. So make sure the last constant is in sync with the town name table 2011-09-23 19:27:15 +00:00
rubidium
8aba642ed5 (svn r21164) -Codechange: replace the hardcoded array of language metadata with a list 2010-11-13 12:09:30 +00:00
rubidium
f4e4056aed (svn r21161) -Codechange: make the currently used language easier accessible 2010-11-13 11:25:58 +00:00
rubidium
f195920695 (svn r21160) -Codechange: reuse the strgen LanguageHeader to store some metadata about a language, and keep the language metadata in memory instead of loading it several times from disk 2010-11-13 11:11:02 +00:00
rubidium
30637a8340 (svn r21157) -Codechange: remove information about the text direction out of the language "list" 2010-11-13 09:56:25 +00:00
rubidium
7c7a0cc3f7 (svn r21126) -Codechange: increase the limit of languages OpenTTD can know about to the limit imposed by the NewGRF specs as we're already quite close to the limit; less than 10% from the limit with the currently translated languages 2010-11-10 16:25:20 +00:00
rubidium
398418b8fa (svn r19812) -Codechange: give some unnamed enums a name or, in case they consisted of unrelated values use static const (u)int 2010-05-13 09:44:44 +00:00
rubidium
ade9773080 (svn r18603) -Codechange: move getting the song name to music_gui.cpp 2009-12-22 18:34:07 +00:00
smatz
665864e5b0 (svn r17611) -Fix: buffers used for verifying company and president name length were too short, possibly causing false positives 2009-09-22 12:42:56 +00:00
rubidium
7fbc33dae1 (svn r17248) -Fix: add GPL license notice where appropriate 2009-08-21 20:21:05 +00:00
frosch
713da56d9b (svn r16090) -Fix: s/Slovakish/Slovak/ (unimatrix) 2009-04-19 14:11:17 +00:00
rubidium
b25a4f8231 (svn r15718) -Cleanup: apply some comment coding style on the rest of the sources too 2009-03-15 00:32:18 +00:00
rubidium
65404674a4 (svn r14480) -Add: warning when trying to use a right-to-left language without support for it in OpenTTD. 2008-10-17 17:42:51 +00:00
rubidium
c5a4e90338 (svn r13910) -Document: string drawing related functions and types (Alberth) 2008-08-01 09:34:34 +00:00
rubidium
ab234cf90c (svn r13715) -Fix [FS#2129]: C-like strings had to be rebound each time they were printed, otherwise the text could change due to the few number of slots that could be used to bind.
-Codechange: remove all BindCString and related functions and replace it by RAW_STRING which prints the C-string raw pointer that is on the 'print stack'.
2008-07-17 13:47:04 +00:00
glx
69c18efdca (svn r11886) -Add: sort the strings in languages dropdown 2008-01-17 00:21:43 +00:00
rubidium
433a9f3c09 (svn r11675) -Codechange: split the string types from the string functions. 2007-12-21 19:49:27 +00:00