Commit Graph
93 Commits
Author SHA1 Message Date
Peter NelsonandPeter Nelson 27761ae431 Cleanup: Remove global string parameters.
Global parameters, and functions for dealing with them, are now gone.
2025-03-04 08:48:35 +00:00
Peter NelsonandPeter Nelson 24d327a30b Codechange: Use parameterised-GetString for vehicle related windows. 2025-02-22 10:33:22 +00:00
Peter NelsonandPeter Nelson 0428f8c667 Codechange: Add AppendStringWithArgsInPlace() function. 2025-02-22 10:33:22 +00:00
Peter NelsonandPeter Nelson 04a16a6b68 Codechange: Add GetParamMaxDigits/Value() functions.
Similar to SetDParamMaxDigits/Value(), except the value is returned instead of being set into a parameter.
2025-02-22 10:33:22 +00:00
Peter NelsonandGitHub 2d7d085e8e Codechange: Use EncodedString for error messages. (#13569) 2025-02-16 10:04:32 +00:00
Peter NelsonandPeter Nelson 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
Peter NelsonandPeter 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 NelsonandPeter 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
Rubidiumandrubidium42 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
Rubidiumandrubidium42 fd7a883cbd Codechange: make the StringIndex (within a StringTab) a strong type 2025-01-02 21:19:00 +01:00
Peter NelsonandGitHub 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 NelsonandGitHub 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 NelsonandPeter 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 NelsonandPeter Nelson b449839538 Codechange: Pass span instead of vector to HaveDParamChanged. 2024-09-14 15:31:05 +01:00
Patric StoutandPatric Stout fd073a2810 Remove: replace custom span with std::span 2024-01-17 00:25:08 +01:00
Rubidiumandrubidium42 3a676a5af0 Codechange: replace static inline with static for non-class functions 2024-01-06 13:37:33 +01:00
Peter NelsonandGitHub 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 NelsonandGitHub 7d4a91ef9e Cleanup: Remove some unused functions. (#11429)
These were picked up with cppcheck.
2023-11-03 21:21:00 +00:00
Patric StoutandGitHub 299570b2c1 Codechange: make TimerGameCalendar Date and Year types strongly typed (#10761) 2023-08-12 18:14:21 +00:00
Rubidiumandrubidium42 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
Rubidiumandrubidium42 3e488465f8 Codechange: allow string temporaries in a StringParameter 2023-07-03 18:08:03 +02:00
Rubidiumandrubidium42 b2edf82b69 Cleanup: remove unneeded CopyOutDParam version with StringID 2023-07-03 06:56:08 +02:00
Rubidiumandrubidium42 7ed90a859f Codechange: function to check whether string parameters have changed since the backup 2023-07-03 00:00:12 +02:00
Rubidiumandrubidium42 05ef3f0998 Cleanup: remove old backup/restore of string parameters 2023-07-02 22:31:01 +02:00
Rubidiumandrubidium42 2687704afc Codechange: introduce new type and functions for StringParameter backups 2023-07-02 22:31:01 +02:00
Rubidiumandrubidium42 381e8b69d2 Codechange: make size and offset size_t 2023-06-18 09:50:11 +02:00
Rubidiumandrubidium42 1d902a97ce Codechange: move StringParameters to strings_internal.h 2023-06-17 12:14:11 +02:00
Rubidiumandrubidium42 ad048b143a Codechange: move implementation of Set/GetDParam to strings.cpp 2023-06-17 12:14:11 +02:00
Rubidiumandrubidium42 dd53a738bb Codechange: automatically set/check the correct type for string parameters/genders 2023-06-17 11:02:31 +02:00
Rubidiumandrubidium42 0a5e58451b Codechange: pass string parameters by reference 2023-06-14 06:14:08 +02:00
Rubidiumandrubidium42 43f91bc50c Cleanup: unused GetDataPointer function 2023-06-13 23:53:13 +02:00
Rubidiumandrubidium42 aba0d27a28 Codechange: use StringParameters for remapping the NewGRF string control codes 2023-06-13 22:11:21 +02:00
Rubidiumandrubidium42 613ad80581 Codechange: remove need for GetDParamX 2023-06-12 09:12:11 +02:00
Rubidiumandrubidium42 f86500df92 Codechange: remove need for SetDParamX 2023-06-12 09:12:11 +02:00
Rubidiumandrubidium42 6c6f365d2f Codechange: remove offset parameter for copying DParams in and out 2023-06-11 17:03:31 +02:00
Rubidiumandrubidium42 14915526ad Cleanup: remove stre-style GetString 2023-06-05 11:23:31 +02:00
Rubidiumandrubidium42 36aaa9d683 Codechange: let GetStringWithArgs use StringBuilder 2023-06-04 18:00:23 +02:00
Patric StoutandGitHub 199e41c762 Codechange: use default dtor instead of empty (#10826) 2023-05-14 23:31:03 +02:00
Patric StoutandGitHub febe394806 Codechange: replace C-style strings with C++-style strings in textfile (#10772) 2023-05-09 19:35:50 +00:00
PeterNandGitHub 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
froschandGitHub 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 NelsonandPeterN 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
rubidium42andrubidium42 979783f90e Codechange: replace InjectDParam/ShiftParameters by setting the right parameter values in the first place 2021-07-03 11:26:13 +02:00
rubidium42andrubidium42 2e0297b0fa Add: GetString that returns std::string instead of filling a passed buffer 2021-05-15 10:20:50 +02:00
rubidium42andrubidium42 6bca9e090d Codechange: add SetDParamStr that accepts std::string& 2021-05-06 21:45:36 +02:00
Patric StoutandPatric 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. CloudtandCharles Pigott 13cc8a0cee Cleanup: Removed SVN headers 2019-11-10 17:59:20 +00:00
Michael LutzandOwen Rudge 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
glxandglx22 8899272614 Codechange: use std::vector for _language_dropdown 2019-04-18 21:49:34 +02:00