Rubidium
14915526ad
Cleanup: remove stre-style GetString
2023-06-05 11:23:31 +02:00
Rubidium
4e39a58c59
Codechange: let town name generation use StringBuilder
2023-06-04 21:42:59 +02:00
rubidium42
bfcb027cb9
Fix 2dffa7d: fmt::format_to copies the iterator, so some text does not remain during formatting ( #10940 )
2023-06-04 19:55:47 +02:00
Rubidium
36aaa9d683
Codechange: let GetStringWithArgs use StringBuilder
2023-06-04 18:00:23 +02:00
Rubidium
2dffa7d0c6
Codechange: let FormatString use StringBuilder
2023-06-04 15:06:52 +02:00
PeterN
ac1d042550
Remove: obsolete NewGRF text unprinting. ( #10884 )
...
Co-authored-by: Rubidium <rubidium@openttd.org>
2023-06-04 13:14:56 +02:00
Rubidium
c384d829fe
Codechange: let number formatting use StringBuilder
2023-06-04 12:24:37 +02:00
Peter Nelson
76516d7f70
Codechange: Use IsValidCargoID/IsValidCargoType.
...
IsValidCargoType() is used only for unmapped IDs.
2023-05-22 20:43:40 +01:00
Rubidium
63d9bb93b8
Codechange: migrate from C-style GetString to C++-style GetString
2023-05-21 21:17:12 +02:00
Peter Nelson
bf9caa425b
Change: Units-system can convert from N to kN, don't preconvert.
...
This allows force to passed as is and avoid premature rounding.
The AI function "GetMaxTractiveEffort" still needs to return kN to avoid breaking the API.
2023-05-09 23:02:51 +02:00
Peter Nelson
e2f583a34f
Change: Standardise unit conversions and allow decimal places.
...
Previously the decimal_places member was mostly ignored except for
specific conversions. {DECIMAL} with 0 is the same as {COMMA} so there
is no downside to allowing any conversion to have decimals.
2023-05-09 23:02:51 +02:00
Peter Nelson
3c2f87ce1f
Change: Perform unit convert with a double-precision constant.
...
Unit conversion is only performed for display purposes, this does not
affect lock-step mechanics.
This replaces the old multiply and shift algorithm which relies on
choosing a multipler and shift combination that gets close. Some of these
multiply/shift combinations were quite inaccurate. We can just
use (close-to) real-world numbers instead.
2023-05-09 23:02:51 +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
Tyler Trahan
6501f84b4a
Codechange: Move calendar date functions inside TimerGameCalendar ( #10753 )
2023-05-04 13:14:12 +00:00
Patric Stout
81d4fa6999
Feature: drop ICU-lx in favour of directly interfacing with harfbuzz
...
This means we have RTL support again with ICU 58+. It makes use of:
- ICU for bidi-itemization
- ICU for script-itemization
- OpenTTD for style-itemization
- harfbuzz for shaping
2023-05-01 22:17:56 +02:00
Rubidium
8665404fe0
Codechange: use std::string instead of stredup for missing glyph error messages
2023-05-01 16:23:24 +02:00
Tyler Trahan
ba3de0383a
Codechange: Pass more std::string to StringFilter::AddLine() ( #10743 )
2023-04-30 10:23:05 +02:00
Rubidium
c829930440
Codechange: replace strnatcmp with C++ string capable version
2023-04-29 12:07:45 +02:00
Rubidium
75cd790ab9
Codechange: use fmt::format for FormatHexNumber
2023-04-26 18:46:17 +02:00
Charles Pigott
80bd5ad727
Codechange: Use std::strto* variants everywhere ( #10720 )
2023-04-26 12:56:14 +01:00
Tyler Trahan
930f0a16d8
Codechange: Define Date/Year/Month/Day within TimerGameCalendar class
2023-04-26 07:14:03 -04:00
Rubidium
f74e26ca7e
Codechange: replace error/usererror printf variant with fmt variant and rename
2023-04-25 17:55:09 +02:00
Charles Pigott
e20a6f8ebb
Codechange: Optimise FormatNumber by removing seprintf calls ( #10659 )
2023-04-17 00:04:24 +02:00
Rubidium
29b09523d1
Codechange: Use {ZEROFILL_NUM} instead of custom seprintf + {RAW_STRING}
2023-04-16 21:06:20 +02:00
PeterN
3b2eb11fe8
Codechange: Use cached name for all station/industry/town name formatting. ( #10634 )
...
This reuses an existing name caching mechanism to avoid "recalculating" names every time.
2023-04-11 22:50:22 +02: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
Jonathan G Rennison
43cea852a6
Fix 41b414b: Validate RAW_STRING parameter values in game_script mode
2023-04-08 00:14:12 +02:00
glx22
41b414bc1c
Change: [Script] Restore support of {RAW_STRING} in ScriptText
2023-02-28 18:53:17 +01:00
Michael Lutz
05ed9f56fd
Feature: [NewGRF] Engine name callback.
2023-01-30 22:00:56 +01:00
rubidium42
6ba55e663e
Codechange: do not hide variables with other variables
2023-01-29 07:21:34 +01:00
Henry Wilson
59dbcdb5ba
Feature: Display power-to-weight ratio in ground vehicle details GUI
2022-11-08 21:02:08 +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
frosch
5f6303f985
Fix: don't complain when the sprite font is missing glyphs. ( #9692 )
...
Silently auto-pick a suitable font.
2021-11-13 21:01:16 +01:00
Rubidium
3e4d327451
Codechange: use the C++ std::getenv over the POSIX/C getenv
...
The C++ std::getenv is guaranteed thread-safe by the C++11 specification,
whereas the POSIX/C getenv might not be thread-safe by the C11 specification.
2021-07-10 22:55:46 +02: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
55a11710a6
Codechange: convert printf DEBUG statements to fmt Debug statements
2021-06-13 12:45:45 +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
44ca7d9377
Change: Use gender-neutral pronouns
2021-05-15 10:16:48 +02:00
rubidium42
77330d09fd
Codechange: move font settings to std::string
2021-05-13 23:13:17 +02:00
rubidium42
65cbde4b30
Codechange: move currency settings to std::string
2021-05-13 23:13:17 +02:00
rubidium42
2022e34824
Codechange: move locale settings to std::string
2021-05-13 23:13:17 +02:00
rubidium42
6bca9e090d
Codechange: add SetDParamStr that accepts std::string&
2021-05-06 21:45:36 +02:00
glx22
983c7ade60
Codechange: Replace FOR_ALL_SEARCHPATHS with range-based for loops
2021-05-03 19:46:57 +02:00
Peter Nelson
20ac0b4148
Cleanup: Replace FOR_ALL_SORTED_CARGOSPECS macro with range iterator.
2021-04-28 23:54:31 +01:00
frosch
37222c3fa2
Change: treat languages as finished, if translations are 75% completed.
...
Unfinished translations are not auto-picked from the locale.
In release builds, unfinished translations are not offered in the GUI.
Unfinished translations are available in non-release builds, or by editing openttd.cfg.
2021-04-22 22:16:56 +02:00
Patric Stout
05612d60ae
Remove: "language" field from server/client
...
The original idea was that people could find a server they could
talk in their native language on. This isn't really used in that
way. There are several reasons for removing this:
- the client also sends his "language" to the server, but nothing
is doing anything with this.
- flags are a bad way to represent languages, and over the years
we had several (rightfully) complaints about this.
- most servers have their language set to "All", and prefix the
servername with the language it is about. This is a much more
efficient way to do the same.
All in all, this feature should go back to the drawing board.
Maybe it could work in another form, but this form is not it.
2021-04-20 17:24:38 +02:00
TELK
fdc8230dfa
Cleanup: Fix comment for only one form ( #9012 )
2021-04-11 11:48:51 +01:00
Nicolae Crefelean
d4c3d01d07
Add: new plural form for Romanian translation ( #8936 )
2021-04-10 17:33:27 +02:00
Niels Martin Hansen
e0561dbded
Fix #8713 : Change OTTD2FS and FS2OTTD to return string objects instead of static buffers
2021-04-07 09:31:47 +02:00
milek7
295f34a9df
Fix: Freeing LanguagePack with wrong size.
2021-04-02 10:12:25 +02:00