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
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
Michael Lutz
6755ff63e1
Add: [OSX] Native font rendering without using FreeType.
2021-02-14 11:48:58 +01:00
Michael Lutz
2b0200d429
Codechange: OS-specific data for font search is not used outside of searching.
2021-02-13 20:09:14 +01:00
Patric Stout
c6fd6cfd15
Fix: tell the user if a font fails to load and fallback is about to be used
...
Additionally, tell exactly why the font failed to load, which
glyph was missing from the font. This hopefully helps the user
a bit more in the right direction.
2021-01-13 14:27:39 +01:00
Patric Stout
98400974a9
Codechange: nobody was using "str" parameter, so remove it
2021-01-13 14:27:39 +01:00
Charles Pigott
9b800a96ed
Codechange: Remove min/max functions in favour of STL variants ( #8502 )
2021-01-08 11:16:18 +01:00
Michael Lutz
024a3f6259
Codechange: Use automatic memory management for language pack reading.
2020-12-27 13:19:25 +01:00
Michael Lutz
f3326d34e7
Codechange: Use std::string in FIO search path handling.
2020-12-27 13:19:25 +01:00
stormcone
ca65f19b03
Feature: Show group name as part of the default vehicle name.
...
Only if the vehicle is member of a group and does not have a user defined name.
2020-12-15 21:18:03 +01:00
jostephd
b1cf79da5b
Feature: new velocity unit "tiles/day" ( #8278 )
2020-12-15 00:39:57 +01:00
Michael Lutz
63ccb36ef3
Codechange: Use std::string for most of the user-settable custom names.
2020-05-21 20:02:34 +02: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
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
Michael Lutz
2675762ae9
Add: [Win32] GDI engine for font glyph rendering as a replacement for including FreeType.
...
Building with FreeType is still possible and will take precedence over the GDI renderer, but
the project files don't include FreeType anymore by default. Combining GDI rendering with ICU
text layout is untested.
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
glx22
427d9d483f
Fix #6564 : enforce types of arguments for station name strings ( #7419 )
2019-03-26 22:50:56 +01:00
Charles Pigott
e453572b6a
Codechange: Initialise a few variables that -flto seems to think could possibly be uninitialised
2019-03-26 20:54:40 +00:00
Henry Wilson
ab711e6942
Codechange: Replaced SmallVector::[Begin|End]() with std alternatives
2019-03-26 20:15:57 +00:00
Henry Wilson
a0f36a50e6
Codechange: Replaced SmallVector::Append() with std::vector::[push|emplace]_back()
2019-03-26 20:15:57 +00:00
Henry Wilson
a690936ed7
Codechange: Replace SmallVector::Length() with std::vector::size()
2019-03-26 20:15:57 +00:00
Henry Wilson
af7d9020a1
Codechange: Use override specifer for overriding member declarations
...
This is a C++11 feature that allows the compiler to check that a virtual
member declaration overrides a base-class member with the same signature.
Also src/blitter/32bpp_anim_sse4.hpp +38 is no longer erroneously marked
as virtual despite being a template.
2019-03-24 16:10:04 +01:00
Patric Stout
e3c639a09f
Remove: ENABLE_NETWORK switch
...
This switch has been a pain for years. Often disabling broke
compilation, as no developer compiles OpenTTD without, neither do
any of our official binaries.
Additionaly, it has grown so hugely in our codebase, that it
clearly shows that the current solution was a poor one. 350+
instances of "#ifdef ENABLE_NETWORK" were in the code, of which
only ~30 in the networking code itself. The rest were all around
the code to do the right thing, from GUI to NewGRF.
A more proper solution would be to stub all the functions, and
make sure the rest of the code can simply assume network is
available. This was also partially done, and most variables were
correct if networking was disabled. Despite that, often the #ifdefs
were still used.
With the recent removal of DOS, there is also no platform anymore
which we support where networking isn't working out-of-the-box.
All in all, it is time to remove the ENABLE_NETWORK switch. No
replacement is planned, but if you feel we really need this option,
we welcome any Pull Request which implements this in a way that
doesn't crawl through the code like this diff shows we used to.
2019-03-20 19:24:55 +01:00
Patric Stout
36105841b9
Codechange: ICU_SORT is in reality ICU_I18N (according to their CMake files)
...
By naming it in a different way, things get a bit confusing.
Especially if we are switching to CMake, which autodetects these
things, we need to use the name the authors of ICU gave it; not
our interpertation of that name.
2019-03-11 10:16:00 +01:00
Patric Stout
52d7e7d45e
Codechange: ICU_LAYOUT is in reality ICU_LX (according to their CMake files)
...
By naming it in a different way, things get a bit confusing.
Especially if we are switching to CMake, which autodetects these
things, we need to use the name the authors of ICU gave it; not
our interpertation of that name.
2019-03-11 10:16:00 +01:00
PeterN
63fe6c6598
Codechange: Make std::stack use std::vector container in string formatting/drawing. ( #7305 )
...
This is a very minor performance increase which can add up during operations such
as sorting. Performance impact my be platform/compiler dependent.
2019-03-02 08:06:02 +00:00
glx
c540d72445
Fix: [Win32] WIN32 may not be defined, always prefer the compiler predefined macro _WIN32
2018-12-27 18:09:16 +01:00
Michael Lutz
32ce1ce347
Add: [OSX] Text layout using the native CoreText API.
...
By default, the native API will be used instead of ICU, but if ICU is
forced in using configure, it will take precedence.
2018-12-08 20:13:27 +01:00
Michael Lutz
8d7cd6a526
Add: [OSX] Native natural sort implementation.
2018-12-08 20:13:27 +01:00
Charles Pigott
e0c0394e37
Fix: Remove various dead or unnecessary assignments
2018-10-31 12:41:49 +01:00
Charles Pigott
f5b1115039
Doc: Lots and lots of doxymentation fixes
2018-10-31 12:35:54 +01:00
PeterN
11ab3c4ea2
Change: Increase cargo type limit to 64.
2018-06-26 13:32:58 +01:00
Michael Lutz
768a31bfe3
Add: [Win32] Text layout using the native Windows Uniscribe library.
...
Uniscribe is sometimes producing different results compared to ICU, especially
when RTL and LTR content is mixed. Comparing the results to other programs
(like editors or web browsers) leads me to believe that the result are at least
not worse than ICU and possibly better.
2018-06-06 21:37:09 +02:00
Michael Lutz
f4394debdc
Add: [Win32] Native natural sort implementation.
2018-06-06 21:37:09 +02:00
PeterN
4cebebcf68
Change: Add CargoTypes type for cargo masks. ( #6790 )
2018-05-21 22:08:39 +01:00
PeterN
3b32075e8a
Add: {PUSH_COLOUR} and {POP_COLOUR} control codes to handle switching colours. ( #6737 )
...
This replaces the internal SCC_PREVIOUS_COLOUR swap.
2018-04-19 19:33:21 +01:00
Pavel Stupnikov
9175c349da
Fix #6465 : Add {NORMAL_FONT} and {MONO_FONT} control codes to GS strings ( #6726 )
2018-04-17 18:41:31 +01:00
Charles Pigott
19076c24c1
Fix #6690 : Compilation with ICU 61
2018-04-08 11:47:26 +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
9ad09627ad
(svn r27754) -Codechange: Add GetStringTab(), GetStringIndex() and MakeStringID() to access the structure of StringIDs.
2017-02-26 19:39:58 +00:00
frosch
d874cef678
(svn r27602) -Fix [FS#6481]: Compilation with --disable-network. (Deranged)
2016-06-17 18:56:19 +00:00
michi_cc
2b8bb12d62
(svn r27381) -Fix: Warnings due to C++11 requirements for explicit narrowing conversions in initializer lists.
2015-08-10 20:24:13 +00:00
rubidium
69fac508c3
(svn r27367) -Codechange: make a distinction between the layouting part of ICU (lx) or the sorting/collation part of ICU (i18n)
2015-08-09 12:33:27 +00:00
michi_cc
95cb7c8692
(svn r27288) -Fix: Slow network content GUI in MSVC Debug builds due to repeated string resolving.
2015-05-17 19:49:35 +00:00
rubidium
730773f5f1
(svn r27102) -Fix [FS#6194]: money values would end up wrong in strings when outside of the bounds of a 32 bits integer
2015-01-01 20:50:43 +00:00
frosch
861b9bc85e
(svn r27063) -Fix [FS#6172]: Some lists did not use natural string sorting.
2014-11-18 20:12:42 +00:00
rubidium
53e7138a2e
(svn r26733) -Fix [FS#6086]: inconsistency in using spaces between number and unit in some strings
...
Try to follow the SI recommendation to use a non-breaking space between a number and its units (and prefix)
2014-08-15 20:14:48 +00:00
planetmaker
42bc994cce
(svn r26657) -Add [FS#6047]: Days in dates are not represented by ordinal numbers in all languages
2014-06-20 20:57:32 +00:00
frosch
ebd2d3ccef
(svn r26525) -Remove: Screenshot format setting from GUI.
2014-04-27 15:13:46 +00:00
rubidium
9ed12b0f07
(svn r26509) -Codechange: replace strdup with stredup (the latter ensures the return is not NULL)
2014-04-25 15:40:32 +00:00
rubidium
21f991e235
(svn r26489) -Codechange: properly account for the end of buffers in the file io code instead of assuming MAX_PATH is okay
2014-04-23 21:23:21 +00:00
rubidium
5b82822c12
(svn r26486) -Codechange: replace a number of snprintfs with seprintf
2014-04-23 21:12:09 +00:00
rubidium
0463dbdc9e
(svn r26482) -Codechange: add an include that allows us to undefine/redefine "unsafe" functions to prevent them from being used, and thus having to care about certain aspects of their return values
2014-04-23 20:13:33 +00:00
frosch
4f419b8f84
(svn r26242) -Codechange: Use GRFFile that filled the TextRefStack to translate StringIDs from the TextRefStack, instead of passing stuff via global vars.
2014-01-12 18:00:55 +00:00
frosch
477c15383d
(svn r26239) -Fix: Check that there is space left in the string parameter array, before pushing NewGRF parameters to it.
2014-01-12 18:00:02 +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
frosch
bc86bf9b12
(svn r26237) -Cleanup: Remove unused SCC_STRING_ID.
2014-01-12 17:59:27 +00:00
rubidium
3bae1522c9
(svn r26063) -Fix (r26062): a few tabs too much
2013-11-23 13:24:31 +00:00
rubidium
3b2a92ea97
(svn r26062) -Fix: beef up checks against invalid data in highscore and language files
2013-11-23 13:18:29 +00:00
fonsinchen
8852d63711
(svn r26041) -Fix: make variable initialization more obvious for humans and compilers.
2013-11-19 19:43:56 +00:00
rubidium
a25ecfd982
(svn r26007) -Change: make handling strings coming from game scripts slightly more lenient, i.e. less 'fatal error... must quit'
2013-11-16 09:54:22 +00:00
rubidium
d7af679fd6
(svn r26006) -Fix [FS#5804]: Game script showing vehicle on a story book, then the vehicle being removed and eventually being replaced by a non-user vehicle (most likely smoke) causing an assertion to trigger
2013-11-16 09:49:13 +00:00
rubidium
f9c9ff6ec3
(svn r25508) -Change: split unit localisation choice into a choice per type of unit, and move it to the advanced settings
...
-Feature [FS#5482]: have tractive effort in imperial (lbf) and metric (kgf) units
-Feature: have weights and volumes in imperial units (short tons, gallons)
2013-06-29 09:47:18 +00:00