Peter Nelson
ccd3d3a547
Codechange: Add version of GetString() that takes parameters directly.
...
This allows parameters to be passed to GetString() bypassing the global parameter system.
2025-02-07 12:30:34 +00:00
Peter Nelson
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
Rubidium
55588b052e
Codechange: add concept of ConvertibleThroughBase for strong types
...
This makes it possible to write templated alternatives for ConvertibleThroughBase
which are then available for any (strong) type that implements a base() function
In the end making adding new ConvertibleThroughBase types less awkward.
2025-02-01 19:22:02 +01:00
Rubidium
fd7a883cbd
Codechange: make the StringIndex (within a StringTab) a strong type
2025-01-02 21:19:00 +01:00
Peter Nelson
cba329d9e2
Add: Translatable list separator. ( #13149 )
...
Some languages should use a separator other than ", " to separate list items, so it is now a translatable string.
2024-12-06 12:32:36 +00:00
Peter Nelson
14b986609b
Add: AppendStringInPlace() to append translated string ID into an existing string. ( #12969 )
...
This allows avoiding a string copy when building strings.
2024-10-07 19:05:38 +01:00
Peter Nelson
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
Peter Nelson
b449839538
Codechange: Pass span instead of vector to HaveDParamChanged.
2024-09-14 15:31:05 +01:00
Patric Stout
fd073a2810
Remove: replace custom span with std::span
2024-01-17 00:25:08 +01:00
Rubidium
3a676a5af0
Codechange: replace static inline with static for non-class functions
2024-01-06 13:37:33 +01:00
Peter Nelson
ab535c0a86
Codechange: Add base() method to StrongType to allow access to the base type without casting. ( #11445 )
...
This removes the ability to explicitly cast to the base type, but the requirement
to use .base() means the conversion is still explicit.
2023-11-06 20:29:35 +00:00
Peter Nelson
7d4a91ef9e
Cleanup: Remove some unused functions. ( #11429 )
...
These were picked up with cppcheck.
2023-11-03 21:21:00 +00:00
Patric Stout
299570b2c1
Codechange: make TimerGameCalendar Date and Year types strongly typed ( #10761 )
2023-08-12 18:14:21 +00: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
3e488465f8
Codechange: allow string temporaries in a StringParameter
2023-07-03 18:08:03 +02:00
Rubidium
b2edf82b69
Cleanup: remove unneeded CopyOutDParam version with StringID
2023-07-03 06:56:08 +02:00
Rubidium
7ed90a859f
Codechange: function to check whether string parameters have changed since the backup
2023-07-03 00:00:12 +02:00
Rubidium
05ef3f0998
Cleanup: remove old backup/restore of string parameters
2023-07-02 22:31:01 +02:00
Rubidium
2687704afc
Codechange: introduce new type and functions for StringParameter backups
2023-07-02 22:31:01 +02:00
Rubidium
381e8b69d2
Codechange: make size and offset size_t
2023-06-18 09:50:11 +02:00
Rubidium
1d902a97ce
Codechange: move StringParameters to strings_internal.h
2023-06-17 12:14:11 +02:00
Rubidium
ad048b143a
Codechange: move implementation of Set/GetDParam to strings.cpp
2023-06-17 12:14:11 +02:00
Rubidium
dd53a738bb
Codechange: automatically set/check the correct type for string parameters/genders
2023-06-17 11:02:31 +02:00
Rubidium
0a5e58451b
Codechange: pass string parameters by reference
2023-06-14 06:14:08 +02:00
Rubidium
43f91bc50c
Cleanup: unused GetDataPointer function
2023-06-13 23:53:13 +02:00
Rubidium
aba0d27a28
Codechange: use StringParameters for remapping the NewGRF string control codes
2023-06-13 22:11:21 +02:00
Rubidium
613ad80581
Codechange: remove need for GetDParamX
2023-06-12 09:12:11 +02:00
Rubidium
f86500df92
Codechange: remove need for SetDParamX
2023-06-12 09:12:11 +02:00
Rubidium
6c6f365d2f
Codechange: remove offset parameter for copying DParams in and out
2023-06-11 17:03:31 +02:00
Rubidium
14915526ad
Cleanup: remove stre-style GetString
2023-06-05 11:23:31 +02:00
Rubidium
36aaa9d683
Codechange: let GetStringWithArgs use StringBuilder
2023-06-04 18:00:23 +02:00
Patric Stout
199e41c762
Codechange: use default dtor instead of empty ( #10826 )
2023-05-14 23:31:03 +02:00
Patric Stout
febe394806
Codechange: replace C-style strings with C++-style strings in textfile ( #10772 )
2023-05-09 19:35:50 +00:00
PeterN
f1144de509
Feature: Separate rail/road and sea/air velocity units, and add knots. ( #10594 )
...
This is achieved by packing vehicle type along with the velocity so that
the string system can decode and pick the appropriate unit.
2023-04-08 12:26:13 -04:00
frosch
fea6a34684
Codechange: SetDParamStr borrows contents from std::string::c_str(). Prevent calling it with temporaries. ( #10136 )
2022-11-05 17:14:10 +01:00
Peter Nelson
f6ad8e1c9c
Change: Rename some freetype things to fontcache.
...
The font cache supports more than just FreeType as a font provider, but still used freetype in some naming.
This now uses more suitable terms.
2022-09-25 18:34:24 +01:00
rubidium42
979783f90e
Codechange: replace InjectDParam/ShiftParameters by setting the right parameter values in the first place
2021-07-03 11:26:13 +02:00
rubidium42
2e0297b0fa
Add: GetString that returns std::string instead of filling a passed buffer
2021-05-15 10:20:50 +02:00
rubidium42
6bca9e090d
Codechange: add SetDParamStr that accepts std::string&
2021-05-06 21:45:36 +02:00
Patric Stout
98400974a9
Codechange: nobody was using "str" parameter, so remove it
2021-01-13 14:27:39 +01:00
Charles Pigott
860c270c73
Codechange: Replace assert_compile macro with static_assert
2020-12-27 10:55:42 +00:00
S. D. Cloudt
13cc8a0cee
Cleanup: Removed SVN headers
2019-11-10 17:59:20 +00:00
Michael Lutz
d2ed426077
Codechange: [Win32] Pass a native GDI font description around when we have one, instead of repeatedly guessing the font.
2019-05-14 11:21:36 +01:00
glx
8899272614
Codechange: use std::vector for _language_dropdown
2019-04-18 21:49:34 +02:00
Henry Wilson
7c8e7c6b6e
Codechange: Use null pointer literal instead of the NULL macro
2019-04-10 23:22:20 +02: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
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
9ad09627ad
(svn r27754) -Codechange: Add GetStringTab(), GetStringIndex() and MakeStringID() to access the structure of StringIDs.
2017-02-26 19:39:58 +00:00
frosch
5ab39cc651
(svn r26238) -Codechange: Use StringParameters::GetDataLeft to check for left space in the param array.
2014-01-12 17:59:43 +00:00