PeterN
c3d1264a4b
Change: Don't save industry history if cargo slot isn't used. ( #11133 )
...
This avoids saving history of 16 slots per industry when in many cases (NewGRF dependent) only a couple are used.
2023-07-14 11:12:22 +01:00
Jonathan G Rennison
3ac663e619
Fix: Build road/tram stop windows did not set WindowDesc::ini_key ( #11126 )
...
Saved default window sizes were not persisted in the configuration file
2023-07-12 22:07:31 +02:00
translators
7996752fb1
Update: Translations from eints
...
indonesian: 71 changes by ecolortest
2023-07-12 18:43:54 +00:00
rubidium42
9f6fec01cd
Codechange: rename cargo aging days to periods, as they are not really days ( #11112 )
2023-07-12 13:20:02 -04:00
Patric Stout
ab19882e94
Codechange: hint in all branches of ClampTo to resolve compile-time ( #11130 )
2023-07-12 13:54:44 +00:00
Patric Stout
97138acc8a
Codechange: make date-related variables constexpr ( #11129 )
...
This hints the compiler even more to result math-related questions
compile-time.
2023-07-12 13:15:24 +00:00
translators
d3181375a4
Update: Translations from eints
...
danish: 2 changes by bscargo
french: 2 changes by Lishouuu
2023-07-09 18:39:28 +00:00
translators
a54c28f2c3
Update: Translations from eints
...
polish: 3 changes by pAter-exe
2023-07-08 18:39:43 +00:00
Loïc Guilloux
119ac66c5c
Fix: [Bootstrap] don't crash when failing to connect to content server ( #11122 )
2023-07-08 14:54:39 +00:00
translators
bd91d249ea
Update: Translations from eints
...
dutch: 3 changes by Afoklala
2023-07-07 18:41:15 +00:00
translators
b2ccc19f2d
Update: Translations from eints
...
vietnamese: 2 changes by KhoiCanDev
2023-07-06 18:40:33 +00:00
Rubidium
18a31cca7c
Codechange: do not make a string valid in place, to then copy it
2023-07-06 19:59:50 +02:00
Rubidium
b958a343fe
Codechange: the templated StrMakeValidInPlace is not in place
2023-07-06 19:59:41 +02:00
Rubidium
968de827d6
Fix #11108 , e2f583a: missing argument for SCC_CARGO_SHORT formatting
2023-07-06 19:46:54 +02:00
translators
9f28da4e33
Update: Translations from eints
...
tamil: 3 changes by merni-ns
2023-07-05 18:42:59 +00:00
translators
48f25427bc
Update: Translations from eints
...
english (us): 15 changes by 2TallTyler
korean: 2 changes by telk5093
german: 41 changes by Wuzzy2
portuguese (brazilian): 2 changes by pasantoro
2023-07-04 18:43:15 +00:00
Koen Bussemaker
381fa36450
Change: Autorail / autoroad tools can start dragging from invalid tiles
2023-07-04 14:08:32 +02:00
merni-ns
a8a4737c5b
Fix #11096 : Increase priority of error and confirmation windows ( #11104 )
2023-07-03 23:24:44 +02:00
translators
bcaa60612e
Update: Translations from eints
...
portuguese: 3 changes by azulcosta
2023-07-03 18:40:35 +00:00
Rubidium
af9b9327af
Codechange: do not keep local variable for temporary string parameters
2023-07-03 18:08:03 +02:00
Rubidium
e04d43f396
Remove: now unused stredup
2023-07-03 18:08:03 +02:00
Rubidium
2ec4ea2b99
Codechange: use the string temporaries for game script strings
2023-07-03 18:08:03 +02:00
Rubidium
3e488465f8
Codechange: allow string temporaries in a StringParameter
2023-07-03 18:08:03 +02:00
Rubidium
78f5d58dc6
Codechange: use std::string without const as return
...
Otherwise some compilers, e.g. MSVC, do not pick up that these are temporaries
and as such it will pass the temporaries to `const std::string &` instead of
the wanted `std::string &&`
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
4654b2b0aa
Codechange: separate integer and string usage in StringParameters
2023-07-03 06:56:08 +02:00
Rubidium
8b7c34d7d4
Codechange: use string parameter backps for the text effects
2023-07-03 00:00:12 +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
6313b8a4cb
Codechange: move errors over to the new StringParameterBackup type
2023-07-02 22:31:01 +02:00
Rubidium
0943402bab
Codechange: move news over to the new StringParameterBackup type
2023-07-02 22:31:01 +02:00
Rubidium
f4a3032985
Codechange: move tooltip and query window over to the new StringParameterBackup type
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
translators
26f3efb419
Update: Translations from eints
...
english (au): 2 changes by krysclarke
italian: 14 changes by Rivarossi
russian: 2 changes by Ln-Wolf
finnish: 2 changes by hpiirai
tamil: 8 changes by merni-ns
2023-07-02 18:39:30 +00:00
PeterN
115f6cf8ea
Fix #4575 : Use Latin 'l' in English translation of zloty. ( #11090 )
...
This avoids many truetype fonts being unusable due to this single character not being available.
2023-07-01 20:12:28 +01:00
translators
10dd3119b1
Update: Translations from eints
...
welsh: 163 changes by Ansbaradigeidfran
2023-07-01 18:39:07 +00:00
merni-ns
161cc04b8a
Fix #11087 : Disable base graphics/sound dropdown outside main menu
2023-07-01 19:03:45 +02:00
merni-ns
4ae9ebf582
Change: Tooltip for base graphic/sound dropdown
2023-07-01 19:03:45 +02:00
Kuhnovic
6169e7f4bc
Feature: Orientation of rail and road depots can be changed ( #9642 )
2023-07-01 08:11:31 -04:00
PeterN
c3fbe7bea8
Cleanup: Use FS enum instead of magic numbers. ( #11088 )
2023-06-30 20:11:09 +00:00
translators
082c47a4f9
Update: Translations from eints
...
dutch: 1 change by Afoklala
2023-06-30 18:40:38 +00:00
Rubidium
d5c75bd655
Codechange: use std::string instead of a temporary buffer for iconv calls
2023-06-30 19:15:21 +02:00
Rubidium
0ea3e338ab
Codechange: replace buffer+strecpy with std::string
2023-06-29 17:32:27 +02:00
Rubidium
3f18a8863a
Codechange: use std::getline to read strings from stdin
2023-06-29 16:49:10 +02:00
Rubidium
f333372dd1
Codechange: let IConsoleCmdExec accept std::string
2023-06-29 06:06:15 +02:00
Rubidium
fd380127f0
Codechange: use SignalObjectAndWait since we do not support older than Windows XP anymore
2023-06-28 23:22:14 +02:00
Rubidium
69d5b9d326
Cleanup: unused NO_THREADS #ifdefs
2023-06-28 19:07:10 +02:00
translators
55979b612e
Update: Translations from eints
...
welsh: 28 changes by Ansbaradigeidfran
portuguese: 1 change by azulcosta
polish: 1 change by pAter-exe
2023-06-27 18:43:13 +00:00
Richard Wheeler
3b2934c479
Change: Make terraforming point selection sprite visible at >2x zoom out ( #11017 )
2023-06-27 10:47:42 -04:00
Johannes E. Krause
5b0cfc7ea5
Add: show fallback sprites with debuglevel sprite=4
2023-06-27 15:12:27 +02:00
Jonathan G Rennison
55c07eed59
Change: Add separate setting for server sent commands per frame limit ( #11023 )
...
Set a higher default value for this setting.
Use the higher of this and existing commands per frame limit
setting for server-originating commands, e.g. GS.
This is to support the GSAsyncMode class.
This also avoids undue throttling when more than one
script is in operation (e.g. AIs).
2023-06-27 12:32:45 +01:00
PeterN
8465559488
Codechange: Pass face index as font os_handle for FreeType fonts. ( #11073 )
...
This allows fallback font detection to test the specific face within the
font rather instead of only the first.
2023-06-27 12:30:46 +01:00
Rubidium
794b642b9a
Codechange: use std::string/std::vector over stredup/strecpy/CallocT/free
2023-06-27 12:35:31 +02:00
Rubidium
700241410b
Remove: support for not having getifaddrs
2023-06-27 12:35:07 +02:00
Rubidium
7ad487eeee
Cleanup: remove now unused GetInt32/64 functions
2023-06-27 12:34:40 +02:00
Rubidium
75a22a1c83
Codechange: move from GetIntXY to GetNextParameter<XYY>
2023-06-27 12:34:40 +02:00
Rubidium
e7937efb01
Codechange: add clearer named function to get the next (string) parameter
2023-06-27 12:34:40 +02:00
translators
ee34fae09a
Update: Translations from eints
...
korean: 3 changes by telk5093
danish: 3 changes by bscargo
2023-06-26 18:42:58 +00:00
Niels Martin Hansen
103d88ee33
Fix: Layouter not taking stripped formatting codes into account when mapping visual coordinates to/from original string
2023-06-26 17:31:17 +02:00
Niels Martin Hansen
b52e526017
Fix: FallbackParagraphLayouter wasn't reverse-mapping glyphs to character indexes right
2023-06-26 17:31:17 +02:00
translators
5db4473ae8
Update: Translations from eints
...
vietnamese: 1 change by KhoiCanDev
finnish: 3 changes by hpiirai
french: 5 changes by Naeso
2023-06-25 18:41:23 +00:00
PeterN
d140acf34e
Fix: Setting tree lines drawn incorrectly for RTL languages. ( #11070 )
2023-06-25 19:32:53 +01:00
Peter Nelson
fac317b139
Cleanup: Remove {ORANGE} from settings page strings.
2023-06-25 17:22:02 +01:00
Peter Nelson
40a9b080aa
Fix: Ensure settings page label is orange.
2023-06-25 17:22:02 +01:00
Loïc Guilloux
55e3dd9409
Cleanup 6298b96: Left-over function declaration ( #11072 )
2023-06-25 15:51:15 +00:00
Jonathan G Rennison
4f6d75f97d
Fix #11016 : Defer deletion of client and server game socket handlers
...
This fixes various use after free scenarios in error handling paths
2023-06-25 12:02:32 +01:00
Jonathan G Rennison
19ae88fb63
Fix: Error logging in game and admin server HandlePacket
...
Don't invent a packet type in the log message if we can't/don't
read a packet type at all.
Fix packet type not being logged when appropriate.
2023-06-25 12:02:32 +01:00
PeterN
43ddf19df3
Change: Allow text shadow on WWT_EMPTY/WWT_TEXT to extend horizontally. ( #11065 )
...
This alleviates text shadows of truetype fonts being cropped in some
window layouts.
2023-06-25 11:58:39 +01:00
PeterN
509471f7f8
Codechange: Use std::optional for GRFConfig::GRFError ( #11066 )
...
This changes the semantics from "object pointer ownership" to "optional object", and simplifies copies.
2023-06-25 11:57:58 +01:00
translators
71f241ffe1
Update: Translations from eints
...
english (au): 1 change by krysclarke
russian: 1 change by Ln-Wolf
turkish: 1 change by BeratSJ
french: 1 change by glx22
portuguese (brazilian): 4 changes by pasantoro
2023-06-24 18:40:40 +00:00
translators
78c9446aef
Update: Translations from eints
...
norwegian (bokmal): 1 change by buzzCraft
chinese (traditional): 1 change by wpi3
spanish (mexican): 1 change by absay
lithuanian: 1 change by devbotas
portuguese (brazilian): 3 changes by Greavez
2023-06-23 18:41:29 +00:00
Peter Nelson
6f36f1d912
Change: Remove currency code/symbol suffix from language files.
2023-06-23 16:47:32 +01:00
Peter Nelson
9dd9b8ec74
Fix #11054 : Prevent translation of currency codes.
...
Most languages stick with the 3-letter latin currency codes in the name
string, however some translations are... clever... and use the currency
symbol instead. Whilst this may look nice, it can cause issues with fonts
as some scripts have a specific limited set of fonts which do not include
these symbols.
Instead, hard code the currency code list and add it when drawing the
currency name.
2023-06-23 16:47:32 +01:00
PeterN
d42a78f3e8
Codechange: Make DropDownListStringItem preformat and remove other implementations. ( #11063 )
...
Having to choose between DropDownListStringItem, DropDownListCharStringItem, and DropDownListParamStringItem depending on whether to draw a StringID, a raw string, or a StringID with extra parameters was needlessly complex.
Instead, allow passing a StringID or raw string to DropDownListStringItem. This will preformat the StringID into a raw string, and can therefore accept parameters via the normal SetDParam mechanism.
This also means that strings no longer need to be formatted on every draw.
2023-06-23 08:30:13 +00:00
Rubidium
321f01602a
Codechange: reduce passing around parameters, but formatting strings earlier
2023-06-23 06:48:13 +02:00
Rubidium
f48baa7d00
Codechange: move sign invisibility check out of loop
2023-06-23 06:48:13 +02:00
translators
9016d4a5b5
Update: Translations from eints
...
arabic (egypt): 8 changes by AviationGamerX
turkish: 5 changes by densxd
danish: 3 changes by bscargo
2023-06-22 18:38:02 +00:00
translators
c316d9ecb7
Update: Translations from eints
...
english (au): 2 changes by krysclarke
vietnamese: 3 changes by KhoiCanDev
russian: 2 changes by Ln-Wolf
dutch: 5 changes by Afoklala
french: 2 changes by Lishouuu
portuguese: 2 changes by azulcosta
esperanto: 51 changes by legoscia
polish: 3 changes by pAter-exe
2023-06-21 18:37:58 +00:00
Rubidium
4e9a871718
Codechange: merge multiple string parameter arrays to single array of structs
2023-06-21 05:46:11 +02:00
Rubidium
fa8c50758b
Codechange: replace memcpy when copying DParams
2023-06-21 05:46:11 +02:00
Rubidium
2aa48bfcb3
Add: subspan function to span
2023-06-21 05:46:11 +02:00
Rubidium
7a785a4224
Codechange: simplify StringParameters now type cannot be nullptr
2023-06-20 22:25:25 +02:00
Rubidium
428333aeba
Codechange: let AllocatedStringParameters allocated types too
2023-06-20 22:25:25 +02:00
Finn Willard
f23249f8f1
Fix #10917 : Pay loan interest before generating statistics ( #11040 )
2023-06-20 22:02:09 +02:00
PeterN
b68d56d94d
Fix #11043 : Don't choose toolbar dropdown option if focus is lost. ( #11044 )
...
Since dropdown menus now get closed if they lose focus, 'instant close' dropdowns (i.e. the toolbar dropdowns) should no longer execute their action to avoid unintended actions.
2023-06-20 20:34:05 +01:00
Rubidium
9f3254b72a
Fix b1fb209: build failure due to removed parameter
2023-06-20 21:32:04 +02:00
translators
4d0369ea9c
Update: Translations from eints
...
finnish: 1 change by hpiirai
portuguese (brazilian): 1 change by pasantoro
2023-06-20 18:38:55 +00:00
glx22
6c7f977197
Codechange: Use {COLOUR} to simplify drawing of timetables
2023-06-20 19:05:10 +02:00
glx22
b1fb209bed
Add: {COLOUR} control code to allow colour changes at runtime
2023-06-20 19:05:10 +02:00
Rubidium
88138c55f8
Codechange: make offset protected and guard against invalid offsets
2023-06-20 17:37:49 +02:00
Rubidium
9c3c90effa
Codechange: rename ClearTypeInformation so it can be used for preparing for the next run
2023-06-20 17:37:49 +02:00
Rubidium
01abcdfcac
Codechange: make StringParameters#next_type only writable from outside the class
2023-06-20 17:37:49 +02:00
Rubidium
3e8f8c55c2
Codechange: make creating temporary StringParameters easier
2023-06-20 17:37:24 +02:00
translators
aaf6811a2c
Update: Translations from eints
...
english (au): 1 change by krysclarke
korean: 1 change by telk5093
russian: 1 change by Ln-Wolf
french: 1 change by Lishouuu
portuguese: 1 change by azulcosta
2023-06-20 13:37:22 +00:00
Rubidium
8caacb5a49
Codechange: use std::deque for console history
2023-06-20 15:25:29 +02:00
Rubidium
4fbc81003f
Codechange: make SQString::Create that supports std::string and use that
2023-06-20 15:25:17 +02:00
translators
ea54408e1d
Update: Translations from eints
...
french: 1 change by Lishouuu
2023-06-19 18:40:36 +00:00
merni-ns
b3669a8795
Fix #11026 : Use real engine name instead of default name for filtering ( #11033 )
2023-06-19 01:03:32 +02:00
Rubidium
714ff35e9d
Codechange: move to std::string over stredup + free
2023-06-18 22:55:15 +02:00
PeterN
2a2443dd01
Feature: Create group of vehicles from manage vehicle list button. ( #10890 )
2023-06-18 20:48:04 +01:00
Rubidium
70de70bdcd
Codechange: refactor code to remove need for stredup
2023-06-18 21:22:28 +02:00
Rubidium
74924c8186
Codechange: includes must be before 'safeguards.h'
2023-06-18 21:22:14 +02:00
Niels Martin Hansen
ed3f14686d
Fix: Layouter::GetCharAtPosition counting wrong
...
Bug introduced in commit 60399e
2023-06-18 21:07:40 +02:00
translators
31cc349a09
Update: Translations from eints
...
swedish: 51 changes by SkogisREAL
2023-06-18 18:43:02 +00:00
Rubidium
09f585b772
Codechange: use std::string over stredup+free for splitting font name
2023-06-18 18:32:20 +02:00
Loïc Guilloux
1d9bc23525
Fix #10868 : [Script] Handle errors when loading savegame data on stack ( #11029 )
2023-06-18 12:03:59 +02:00
Rubidium
381e8b69d2
Codechange: make size and offset size_t
2023-06-18 09:50:11 +02:00
Rubidium
4e6733cc6e
Codechange: use args.GetParam(offset) over *args.GetPointerToOffset(offset)
2023-06-18 07:10:10 +02:00
Rubidium
e404ba0631
Codechange: generify GetRemainingParameters to allow custom offsets
2023-06-18 07:09:59 +02:00
translators
9215e36300
Update: Translations from eints
...
vietnamese: 2 changes by KhoiCanDev
finnish: 2 changes by hpiirai
danish: 2 changes by bscargo
2023-06-17 18:40:32 +00:00
Jonathan G Rennison
a6b625eea3
Fix #10993 : Crash log when font caches not initialised ( #11024 )
...
See also: #10836
2023-06-17 17:56:27 +01: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
836541b41c
Codechange: use SetDParam and CopyOutDParam for tooltips
2023-06-17 10:01:19 +02:00
Rubidium
ac0c932ce7
Codechange: use SetDParam to set measurement tooltip parameters
2023-06-17 10:01:19 +02:00
Jonathan G Rennison
ee8b03e8da
Fix: Crash when failing to load a game into a dedicated server at startup ( #11021 )
...
Using the -g switch
2023-06-16 19:41:26 +01:00
PeterN
ed06c6bdcf
Codechange: Use vector when migrating old savegame orders. ( #11020 )
2023-06-16 19:40:24 +01:00
PeterN
fc2510e2ba
Codechange: Use std::vector for midifile's ByteBuffer. ( #11019 )
2023-06-16 17:04:46 +01:00
Owen Rudge
1a3d1bca59
Remove: OS/2 port
2023-06-16 14:29:14 +01:00
Rubidium
d4c2043294
Codechange: remove a number of unneeded c_str() calls
2023-06-15 22:14:45 +02:00
translators
aae8f40b9f
Update: Translations from eints
...
english (au): 2 changes by krysclarke
korean: 2 changes by telk5093
russian: 2 changes by Ln-Wolf
french: 2 changes by ottdfevr
portuguese: 2 changes by azulcosta
portuguese (brazilian): 2 changes by ericandradex
polish: 2 changes by pAter-exe
2023-06-15 18:41:48 +00:00
Loïc Guilloux
1cd49bf5e5
Fix ca1e34c: [Script] Wrong value printed for {RAW_STRING} ( #11011 )
2023-06-14 22:07:11 +00:00
Jonathan G Rennison
864d3c9c16
Fix: CMD_CHANGE_SETTING did not reject SF_NO_NETWORK_SYNC settings ( #11009 )
2023-06-14 19:44:10 +02:00
PeterN
f51f117b00
Change: Add window description flag to disallow interactive window closing. ( #11008 )
...
This replaces/simplifies testing for a closebox to allow closing a window with right-click, and testing for specific window classes when closing all windows by hotkey.
This allows right-click closing of dropdowns and the high-score window.
2023-06-14 17:24:14 +01:00
Rubidium
7c37dcb8e3
Fix: do not use {STRING} when {STRING1} or {STRING2} is needed
2023-06-14 09:44:06 +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
e332810231
Codechange: pass zero length arguments for {STRING}, instead of the remaining arguments
2023-06-13 23:53:13 +02:00
Rubidium
82851a9bef
Codechange: do not mess with global string params to get pointer to first element
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
1146904d45
Fix: when a string consumes more parameters than allowed, nullptr is attempted to be formatted
2023-06-13 20:58:45 +02:00
translators
f1ec2f274c
Update: Translations from eints
...
vietnamese: 6 changes by KhoiCanDev
korean: 4 changes by telk5093
german: 33 changes by SecretIdetity
romanian: 69 changes by kneekoo
russian: 2 changes by Ln-Wolf
finnish: 4 changes by hpiirai
turkish: 4 changes by BeratSJ
danish: 1 change by bscargo
dutch: 6 changes by Afoklala
french: 4 changes by ottdfevr
portuguese (brazilian): 6 changes by pasantoro
polish: 6 changes by pAter-exe
2023-06-13 18:40:34 +00:00
Andrii
f26de0d2f9
Fix #10982 : No help text for gamelog command ( #10984 )
2023-06-13 08:33:33 +00:00
PeterN
ebc451b071
Fix #10987 : Double-close of dropdown stopped land-info tool working as default. ( #11000 )
...
Clicking and releasing on the query toolbar icon is meant to select the land-info tool.
This did not work as during closing a window, OnFocusLost() is called, which then closes the window again. These two calls toggled the land-info tool one and off in the same action.
Resolve by not calling Window::Close in OnFocusLost() if the window is already closing.
2023-06-12 08:42:02 +01:00
Rubidium
613ad80581
Codechange: remove need for GetDParamX
2023-06-12 09:12:11 +02:00
Rubidium
82b434b589
Codechange: rename function to better describe what it is doing
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
d42ef3a0ef
Codechange: inject the query window caption into the widget
2023-06-11 17:03:31 +02:00
Patric Stout
6869f387ba
Fix 07add7a9: [Win32] use full monitor resolution for fullscreen ( #10985 )
...
On Windows in fullscreen you cannot reach the top with
the cursor for the halve of the height of your toolbar.
Additionally, on Win10 in fullscreen you can see the actual toolbar.
2023-06-11 12:00:02 +02:00
PeterN
2097719f26
Fix: Don't restore backed up vehicle name if it's no longer unique. ( #10979 )
2023-06-09 21:18:55 +00:00
Rubidium
6d597879d0
Codechange: let ReadLine return a string instead of passing a buffer
2023-06-09 19:58:29 +02:00
Rubidium
81f957b9f8
Codechange: use std::string to find the executable's working directory
2023-06-09 19:58:18 +02:00
merni-ns
1be668c2e4
Fix #10975 : Clear a non-head engine's name ( #10976 )
2023-06-09 16:09:36 +01:00
Rubidium
66a984afd7
Codechange: rename function to better describe its functionality
2023-06-09 06:41:52 +02:00
Rubidium
48dcb79145
Cleanup: remove seprintf and vsnprintf
2023-06-09 06:41:33 +02:00
Rubidium
13cdf5fffa
Codechange: use std::filesystem::path for the language file's path
2023-06-08 23:20:28 +02:00
Rubidium
97dd84d1e0
Codechange: move saveload string fixing code to saveload
2023-06-08 20:36:27 +02:00
Rubidium
3f35787458
Codechange: replace stredup + StrMakeValidInPlace with std::string + StrMakeValid
2023-06-08 19:32:15 +02:00
Rubidium
e762855201
Cleanup: remove str_strip_colours; StrMakeValid also removes the colours
...
Essentially str_strip_colours followed by StrMakeValid makes the calling of
str_strip_colours useless, as StrMakeValid would have removed them too.
2023-06-08 19:32:15 +02:00
mrmbernardi
35ef6c1723
Feature: [GS] Goal destination can be updated ( #10817 )
2023-06-08 18:00:31 +01:00
Rubidium
9408ab4799
Codechange: only one '\0' is required
2023-06-08 18:51:02 +02:00
Rubidium
2ae7367024
Codechange: replace StrMakeValidInPlace with StrValid
2023-06-08 18:29:44 +02:00
Rubidium
4ca23a19b6
Cleanup: char-pointer variant of strtolower
2023-06-08 18:09:11 +02:00
PeterN
b49bd86a46
Fix dec7ff6b0c: Dropdowns couldn't be closed by pressing the parent button. ( #10954 )
...
Since dropdowns self-close, the detection of re-clicking a dropdown
button no longer worked, as the dropdown is already closed.
Instead set (and then test) a flag on the parent widget to indicate that
the dropdown closed. This method avoids looping windows on every click.
2023-06-07 19:01:30 +01:00
Rubidium
b2a8d8aea4
Codechange: use std::string for Windows' ISO code mangling
2023-06-07 08:27:18 +02:00
Rubidium
a541b8217d
Codechange: use fmt::format to build Squirrel error message
2023-06-07 08:02:58 +02:00
Rubidium
5e9a1eb790
Codechange: use fmt::format to construct error message
2023-06-07 08:02:58 +02:00
Rubidium
4de9b8a988
Codechange: use fmt::format to create desync dump savegames
2023-06-07 08:02:58 +02:00
Rubidium
d5c0d3beb7
Codechange: unify the formatting of the game's caption
2023-06-07 08:02:46 +02:00
PeterN
9fa1984ef0
Codechange: IniGroup::GetItem() can now be const. ( #10966 )
2023-06-06 22:39:37 +00:00
PeterN
f249715db3
Fix #10964 : Missing FontConfig format for language. ( #10965 )
2023-06-06 22:38:11 +00:00
PeterN
eda3defcb5
Codechange: Pass language for font detection as std::string. ( #10964 )
2023-06-06 20:55:56 +00:00
PeterN
7a0b6b7ddf
Codechange: Remove Freetype bits on Win32/OSX. ( #10960 )
...
These platforms have their own specific font rendering.
2023-06-06 19:43:27 +01:00
translators
316a434933
Update: Translations from eints
...
english (au): 6 changes by krysclarke
russian: 4 changes by Ln-Wolf
danish: 5 changes by bscargo
portuguese: 7 changes by azulcosta
2023-06-06 18:40:40 +00:00
Rubidium
617cacd542
Fix #10961 , 52a7c69: incorrect order of parameters to gamelog revision constructor
2023-06-06 20:26:26 +02:00
Rubidium
a47de4b2ab
Cleanup: remove DRAW_STRING_BUFFER constant
2023-06-06 18:08:11 +02:00
Rubidium
96fef9f643
Codechange: allocate enough memory to layout the strings
2023-06-06 18:08:11 +02:00
Rubidium
1fa432ca92
Codechange: replace C-style string building with C++-style building
2023-06-06 18:08:11 +02:00
Rubidium
ca1e34c121
Codechange: use std::string to build ScriptText's encoded text
2023-06-06 18:07:54 +02:00
Rubidium
e32f0aa20b
Cleanup: minimum string length for town name generator is not needed anymore
2023-06-05 23:26:12 +02:00
Rubidium
edb21620ea
Cleanup: remove unneeded checks on remaining buffer size
2023-06-05 23:26:12 +02:00
Rubidium
affceea0ae
Codechange: switch StringBuilder to use std::string as backend
2023-06-05 23:26:12 +02:00
Rubidium
ce8933d63e
Add: std::back_insert_iterator<std::string> Utf8Encode function
2023-06-05 23:26:12 +02:00
Rubidium
55dfca1936
Codechange: replace seprintf with C++ style formatting
2023-06-05 23:25:59 +02:00
Rubidium
fbd71a9d72
Codechange: replace C-style string processing with C++-style for the listing callbacks
2023-06-05 23:25:49 +02:00
translators
433ec6b5bd
Update: Translations from eints
...
korean: 2 changes by telk5093
russian: 2 changes by Ln-Wolf
finnish: 2 changes by hpiirai
turkish: 2 changes by EndChapter
french: 2 changes by glx22
portuguese: 2 changes by azulcosta
2023-06-05 18:42:37 +00:00
PeterN
64d6ad50f9
Codechange: Split GetItem with GetOrCreateItem. ( #10952 )
...
`IniGroup::GetItem()` returns nullptr if the item does not exist, but does not if the create parameter is set to true. Resolve CodeQL warnings with `GetOrCreateItem()` which returns a reference to the item instead.
2023-06-05 18:29:52 +00:00
Patric Stout
3b1407d240
Feature: allow to do a hostile takeover of an AI company (in singleplayer) ( #10914 )
...
With the removal of the share-system, you could no longer make an
AI disappear in a single player game. At least, not without going
into the console.
2023-06-05 19:32:22 +02:00
PeterN
f814c86389
Codechange: Reorganise hotkey initialisation. ( #10951 )
...
Hotkeys are now initialized inline, and use std::vector instead of
separate static C-arrays and std::string instead of char *. The list end
marker is no longer required.
2023-06-05 18:12:30 +01:00
rubidium42
921f5afc4d
Codechange: Apply suggestions from code review
2023-06-05 17:07:39 +02:00
Rubidium
2dd2b698d2
Codechange: convert C-style GetTownName API to std::string returning API
2023-06-05 17:07:39 +02:00
Rubidium
14915526ad
Cleanup: remove stre-style GetString
2023-06-05 11:23:31 +02:00
Patric Stout
772729cc7d
Fix: when syncing width of GUI items, take padding into account ( #10915 )
2023-06-05 10:27:04 +02:00
Rubidium
15c75e6f45
Codechange: use std::array and std::string for high scores
2023-06-04 23:49:43 +02:00
Rubidium
c158089eff
Codechange: use C++ style methods to combine a Utf8Encoded character and a formatted string
2023-06-04 23:32:02 +02:00
PeterN
6ae6b65edb
Cleanup: Remove doubled statements. ( #10944 )
2023-06-04 21:54:44 +01:00
Rubidium
a4bf45729a
Change: move string validation (and assignment) to textbuf
2023-06-04 21:43:07 +02:00
Rubidium
4e39a58c59
Codechange: let town name generation use StringBuilder
2023-06-04 21:42:59 +02:00
translators
6a5ab4a9fb
Update: Translations from eints
...
french: 3 changes by glx22
2023-06-04 18:57:10 +00:00
Rubidium
820fe8c621
Codechange: use std::string and concatenation when combining multiple formatted strings
2023-06-04 20:47:41 +02:00
Patric Stout
07add7a96e
Fix: [Win32] position window in center of workspace of primary display ( #10942 )
2023-06-04 18:38:16 +00:00
PeterN
83a318edcf
Fix dec7ff6b0c: Dropdowns would close if their tooltip appeared. ( #10939 )
...
Solution is to not focus any tooltips, so that the dropdown doesn't lose focus. Tooltips don't accept any input so this does not change their behaviour.
2023-06-04 18:15:24 +00: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
6a519f5d89
Cleanup: strecat has no uses anymore
2023-06-04 19:45:42 +02:00
Bernard Teo
2c667b1773
Doc: Fix spelling error in ScriptTileList::RemoveRectangle ( #10937 )
2023-06-04 17:45:18 +00:00
Patric Stout
caa0474d30
Fix: crash with tooltip on low resolution screens ( #10933 )
2023-06-04 16:28:58 +00:00
Rubidium
36aaa9d683
Codechange: let GetStringWithArgs use StringBuilder
2023-06-04 18:00:23 +02:00
Jonathan G Rennison
ec7f9f63f6
Feature: Add coverage button to waypoint window
2023-06-04 16:54:48 +01:00
Jonathan G Rennison
d7bf6b2c07
Feature: Highlight waypoint tiles when adjacent or distant joining
2023-06-04 16:54:48 +01:00
Jonathan G Rennison
84b53213af
Codechange: Refactor viewport catchment overlay change handling
2023-06-04 16:54:48 +01:00
Patric Stout
0f3dd9c796
Fix: crash when window can't be placed on low resolution screens. ( #10932 )
...
Co-authored-by: Jonathan G Rennison <j.g.rennison@gmail.com>
2023-06-04 15:39:57 +00:00
Patric Stout
c43a23cea8
Fix: crash when not even a single row fits for dropdowns on low resolution screens ( #10934 )
2023-06-04 15:07:18 +00:00
PeterN
ee2d0745e9
Fix #10502 : Refit engine before attaching free wagons. ( #10926 )
...
Caused by incorrect order of operations when buying a train engine with refit and attaching free wagons.
2023-06-04 15:57:36 +01:00
Rubidium
87ccff16b5
Codechange: use std::string for the screenshot name/path
2023-06-04 16:53:10 +02:00
Patric Stout
0e56a73fb8
Fix: disable hardware acceleration when GPU driver crashed the game last attempt ( #10928 )
2023-06-04 14:40:17 +00:00
Rubidium
556b44713e
Codechange: use std::string for midi filenames
2023-06-04 15:57:05 +02:00
Rubidium
84037d4a57
Codechange: use std::string for parameters in the dbg_helpers
2023-06-04 15:56:53 +02:00
Rubidium
2dffa7d0c6
Codechange: let FormatString use StringBuilder
2023-06-04 15:06:52 +02:00
Rubidium
993f90b6a0
Codechange: let GenerateDefaultSaveName return std::string
2023-06-04 14:11:13 +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
Patric Stout
6b1c38e303
Fix 3effb893: mention GSAsyncMode in changelog ( #10924 )
2023-06-04 11:10:22 +00:00
Rubidium
c384d829fe
Codechange: let number formatting use StringBuilder
2023-06-04 12:24:37 +02:00
Rubidium
ed51cf117a
Add: helper output iterator for formatting strings
2023-06-04 12:24:37 +02:00
Jonathan G Rennison
3effb8931c
Add: [Script] GSAsyncMode to set async mode of gamescript commands ( #10913 )
...
In asynchronous mode, don't wait for result of executed command,
just fire-and-forget, and return estimated cost/result
2023-06-04 11:15:35 +02:00
Patric Stout
5821194ad1
Add: [Linux] change default scroll mode to non-mouse-lock ( #10920 )
...
Wayland doesn't support mouse warping, X11 only for native
systems (so not for remote desktop, WSLg, etc), and emscripten
neither without complications. All these cannot offer a
mouse-lock.
2023-06-04 00:10:21 +00:00
Patric Stout
0d840b4570
Codechange: remove queue_wrap / last_position from mouse movement
...
No backend uses it anymore, so also no longer any need to support
it.
2023-06-04 00:40:56 +02:00
Patric Stout
e83f244750
Codechange: simplify UpdateCursorPositionRelative
...
The function is only called with fix_at=true, so don't support
the other cases.
2023-06-04 00:40:56 +02:00
Patric Stout
a969a78f81
Fix: [SDL] unify the way X11 and Wayland handle mouse events
...
Basically, we drop RelativeMode completely, and use the same trick
as used by the Windows driver: read all motion events till the last
one, and use that as value.
2023-06-04 00:40:56 +02:00
PeterN
8a2d550904
Codechange: Use std::reverse instead of custom implementation. ( #10918 )
2023-06-03 23:25:01 +01:00
Jonathan G Rennison
a2c0e6aa18
Fix #10831 : Level crossing parts left barred after crossing tile removal ( #10874 )
2023-06-03 23:04:24 +02:00
Patric Stout
cd751a598a
Fix: Wayland crash on startup due to Pango also using FontConfig ( #10916 )
...
Basically, we haven't been a good neighbour. Turns out you shouldn't
actually call FcFini when you are done, as some library might still
want to use FontConfig. And they use a shared instance for their
administration.
The idea is that you call FcInit once, and use FcConfigReference
after that to get an instance, you can release. This entry is
ref-counted, and things happen automatically based on that.
At least, I think.
2023-06-03 19:09:02 +00:00
Patric Stout
21adfa7567
Fix: track "memory installed" for surveys less precisely ( #10910 )
...
It turns out, for Windows and Linux having the exact memory allows
for easy tracing of an individual. That is exactly against the idea
of the survey. And honestly, we don't need this precision.
2023-06-03 19:07:56 +00:00
translators
7d6aff3a34
Update: Translations from eints
...
french: 16 changes by ottdfevr
2023-06-03 18:42:31 +00:00
Rubidium
d68b5c9162
Codechange: replace buffer + strecpy with std::string for getting clipboard contents
2023-06-03 20:14:33 +02:00
Rubidium
35f7f7e8dc
Codechange: use std::string for executing the console aliases
2023-06-03 18:15:55 +02:00
Peter Nelson
2e62682f73
Codechange: Close dropdowns by class instead of id.
2023-06-03 14:17:05 +01:00
Peter Nelson
2511649938
Codechange: Use window parent association for dropdowns.
...
This replaces the separate window class and number properties, and
allows the window system to close dropdowns automatically.
2023-06-03 14:17:05 +01:00
Peter Nelson
dec7ff6b0c
Fix: Make dropdowns self-close when losing focus.
2023-06-03 14:17:05 +01:00
PeterN
a5a3a07005
Fix: GRF Parameters not displayed due to scope issue. ( #10911 )
...
Move params so it is still in scope when the text is actually drawn.
2023-06-03 11:07:59 +00:00
Rubidium
513ede7669
Codechange: use C++ strings/paths to resolve links in tars
2023-06-02 21:06:24 +02:00
Rubidium
0ab7bc7a2b
Codechange: use fmt::format to create type prefixed driver names
2023-06-02 18:05:41 +02:00
Rubidium
37a3fc4df3
Codechange: replace strstr with more appropriate function
2023-06-02 17:11:08 +02:00
Rubidium
53f83c31b0
Codechange: use std::string to return the debug level information
2023-06-02 17:07:18 +02:00
Rubidium
10e12154f5
Fix: false positive warning in fmt library (backport ef55d4f of upstream fmt)
2023-06-02 11:57:23 +02:00
Rubidium
802d6cb509
Fix: memory leak when parsing (strgen) commands by moving to C++ containers
2023-06-02 11:57:23 +02:00
Rubidium
4f94655cc2
Codechange: use vector/unorder_map over custom implementation
2023-06-02 11:57:23 +02:00
Rubidium
234a143ee5
Codechange: use std::string for LangString over C-style strings
2023-06-02 11:57:23 +02:00
Rubidium
f372373e6f
Codechange: use std::string/vector for language cases over manual management
2023-06-02 11:57:23 +02:00
Rubidium
6eb51666bc
Codechange: use C++ file APIs for writing language files
2023-06-02 11:57:23 +02:00
PeterN
0b663f709d
Codechange: Sprite mapping for objects doesn't involve cargo types. ( #10905 )
...
Objects have a default sprite group and an optional purchase list sprite
group. There is no need to pretend that these are cargo IDs.
2023-06-02 08:25:13 +00:00
Jonathan G Rennison
cdb3a6288b
Codechange: Remove unused CapacitiesMap typedef from struct Vehicle
2023-06-01 22:48:47 +02:00
Patric Stout
9eda419f9b
Fix 646a7e62: recalc_time was not scaled properly ( #10901 )
...
This caused "runtime" to underflow or, if you are lucky, hit an
assert in ScaleToMonthly when it hits zero. But mostly underflow.
2023-06-01 12:21:33 +00:00
translators
b5b004e518
Update: Translations from eints
...
ukrainian: 117 changes by alextov
2023-05-31 18:42:26 +00:00
Rubidium
f29606fd14
Codechange: use std::string to cache engine/group/vehicle names
2023-05-31 19:31:09 +02:00
Rubidium
d9f8a4c380
Codechange: use std::string GetString variant
2023-05-31 19:31:09 +02:00
Rubidium
324c43eeb2
Codechange: let FiosGetDiskFreeSpace only return disk space and split FiosGetCurrentPath off
2023-05-31 10:56:33 +02:00
Rubidium
f2e704b9a7
Codechange: use std::string for FiosIsRoot
2023-05-31 10:56:33 +02:00
Rubidium
13789d1703
Codechange: use std::string for FiosIsValidFile
2023-05-31 10:56:33 +02:00
PeterN
1ff0dc11d8
Fix: Land info window maximum width was not scaled. ( #10894 )
2023-05-31 08:54:39 +00:00
Patric Stout
0302e6f168
Codechange: initialize all values of ICURun on construction ( #10892 )
2023-05-30 19:17:30 +00:00
translators
c8b70e4877
Update: Translations from eints
...
ukrainian: 53 changes by alextov
portuguese (brazilian): 1 change by ericandradex
2023-05-30 18:40:56 +00:00
translators
e1203c3a48
Update: Translations from eints
...
esperanto: 51 changes by legoscia
2023-05-29 18:39:22 +00:00
PeterN
d086f288cd
Codechange: Remove duplicated includes. ( #10888 )
...
These are now included by stdafx.h so don't need to be included again.
2023-05-29 14:29:00 +01:00
PeterN
702194cfef
Change: Cargo flow legend only shows defined cargo. ( #10872 )
...
This removes the large mostly-empty grid of cargo buttons when not using a complex industry set.
2023-05-29 06:48:43 +01:00
translators
c9c6721a47
Update: Translations from eints
...
esperanto: 44 changes by legoscia
2023-05-28 18:42:42 +00:00
Peter Nelson
bae1897826
Change: Include font style in font name for Freetype.
2023-05-27 20:40:25 +01:00
Peter Nelson
9976293c1e
Codechange: Return fontcache font name as std::string.
2023-05-27 20:40:25 +01:00
translators
90fdf17e39
Update: Translations from eints
...
esperanto: 28 changes by legoscia
2023-05-27 18:40:39 +00:00
Loïc Guilloux
c880157518
Fix: Check max member count in squirrel classes ( #10883 )
...
Manual cherry-pick from 23a0620658
2023-05-27 16:09:21 +00:00
PeterN
8ea9c1a133
Fix #10880 : Crash in object window due to incorrect parameter order. ( #10881 )
2023-05-26 21:29:52 +00:00
PeterN
876871157f
Fix: Ask FontConfig for the face index when opening fonts. ( #10878 )
...
This allows selection of the correct face in truetype fonts containing
multiple faces.
2023-05-26 18:56:13 +00:00
PeterN
101e4e54a1
Fix d9a04ba446: Ensure MD5Hash is initialized. ( #10876 )
...
Not all instances need to be initialized as often they are copied or
written to, but doing all ensures no surprises.
Move the ^= operator to MD5Hash while we're at it.
2023-05-26 18:17:54 +00:00
Jonathan G Rennison
ba11467c02
Fix: Rail waypoint selection window not closed
...
When rail toolbar or rail waypoint build windows closed
2023-05-26 08:41:13 +02:00
PeterN
584faaf064
Change: Reorganise industry accept/produce arrays. ( #10853 )
...
Use a array of struct for each cargo instead of an array for each statistic.
This makes iterating for acceptance and production much simpler.
pct_transported is now calculated when needed.
2023-05-25 21:25:46 +01:00
Loïc Guilloux
db3b086a52
Fix #10867 , 8b93e45: Squirrel compile error exception type changed ( #10869 )
2023-05-25 12:46:27 +02:00
Rubidium
b133328737
Codechange: use std::string over strecat to create the RV capacity string
2023-05-25 05:43:00 +02:00
Rubidium
4fdde00e25
Codechange: use std::string to create the GRF parameter list
2023-05-25 05:43:00 +02:00
Rubidium
fbab94eabb
Codechange: use std::string to create error message about external files
2023-05-25 05:43:00 +02:00
Rubidium
30b9e02dd9
Codechange: replace crashlog filenames with std::string in Crashlog
2023-05-25 05:42:10 +02:00
Rubidium
19304bd3d5
Codechange: replace seprintf with fmt::format for filling the crash log data
2023-05-25 05:42:10 +02:00
Rubidium
f4b0ac2bd4
Codechange: use std::string for formatting settings
2023-05-24 22:42:01 +02:00
translators
1412ea48ed
Update: Translations from eints
...
esperanto: 268 changes by legoscia
2023-05-24 18:40:52 +00:00
Peter Nelson
09408e8e46
Codechange: Add IsCargoAccepted/Produced() helpers.
2023-05-24 17:34:11 +01:00
Peter Nelson
633f19419d
Codechange: Make more use of GetCargoAccepted/ProducedIndex().
2023-05-24 17:34:11 +01:00
Rubidium
29b20718ba
Codechange: use Tthis instead of StrongTypedef, so ==/= does not compare/assign different strong typedefs
2023-05-23 20:46:32 +02:00
translators
9f0e406a51
Update: Translations from eints
...
esperanto: 18 changes by legoscia
2023-05-23 18:41:14 +00:00
Peter Nelson
8931e90302
Cleanup: No need to cound actual cargo to get scroll count.
2023-05-23 19:07:36 +01:00
Peter Nelson
f177ce7c9a
Codechange: Base CargoArray off std::array.
...
This avoids needing to define array accessors and allows use of
default value initialization.
2023-05-23 19:07:36 +01:00
Peter Nelson
74e42e39a8
Codechange: Use CargoArray::GetCount()
2023-05-23 19:07:36 +01:00
Peter Nelson
76516d7f70
Codechange: Use IsValidCargoID/IsValidCargoType.
...
IsValidCargoType() is used only for unmapped IDs.
2023-05-22 20:43:40 +01:00
Peter Nelson
c4ca6a0f74
Codechange: Rename IsCargo..Valid to IsValidCargo..
...
This better fits our naming pattern for this type of function.
2023-05-22 20:43:40 +01:00
translators
e2827d0e9c
Update: Translations from eints
...
galician: 41 changes by pvillaverde
esperanto: 95 changes by legoscia
portuguese (brazilian): 18 changes by ericandradex
2023-05-22 18:40:22 +00:00
Rubidium
a19a43a4f7
Codechange: use fmt::format and time conversions over "custom" implementation
2023-05-22 15:36:09 +02:00
Rubidium
eb635b85bb
Fix: work around GCC compiler bug #105120 in fmt
...
The fmt code pushes a pragma option, and later pops is. The intrinsics code
interacts with it via the __OPTIMIZE__ macro. This has been set by the pragma
option push, but not unset/reset to the original with the pop.
Since the pragma is only used for the GCC compiler (not Clang, not MSVC, not
ICC) and in debug mode, just remove the whole pragma handling for it.
2023-05-22 14:42:18 +02:00
Rubidium
187fa3f214
Codechange: update to fmt 10.0.0 and add formatting support for chrono and std types
2023-05-22 14:42:18 +02:00
Rubidium
6f2f38b3ed
Codechange: fmt (and std::format) do explicitly not support enums out-of-the-box
...
That it works for the version we have packaged it pure coincidence, as that is
one of the few versions that due to a bug allow it. So add the appropriate
template specialisations to support it out-of-the-box within OpenTTD.
2023-05-22 14:42:18 +02:00
PeterN
bc45c3f66c
Change: Remember waypoint filter string. ( #10857 )
2023-05-22 08:03:20 +01:00
Rubidium
63d9bb93b8
Codechange: migrate from C-style GetString to C++-style GetString
2023-05-21 21:17:12 +02:00
Rubidium
1a179cb297
Codechange: use GetString + StrMakeValid to pass string without colours/font sizes to Debug
2023-05-21 21:17:12 +02:00
Rubidium
00695c29de
Codechange: simplify news string drawing by using StrMakeValid to replaces newlines with spaces
2023-05-21 21:17:12 +02:00
translators
9610705f46
Update: Translations from eints
...
esperanto: 52 changes by legoscia
2023-05-21 18:40:42 +00:00
axet
60540f7df6
Change: Allow dedicated server to use threaded saves. ( #10787 )
...
Co-authored-by: Jonathan G Rennison <j.g.rennison@gmail.com>
2023-05-21 19:55:12 +02:00
Rubidium
2efd88d513
Cleanup: version of strgen/settingsgen was always $Revision$, so remove it
2023-05-21 19:39:09 +02:00
Rubidium
2dbd974d4c
Codechange: prevent using (f)printf/(f)puts over fmt::print
2023-05-21 15:12:02 +02:00
Rubidium
411379f587
Codechange: replace puts with fmt::print
2023-05-21 15:12:02 +02:00
Rubidium
275ebf4509
Codechange: replace fprintf(<FILE*> with fmt::print(<FILE*>
2023-05-21 15:12:02 +02:00
Rubidium
c518293135
Codechange: replace printf with fmt::print
2023-05-21 15:12:02 +02:00
Tyler Trahan
d57046e7ec
Change: Use "Via-Destination-Source" as default station cargodist display ( #10851 )
2023-05-21 08:57:14 -04:00
Patric Stout
0850193a38
Fix: survey result on crash only worked on Linux ( #10855 )
...
Every OS-specific crashlog handler has their own MakeCrashLog
in some form. In result, only Linux was calling the generic one.
2023-05-21 12:57:32 +02:00
translators
98dffc3157
Update: Translations from eints
...
catalan: 12 changes by J0anJosep
esperanto: 678 changes by legoscia
2023-05-20 18:39:31 +00:00
Rubidium
3323402aaa
Codechange: rename smallvec_type to container_func and use only when needed
2023-05-20 16:53:10 +02:00
Rubidium
80d8c01814
Codechange: replace std::vector + duplicate preventing include with std::set
2023-05-20 16:53:10 +02:00
Rubidium
07860e67e2
Codechange: use fmt::format_to to format the help message
2023-05-20 16:50:03 +02:00
Loïc Guilloux
8d2a0a7da4
Fix #10846 : [Squirrel] Ensure sqvector size does not overflow ( #10848 )
2023-05-20 14:43:22 +00:00
PeterN
0cbbfd3eae
Codechange: Use display list instead of exclude list for file window. ( #10845 )
...
This simplifies retrieving the correct data for each row when data is
filtered. The background FileList is left intact so that savegame data
does not have to be rescanned when the filter is changed, and sorting
still remains the task of the background FileList.
2023-05-19 21:19:00 +00:00
translators
cdb184f53b
Update: Translations from eints
...
catalan: 14 changes by J0anJosep
dutch: 14 changes by Afoklala
2023-05-19 18:39:30 +00:00
Peter Nelson
6b87fe6540
Codechange: Use std::array for GRF(File|Config) parameters.
...
This simplifies comparison, copying and assignment operations.
2023-05-19 16:53:56 +01:00
Peter Nelson
c23aae96a2
Codechange: Use std::array instead of C array for automatic deep-copies.
2023-05-19 16:53:56 +01:00
Rubidium
acec34a0fe
Cleanup: remove MD5SumToString in lieu of FormatArrayAsHex
2023-05-19 11:24:44 +02:00
Rubidium
d9a04ba446
Codechange: make the MD5 hash/digest/checksum variables a std::array
2023-05-19 11:24:44 +02:00
Peter Nelson
7934418133
Codechange: Remove comment alignment from GRFConfig.
2023-05-18 20:48:37 +01:00
Peter Nelson
f14479d27d
Codechange: Use std::optional for GRF Parameter list.
2023-05-18 20:48:37 +01:00
Peter Nelson
c51a7f629e
Codechange: GRFParameterInfo no longer needs deep-copy constructor.
2023-05-18 20:48:37 +01:00
translators
fd26658558
Update: Translations from eints
...
russian: 2 changes by Ln-Wolf
2023-05-18 18:41:14 +00:00
Peter Nelson
91e140c722
Codechange: Use unique_ptr for fios company properties.
...
This is the data used to show company names in the saveload window.
2023-05-18 12:18:30 +01:00
Peter Nelson
bf8f24f9a8
Codechange: Use unique_ptr for text layout font mapping.
...
This must stay a pointer as the value passed to other structures.
2023-05-18 12:18:30 +01:00
Peter Nelson
c38df2d589
Codechange: Use std::map instead of custom SmallMap.
2023-05-18 12:18:30 +01:00
Peter Nelson
72018badff
Codechange: Swap SocketList map key/value around.
...
This map is used store socket and address together, and, other than
checking that the address does not already have a socket, the data layout
does not seem particularly important.
However, as address is the key, technically it should not be modified,
and address may self-modify itself during comparisons.
2023-05-18 12:18:30 +01:00
Peter Nelson
f454ec8d63
Fix: Don't rely on static initialization to set up sprite font caches.
...
The order of static initialization is undefined, so this can cause initalization
before relevant caches are initializations.
2023-05-18 12:18:30 +01:00
translators
418888ac23
Update: Translations from eints
...
romanian: 11 changes by bnegrut
turkish: 14 changes by densxd
2023-05-17 18:40:23 +00:00
Peter Nelson
83f2ad500e
Codechange: stdarg.h include not needed as cstdarg is included.
2023-05-17 10:14:41 +01:00
Peter Nelson
56085be9bd
Codechange: Move includes for common STL headers to stdafx.
2023-05-17 10:14:41 +01:00
translators
a5cf362886
Update: Translations from eints
...
english (au): 14 changes by krysclarke
english (us): 14 changes by 2TallTyler
vietnamese: 14 changes by KhoiCanDev
korean: 19 changes by telk5093
italian: 14 changes by Rivarossi
russian: 14 changes by Ln-Wolf
finnish: 14 changes by hpiirai
danish: 22 changes by bscargo
portuguese: 14 changes by azulcosta
polish: 14 changes by pAter-exe
2023-05-16 18:41:59 +00:00
Rubidium
e9c03f0dad
Cleanup: remnants of C-style strings in saveload
2023-05-16 18:32:52 +02:00
Rubidium
52a7c69974
Codechange: rework Gamelog changes from union to classes
2023-05-16 18:32:52 +02:00
translators
389b66bd16
Update: Translations from eints
2023-05-15 18:40:31 +00:00
PeterN
40f567d464
Fix #10811 : Crash getting row from non-resizable widget. ( #10833 )
...
GetScrolled*FromWidget took line height from the widget's resize_y value,
however not all widgets are resizable, resulting in a division-by-zero.
Allow passing line height explicitly in cases where a widget is not
resizable.
2023-05-15 18:57:50 +01:00
PeterN
e4fd9d41d3
Codechange: Use std::any_of() ( #10830 )
...
When the result of std::find_if is compared only with end()
then '!= end()' is replaced with any_of().
Just... there's only one.
2023-05-14 23:18:52 +01:00
Patric Stout
199e41c762
Codechange: use default dtor instead of empty ( #10826 )
2023-05-14 23:31:03 +02:00
Patric Stout
7634553d22
Feature: opt-in survey when exiting a game
...
On first start-up, the game will ask if you want to participate
in our automated survey. You have to opt-in, and can easily opt-out
(via the Options) at any time.
When opt-in, whenever you exit a game, a JSON blob will be send
to the survey server hosted by OpenTTD. This JSON blob contains
information that gives a global picture of the game just played:
- What settings were used
- How many humans vs AIs
- How long the game has been played
- Basic information about the OS / CPU
All this information is kept very generic, so there is no
chance we send private information to our survey server.
Nothing in the JSON blob could identify you as a person; it
mostly tells about the game played. At any time you can see
what the JSON blob includes, by pressing the "Preview Survey
Results" button in-game.
2023-05-14 23:22:02 +02:00
Rubidium
62fda0f505
Codechange: remove manual allocation/free for SQ_instance
2023-05-14 22:54:10 +02:00
Rubidium
f9b5bc7ee6
Cleanup: the need for SQAutoFreePointers has gone
2023-05-14 22:54:10 +02:00
Rubidium
d9e93edc8b
Codechange: replace 'const char *' script API parameters with std::string
2023-05-14 22:54:10 +02:00
Rubidium
b1b578f988
Cleanup: stredup-ing string variant for calling scripts
2023-05-14 22:54:10 +02:00
Rubidium
ab51175db2
Codechange: use std::string for script config
2023-05-14 22:54:10 +02:00
Rubidium
bbcb55ebc9
Codechange: use std::string as script API return type
2023-05-14 22:54:10 +02:00
Rubidium
b24a6bb8f3
Codechange: use std::string for script log calls
2023-05-14 22:54:10 +02:00
Rubidium
77177f7e8b
Add: support for std::string parameters in the script API
2023-05-14 22:54:10 +02:00
Rubidium
98972a0748
Codechange: use C++ strings for constructing script file paths
2023-05-14 22:54:10 +02:00
Rubidium
20ff0bccd7
Codechange: use std::string to store script GUI's break string
2023-05-14 22:54:10 +02:00
Rubidium
48825e1a8e
Codechange: rewrite script string-to-settings conversion to C++
2023-05-14 22:54:10 +02:00
Rubidium
552d2f71a2
Codechange: use std::string for script library category
2023-05-14 22:54:10 +02:00
Rubidium
e035705239
Codechange: introduce and use std::string variant of sq_throwerror
2023-05-14 22:54:10 +02:00
Rubidium
3453c03a17
Codechange: use fmt::format to create dummy scripts
2023-05-14 22:54:10 +02:00
Rubidium
9f2fc860ad
Codechange: use std::optional<std::string> for changing the script over char *
2023-05-14 22:54:10 +02:00
Rubidium
0fd9eb0faa
Codechange: use std::string for script info/library finding
2023-05-14 22:54:10 +02:00
Rubidium
a30f7c83bd
Codechange: use std::string for script names to load
2023-05-14 22:54:10 +02:00
Rubidium
9b0123ab66
Codechange: use std::string for script API versions
2023-05-14 22:54:10 +02:00
Rubidium
3d8d99ba11
Add: method to call script functions with std::string
2023-05-14 22:54:10 +02:00
Rubidium
4a6fdc8293
Fix: multiplication result converted to larger type
...
Technically unlikely to happen, though uint16 * uint16 get promoted to int and
then stored as uint64; similarly uint * uint16 remains uint and gets stored as
uint64. In both cases the value can get truncated before the change to uint64.
2023-05-14 22:09:58 +02:00
PeterN
4894da67da
Codechange: Pass bridge type instead of display row to BuildBridge. ( #10828 )
2023-05-14 19:12:26 +00:00
translators
a8daf91eea
Update: Translations from eints
...
vietnamese: 4 changes by KhoiCanDev
hungarian: 74 changes by PstasDev
turkish: 4 changes by densxd
2023-05-14 18:40:47 +00:00
Patric Stout
8493719cf4
Fix: padding miscalculated for the network-relay and bootstrap-question GUI ( #10827 )
2023-05-14 15:32:45 +00:00
PeterN
9eb0cca93a
Fix #10823 , Fix #10811 : Order list has end marker row. ( #10825 )
2023-05-14 13:04:59 +01:00
PeterN
64930c343a
Codechange: Pass reference instead of pointer to GUI*Lists. ( #10822 )
...
Pointer-avoidance.
2023-05-14 09:17:44 +01:00
PeterN
23ce42ad91
Codechange: Use std::move for bridge list. ( #10821 )
...
This follows the pattern for dropdown lists, and avoids new/delete and pointers.
2023-05-14 08:22:09 +01:00
PeterN
385b25df63
Fix #10819 , Fix #10811 : GetVehicleFromDepotWndPt used widget- instead of window-relative positions. ( #10820 )
...
Pass window-relative positions instead, and adjust for relative positions where needed within the function itself. This simplifies calling code.
2023-05-13 22:18:36 +00:00
PeterN
07473bfd2e
Fix: Don't use a loop to test if classid is valid. ( #10818 )
...
Additionally the Object class test was broken.
2023-05-13 21:27:32 +00:00
Patric Stout
1fe7bbba8a
Codechange: rework NewGRFProfiler to use ticks instead of calendar-days ( #10815 )
...
We are planning to allow things like freezing the calendar, which
makes this variable a bit problemetic. So instead, suggest to the
user how many ticks there are in a calendar day, and let them figure
out how many ticks they want.
Additionally, use a TimeoutTimer for this, instead of an end-date
variable which is checked in an IntervalTimer.
2023-05-13 23:17:11 +02:00
Rubidium
a372c59483
Codechange: replace C-style (stredup) chat completion with std::string_view
2023-05-13 22:33:27 +02:00
translators
e1b653137f
Update: Translations from eints
...
finnish: 4 changes by hpiirai
2023-05-13 18:41:08 +00:00
Peter Nelson
a92755de81
Codechange: Use iterator erase pattern.
2023-05-13 19:18:01 +01:00
Peter Nelson
4a64064c57
Codechange: Make NEW_STATION an actual item in join station list.
...
Add NEW_STATION to the nearby station list to indicate that a new
station should be built. This removes special-casing for a non-existant
list item and keeps the list count and scrollbar count the same.
2023-05-13 19:18:01 +01:00
Patric Stout
d54660184a
Fix: NewGRF Profile didn't stop if there were no events yet ( #10816 )
...
This meant you could have the following situation:
- You start a profile on a GRF with no events, for N days.
- The days pass, the profile should stop. It doesn't.
- The profile will never stop, even if the GRF start generating events.
- There is no real way to discover this, so .. byebye memory? :)
2023-05-13 18:23:23 +02:00
Peter Nelson
531d1ae8bc
Codechange: Use GetScrolled(Row/Item)FromWidget in more places.
...
In many instances the clicked row position is 'manually' calculated
instead of using the GetScrolledRowFromWidget helper function, with
variations on checks. Replace with the two helpers where possible.
2023-05-12 21:45:32 +01:00
Peter Nelson
941dbadf9e
Codechange: Add and use GetScrolledItemFromWidget to get a list item.
...
This function returns an iterator, either to the selected item or the
container's end.
This makes handling the result more robust as indices are not used.
2023-05-12 21:45:32 +01:00
Rubidium
86e5dfce3d
Codechange: use std::string instead of strecat to build hotkey strings
2023-05-12 22:02:59 +02:00
Michael Lutz
72c7536325
Codechange: Use a dedicated variable for disaster vehicle action state. ( #10798 )
2023-05-12 21:41:36 +02:00
Peter Nelson
1a93618bd1
Fix: Road type is not available before its introduction date.
2023-05-12 21:03:13 +02:00
Peter Nelson
726d05b22b
Fix: Don't list unavailable road types for game scripts.
2023-05-12 21:03:13 +02:00
Peter Nelson
5059e23ed5
Revert 8fa61533: "Fix 30ae072: when a road type is hidden, towns may not build them even when that flag is set"
...
This reverts commit 8fa61533f0
.
2023-05-12 21:03:13 +02:00
Henry Wilson
3a03a12a9c
Feature: Show the number of industries already built in the Fund New Industry window.
2023-05-12 20:48:11 +02:00
translators
a934a584a5
Update: Translations from eints
...
italian: 4 changes by Rivarossi
catalan: 4 changes by J0anJosep
dutch: 9 changes by Afoklala
2023-05-12 18:39:51 +00:00
PeterN
da7f431812
Cleanup: widget pos_x/y are already int. ( #10809 )
...
Remove old casts left over from when pos_x/y were unsigned.
2023-05-12 18:02:51 +01:00
PeterN
7e3646cf46
Codechange: Remove redundant char buffer. ( #10808 )
2023-05-11 21:36:11 +00:00
translators
ca31976da0
Update: Translations from eints
...
english (au): 4 changes by krysclarke
english (us): 4 changes by 2TallTyler
russian: 4 changes by Ln-Wolf
portuguese: 4 changes by azulcosta
polish: 8 changes by pAter-exe
2023-05-11 18:42:00 +00:00
PeterN
61516627ad
Add: NewGRF string code "9A 21" to display force from textstack. ( #10782 )
2023-05-11 08:06:46 +01:00
Peter Nelson
59811ec780
Codechange: Use find_if when finding things.
2023-05-11 07:58:55 +01:00
Peter Nelson
e6740046ee
Codechange: Use range-for iteration.
2023-05-11 07:58:55 +01:00
Peter Nelson
cef3a2570d
Codechange: Use standard iterator-erase-loop pattern.
2023-05-11 07:58:55 +01:00
Peter Nelson
a8c0d16371
Cleanup: Use std::advance instead of for-loop.
2023-05-11 07:58:55 +01:00
Peter Nelson
68782f951b
Cleanup: Vector supports random access.
2023-05-11 07:58:55 +01:00
Rubidium
6d1586dd49
Codechange: use std::string instead of char* for original editor strings
2023-05-10 23:15:09 +02:00
translators
7e1123c731
Update: Translations from eints
...
portuguese (brazilian): 30 changes by ericandradex
2023-05-10 18:43:36 +00:00
Patric Stout
922d7aa773
Update: help out translators and do the COMMA -> DECIMAL for them ( #10802 )
2023-05-10 16:09:58 +02:00
Michael Lutz
7e906c7c59
Change: Preserve orders and related settings where possible when moving engines around in a train.
2023-05-10 00:35:02 +02:00
Michael Lutz
07449be876
Codechange: A vehicle that is not a front engine can't be removed from a vehicle group, so just remove a pointless function call.
2023-05-10 00:35:02 +02:00
Rubidium
1ae7eb1594
Codechange: use std::map over SmallMap and std::string of stredup(char*)
2023-05-09 23:14:48 +02:00
Rubidium
12085d088c
Cleanup: remove obsolete string_compare_type
2023-05-09 23:14:48 +02:00
Rubidium
bc389a86c9
Codechange: use std::string as std::map key, instead of stredup string
2023-05-09 23:14:48 +02:00
Rubidium
72082aa7d3
Codechange: use std::string for getting a script's name
2023-05-09 23:14:48 +02:00
Rubidium
f1fb6c95fe
Add: case insensitive string comparator
2023-05-09 23:14:48 +02:00
Rubidium
6e3d3c0e7c
Codechange: introduce std::string variant of sq_pushstring
2023-05-09 23:14:48 +02:00
Peter Nelson
f5158c8b79
Feature: Add search filter and name text to build waypoint window.
2023-05-09 23:03:14 +02:00
Peter Nelson
dc50ff807c
Change: Remove incorrect minimal size.
2023-05-09 23:03:14 +02:00
Peter Nelson
b54d7f15ac
Change: Reduce size of waypoint matrix to 3 x 2.
2023-05-09 23:03:14 +02:00
Peter Nelson
0513a6ccb0
Change: Use separate names for default stations/roadstops.
2023-05-09 23:03:14 +02:00
Peter Nelson
93d49fa8b3
Fix: Make scrollwheel work on panel behind waypoint matrix.
2023-05-09 23:03:14 +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
translators
90529ea48b
Update: Translations from eints
...
catalan: 30 changes by J0anJosep
french: 25 changes by glx22
polish: 5 changes by pAter-exe
2023-05-09 18:44:36 +00:00
PeterN
6998fbf71d
Fix: WWT_TEXT with SetTextStyle did not work. ( #10797 )
...
FontSize was passed to incorrect parameter of DrawString function.
2023-05-09 17:23:37 +00:00
Peter Nelson
d68c4bbd2f
Change: Use iterator when drawing industry cargo window.
2023-05-09 17:39:12 +01:00
Peter Nelson
cccf4953f7
Fix: Incorrect padding on industry cargo window.
2023-05-09 17:39:12 +01:00
PeterN
882f06bf14
Fix: Support more than 256 stations/waypoints/roadstops per class. ( #10793 )
...
It was already possible to define more than 256 per class, but not possible
to use them as the index used in GUI and passed through commands was limited
to a byte.
2023-05-08 18:09:33 +00:00
Patric Stout
a05ae2497f
Codechange: simplify how GetCharPosition() works
2023-05-08 19:21:42 +02:00
Patric Stout
60399e17bd
Codechange: C++-ify the Layouter and related functions
...
They all now access a std::string_view, instead of a "const char *"
or std::string (in some cases).
Additionally, GetCharAtPosition and friends now return an index
instead of a "const char *", as it makes for a more clear interface.
2023-05-08 19:21:42 +02:00
Tyler Trahan
61d1b330d1
Change: Add padding to build vehicle text filter ( #10792 )
2023-05-08 17:21:29 +00:00
Patric Stout
aed36a609c
Fix: [ICU] crash when trying to break a non-breaking run ( #10791 )
...
Clusters from harfbuzz are indexed from the start of the buffer,
not from the start of the run analyzed. This confuses other parts
of the code that do assume they are from the start of the run.
2023-05-08 16:09:47 +00:00
PeterN
bc6a4b1d08
Fix: Set up default station/waypoint classes properly. ( #10789 )
2023-05-08 16:42:01 +01:00
J0anJosep
c4e6d80ecf
Cleanup: Remove unnecessary hangar check.
2023-05-08 17:30:21 +02:00
Rubidium
68ff3fd062
Change: include fmt.h C++ headers in stdafx.h
...
This to prevent compilation issues between runs with and without precompiled
headers. Also remove the headers from the rest of the code base as they are
not needed there anymore, although they do relatively little harm.
2023-05-08 16:49:23 +02:00
Peter Nelson
878c5d8d85
Codechange: Use SetPosition() to clamp after changing count/capacity.
2023-05-07 20:25:44 +01:00
Peter Nelson
6202eae9d5
Codechange: Rely on Scrollbar::SetPosition to clamp.
...
Manually clamping scrollbar bounds before calling `SetPosition()` is doubling up work that the function already does.
2023-05-07 20:25:44 +01:00
Peter Nelson
d2034d9c38
Codechange: Scrollbar methods now accept size_t.
...
This clears up a lot of casts from size_t to int.
2023-05-07 20:25:44 +01:00
translators
923d1b0846
Update: Translations from eints
...
vietnamese: 5 changes by KhoiCanDev
2023-05-07 18:39:28 +00:00
kiwitreekor
3375f25b70
Fix: Var68 for station and roadstop was broken ( #10784 )
2023-05-07 19:04:34 +01:00
Tyler Trahan
98d809c33b
Codechange: Don't use macros for DAYS_TILL and friends ( #10746 )
2023-05-07 05:25:24 -04:00
PeterN
8bf62dac81
Codechange: Clean up build industry window. ( #10779 )
...
* Remove left-over code that treated an invalid list selection as 'fund
many', which is actually implemented as a separate button.
* Manual list management replaced with std::vector.
* Enabled state is only needed for the current selection.
* Selected index is not required only selected type.
2023-05-07 08:19:09 +01:00
PeterN
a836edd5a7
Codechange: Scrollbar::UpdatePosition() will tell if the position changed. ( #10777 )
...
So we don't need to check this manually.
2023-05-06 19:45:32 +00:00
Rubidium
fb856e16c1
Codechange: replace some min/clamp constructs to ClampTo
2023-05-06 21:26:13 +02:00
Rubidium
19ec4e8beb
Codechange: replace ClampToI32/U16 with ClampTo<int32_t/uint16_t>
2023-05-06 21:26:13 +02:00
Rubidium
969a3dc0f3
Codechange: introduce generic ClampTo function to clamp to the range of a type
2023-05-06 21:26:13 +02:00
Rubidium
e33b2afd87
Codechange: pass (uint) money as Money for CmdGiveMoney
2023-05-06 21:26:13 +02:00
Rubidium
4a5a9f57c4
Fix: conversion to smaller type warnings
2023-05-06 21:26:13 +02:00
translators
97b77f0251
Update: Translations from eints
...
english (au): 5 changes by krysclarke
english (us): 5 changes by 2TallTyler
korean: 5 changes by telk5093
italian: 5 changes by Rivarossi
russian: 5 changes by Ln-Wolf
finnish: 5 changes by hpiirai
turkish: 5 changes by densxd
portuguese: 5 changes by azulcosta
2023-05-06 18:39:19 +00:00
Michael Lutz
b14c5aff1f
Fix: [Win32] Text line breaking did not properly handle punctuation characters. ( #10775 )
2023-05-06 16:15:40 +00:00
Tyler Trahan
0fc21b5686
Fix: Engine age is in months, not days ( #10773 )
2023-05-06 11:54:38 -04:00
Loïc Guilloux
31d1a323ef
Fix #10771 , 3901ef9: GRFConfig.filename is now a std::string ( #10774 )
2023-05-06 14:58:47 +00:00
PeterN
b67cf7f94a
Change: Replace ScriptLog data array with std::deque. ( #10770 )
...
Due to cyclic header dependency this requires moving the data types used
by ScriptLog out of the ScriptLog class.
2023-05-06 14:54:58 +00:00
translators
5dd54e2708
Update: Translations from eints
...
japanese: 10 changes by fmang
vietnamese: 14 changes by KhoiCanDev
dutch: 14 changes by Afoklala
polish: 1 change by pAter-exe
2023-05-05 18:42:16 +00:00
PeterN
bda754ec83
Fix: Make all settingsgen 'warnings' fatal. ( #10766 )
...
Compilation should stop If settingsgen fails to complete properly.
2023-05-05 09:22:03 +01:00
Patric Stout
a7d3c79d79
Fix c6c3d0e6: restore string-based settings in network-private settings ( #10765 )
...
By accident the SDTC_SSTR got replaced with SDTC_VAR, which breaks
many of the settings in this file.
2023-05-05 07:08:57 +00:00
Rubidium
877349c13d
Codechange: use std::string for text file name resolution
2023-05-05 08:54:29 +02:00
Peter Nelson
0b72297d57
Feature: Increase number of stations/roadstops per NewGRF.
2023-05-05 07:08:40 +01:00
Peter Nelson
bc7dfd7b46
Add: Station property 1C/1D to set name/classname.
...
These are an alternative to the original "generic" C4xx/C5xx method,
which can only assign strings to IDs up to 256.
2023-05-05 07:08:40 +01:00
Peter Nelson
d6f35a9fd6
Change: Add placeholders for unimplemented NewGRF station properties.
2023-05-05 07:08:40 +01:00
Peter Nelson
7a86615007
Feature: Remove limit of objects per NewGRF.
2023-05-05 07:08:40 +01:00
Peter Nelson
912eb68981
Change: Extend entity override manager and station spec lists to support 16 bit IDs.
2023-05-05 07:08:40 +01:00
Peter Nelson
e5c9a3e527
Change: Read Action 3 IDs as extended-bytes for all features.
...
This can be done because previous the value 0xFF (which indicates an
extended byte) was reserved for this purpose. Other features which may
not have mentioned reserving 0xFF do not allow this many IDs anyway.
This makes Action 3 consistent across all features. The allowable limits
for each feature do not change.
2023-05-05 07:08:40 +01:00
Peter Nelson
10baecd81f
Change: Make Action 3 debug messages more consistent.
2023-05-05 07:08:40 +01:00
glx22
045a99dd23
Codechange: Remove STR_TINY_RIGHT_ARROW
2023-05-05 07:07:54 +01:00
glx22
222e37d319
Codechange: Remove TINY_BLACK_STATION
2023-05-05 07:07:54 +01:00
glx22
b2a36ff3cc
Codechange: Remove STR_TINY_GROUP and STR_TINY_BLACK_VEHICLE
2023-05-05 07:07:54 +01:00
glx22
999057a4d8
Codechange: Remove STR_SHORT_DATE
2023-05-05 07:07:54 +01:00
glx22
49eb638563
Codechange: Remove STR_ORANGE_STRING1_WHITE and STR_ORANGE_STRING1_LTBLUE.
2023-05-05 07:07:54 +01:00
Peter Nelson
61407840c6
Codechange: Remove STR_BLACK_RAW_STRING.
2023-05-05 07:07:54 +01:00
Peter Nelson
0880616851
Codechange: Remove various STRING strings.
2023-05-05 07:07:54 +01:00
Peter Nelson
4767641c8c
Codechange: Remove various INT strings.
2023-05-05 07:07:54 +01:00
Peter Nelson
d5fb9e7dc6
Codechange: Remove various DATE_LONG strings.
2023-05-05 07:07:54 +01:00
Peter Nelson
a2d7642195
Codechange: Remove STR_COMPANY_MONEY.
2023-05-05 07:07:54 +01:00
Peter Nelson
f1d0a26324
Codechange: Remove STR_TINY_BLACK_DECIMAL.
2023-05-05 07:07:54 +01:00
Peter Nelson
e18f688db5
Codechange: Remove various COMMA strings.
2023-05-05 07:07:54 +01:00
Peter Nelson
5e185d5328
Codechange: Draw tooltip text in black.
2023-05-05 07:07:54 +01:00
Rubidium
3901ef9760
Codechange: use std::string for the GRF filenames
2023-05-04 23:23:32 +02:00
Rubidium
f78aa1e720
Codechange: use std::unique_ptr to manager GRFErrors in GRFConfig
2023-05-04 23:23:32 +02:00
Rubidium
a312a6c1b2
Codechange: make md5sumToString std::string compatible
2023-05-04 23:23:32 +02:00
Rubidium
51c6b8c1e4
Codechange: use fmt::format_to for gamelog message creation over seprintf
2023-05-04 23:23:32 +02:00
Patric Stout
c6c3d0e6fa
Fix: no_http_content_downloads and use_relay_service as private settings ( #10762 )
...
Basically, we don't need to know those values when people send in
crash reports.
2023-05-04 22:46:02 +02:00
Jonathan G Rennison
8d501f2db1
Fix #10741 : Rail platforms left partially reserved after train crash ( #10751 )
2023-05-04 21:45:13 +01:00
Peter Nelson
7ccdefa1c1
Change: Increase vehicle random data from 8 to 16 bits.
2023-05-04 21:42:28 +01:00
Peter Nelson
4a5e413a6c
Cleanup: Remove unnecessary VehicleRandomBits()
...
Simple Random() assignment to byte does the same.
2023-05-04 21:42:28 +01:00
translators
ca497ce356
Update: Translations from eints
...
japanese: 29 changes by fmang
danish: 25 changes by bscargo
polish: 29 changes by pAter-exe
2023-05-04 18:41:18 +00:00
Tyler Trahan
6501f84b4a
Codechange: Move calendar date functions inside TimerGameCalendar ( #10753 )
2023-05-04 13:14:12 +00:00
translators
7669aac865
Update: Translations from eints
...
english (us): 14 changes by 2TallTyler
2023-05-03 18:40:51 +00:00
Patric Stout
018a26d9b6
Fix: crash in emscripten when saving games ( #10758 )
...
Don't allocate 128KB on stack, but rather on the heap.
2023-05-02 21:22:09 +00:00
Peter Nelson
39eff18754
Codechange: Use std::vector for gamelog GRFConfig comparisons.
2023-05-02 19:47:55 +01:00
Peter Nelson
00bf42353a
Codechange: Place gamelog into its own class, along with internal data.
...
Data is now stored in vectors to avoid manual memory management and
passing lengths around.
2023-05-02 19:47:55 +01:00
translators
47a8d12f0e
Update: Translations from eints
...
english (au): 14 changes by krysclarke
korean: 14 changes by telk5093
italian: 14 changes by Rivarossi
russian: 15 changes by Ln-Wolf
finnish: 14 changes by hpiirai
turkish: 14 changes by densxd
portuguese: 16 changes by azulcosta
2023-05-02 18:39:14 +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
Patric Stout
9cb60768fe
Codechange: split implementations of ParagraphLayouterFactory into their own file
2023-05-01 22:17:56 +02:00
translators
4cceaae8dc
Update: Translations from eints
2023-05-01 18:39:20 +00:00
Tyler Trahan
aa8830f57a
Feature: Filter engine build menu by name and NewGRF extra text ( #10519 )
2023-05-01 17:02:16 +00:00
Michael Lutz
908be59699
Fix: [Win32] Wrong multi-line text layout due to incorrect whitespace handling.
2023-05-01 16:31:59 +02:00
Michael Lutz
715234502c
Fix: Typo in variable name.
2023-05-01 16:31:59 +02:00
Rubidium
1f3b7e2efd
Codechange: use std::string instead of stredup for saveload error messages
2023-05-01 16:23:24 +02:00
Rubidium
8665404fe0
Codechange: use std::string instead of stredup for missing glyph error messages
2023-05-01 16:23:24 +02:00
Rubidium
a931378c52
Codechange: use std::string instead of stredup/free for ScanProgressWindow
2023-05-01 16:23:24 +02:00
Rubidium
aac95eeaf5
Codechange: use std::string instead of stredup/free for stories
2023-05-01 16:23:24 +02:00
Rubidium
3342967ad9
Codechange: use std::string instead of stredup/free for goals
2023-05-01 16:23:24 +02:00
PeterN
cc44aa7438
Change: Split Game options into General, Graphics and Sound tabs. ( #10674 )
2023-05-01 12:58:22 +01:00
PeterN
003bab3c8a
Change: Size space for editbox clear button by interface scale. ( #10749 )
2023-04-30 23:11:00 +01:00
translators
cf3cb8d2a5
Update: Translations from eints
...
english (au): 4 changes by krysclarke
vietnamese: 4 changes by KhoiCanDev
korean: 4 changes by telk5093
russian: 1 change by Ln-Wolf
2023-04-30 18:40:41 +00:00
Peter Nelson
a816dd1d48
Change: Remove {TINY_FONT} from cargo abbreviation strings for other translations.
2023-04-30 11:47:53 +01:00
Peter Nelson
310b3a67ad
Change: Remove {TINY_FONT} from cargo abbreviation strings for English.
2023-04-30 11:47:53 +01:00
Peter Nelson
0acc57583b
Fix: Force cargo abbreviation to small font in station list.
2023-04-30 11:47:53 +01:00
Peter Nelson
6be6703498
Fix: Linkgraph legend assumes strings are small.
...
Ensure all linkgraph legend strings are drawn with FS_SMALL forced, so
that it does not rely on NewGRF authors.
2023-04-30 11:47:53 +01:00
Peter Nelson
35ba49bfb4
Change: Rename text colour NWidgetPart to SetTextStyle and add font size.
...
This allows to set both text colour and size for any widget with default
drawing.
2023-04-30 11:47:53 +01:00
Tyler Trahan
ba3de0383a
Codechange: Pass more std::string to StringFilter::AddLine() ( #10743 )
2023-04-30 10:23:05 +02:00
Rubidium
ee9239d293
Fix c8299304: retain support ICU < 65
2023-04-30 00:42:15 +02:00
translators
de08e29cd9
Update: Translations from eints
...
english (us): 4 changes by 2TallTyler
2023-04-29 18:42:05 +00:00
Rubidium
ee8b1dfbc3
Fix 4dd5f994: hotkey parsing was broken
2023-04-29 14:56:41 +02:00
Rubidium
397221b94a
Codechange: Make ScenarioIdentifier use std::string for the filename
2023-04-29 13:23:34 +02:00
Rubidium
3a822fcd01
Codechange: Make FiosItem's name and title std::string
2023-04-29 13:23:34 +02:00
Rubidium
ee723f26ba
Codechange: Make FileToSaveLoad's title std::string and simplify assignments
2023-04-29 13:23:34 +02:00
Rubidium
f0a1ddd81c
Codechange: let FiosBrowseTo return a bool
2023-04-29 13:23:34 +02:00
Rubidium
c829930440
Codechange: replace strnatcmp with C++ string capable version
2023-04-29 12:07:45 +02:00
Rubidium
df19673fbd
Codechange: let convert_to_fs accept std::string
2023-04-29 12:07:45 +02:00
Rubidium
b5f96808a1
Fix: FormatArrayAsHex returns gibberish instead of a hex array
2023-04-29 11:07:57 +02:00
Kuhnovic
3991e76c96
Fix #8177 : Ships with max speed overflow to near-zero speed ( #10695 )
2023-04-29 09:33:01 +01:00
Rubidium
4dd5f994be
Codechange: replace strncasecmp with case ignoring variant of StrStarts/EndsWith
2023-04-29 10:25:25 +02:00
Rubidium
86786a7af6
Codechange: introduce StrEqualsIgnoreCase/StrCompareIgnoreCase to replace strcasecmp
2023-04-29 10:25:25 +02:00
Patric Stout
36a0818bc5
Remove: buying/selling/owning company shares ( #10709 )
2023-04-29 10:16:49 +02:00
Peter Nelson
1a24016964
Fix: Set TC_NO_SHADE only for shaded engine in purchase list.
...
Additionally use TC_FORCE to prevent additional colours in the shaded text.
2023-04-28 23:12:07 +01:00
Peter Nelson
23c46e1abf
Fix : #10735 : {POP_COLOUR} fails if string is drawn with extra flags.
2023-04-28 23:12:07 +01:00
translators
3ed8c35dfe
Update: Translations from eints
...
italian: 4 changes by Rivarossi
russian: 4 changes by Ln-Wolf
finnish: 4 changes by hpiirai
turkish: 4 changes by densxd
dutch: 6 changes by Afoklala
portuguese: 4 changes by azulcosta
2023-04-28 18:42:10 +00:00
Rubidium
b221fa3c5a
Codechange: use fmt::format_to instead of seprintf to create the search URL
2023-04-28 19:53:03 +02:00
Rubidium
6a8b4f3e10
Codechange: use fmt::format_to instead of seprintf to fill the PNG metadata
2023-04-28 19:53:03 +02:00
Rubidium
ef3beef7e9
Codechange: use fmt::format_to instead of seprintf to write the savegame info
2023-04-28 19:53:03 +02:00
Rubidium
33c4fbff8f
Codechange: use fmt::format_to instead of seprintf to fill load crash message
2023-04-28 19:53:03 +02:00
translators
d33993cca3
Update: Translations from eints
2023-04-27 18:39:56 +00:00
Patric Stout
f5fad88723
Change: base autosaves intervals on real time (instead of game time) ( #10655 )
...
There are two fundamental issues with autosave:
- When fast-forwarding, it saves way too often
- When paused, it never saves
Both makes no sense. Autosaves are meant to prevent you from
accidentally losing your work. The emphasis on "your" work.
To solve both issues, the autosave now works on real time. You
can select every 10 / 30 / 60 / 120 minutes, which are similar to
what the setting was in game-months.
When you pause, autosaving will stop. Unless you make any change
to the game; then it will continue to make autosaves, even so
the game is paused. Unpausing / pausing resets this mechanism.
2023-04-27 15:21:29 +00:00
PeterN
57f2d70fef
Change: Use cstdint instead of rolling our own types. ( #10651 )
2023-04-27 10:04:18 +02:00
Rubidium
9fe853f7b5
Codechange: use fmt::format instead of vseprintf for midi command formatting
2023-04-26 18:46:17 +02:00
Rubidium
c8ff6a9f7c
Codechange: replace str_fmt with std::string constructs
2023-04-26 18:46:17 +02:00
Rubidium
fce4b5ea69
Codechange: use Debug over printf for dedicated forking output
2023-04-26 18:46:17 +02:00
Rubidium
75cd790ab9
Codechange: use fmt::format for FormatHexNumber
2023-04-26 18:46:17 +02:00
Rubidium
630d3bc053
Codechange: use fmt::format instead of printf for the NewGRF profiler
2023-04-26 18:46:17 +02:00
Rubidium
3105d0b09e
Codechange: replace text-buf printf with fmt::format
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
997c936893
Codechange: Don't use bytes for months in graph GUI
2023-04-26 07:14:03 -04:00
Tyler Trahan
930f0a16d8
Codechange: Define Date/Year/Month/Day within TimerGameCalendar class
2023-04-26 07:14:03 -04:00
Peter Nelson
20d2558f1b
Fix: Clear church/stadium flags when copying house substitute specs.
2023-04-26 06:46:07 +01:00
Peter Nelson
64782cf005
Fix #10627 : Houses subsitute specs should only be copied on first definition.
...
Before #10627 , substitue specs were always copied despite redefinition.
2023-04-26 06:46:07 +01:00
PeterN
7535eb65e2
Codechange: Use vector instead of mallloc/free for Action 6 data. ( #10713 )
2023-04-26 06:45:11 +01:00
PeterN
1697dff744
Change: Hide all variants from UI when (display) parent is hidden. ( #10708 )
2023-04-25 20:34:10 +01:00
translators
5794590b36
Update: Translations from eints
...
vietnamese: 1 change by KhoiCanDev
polish: 7 changes by pAter-exe
2023-04-25 18:41:18 +00:00
Rubidium
f74e26ca7e
Codechange: replace error/usererror printf variant with fmt variant and rename
2023-04-25 17:55:09 +02:00
Rubidium
43c65a3fec
Codechange: use std::string for base media filename/warning storage
2023-04-25 15:01:08 +02:00
Peter Nelson
b8f0513a72
Change: Draw and size video driver info like base set info.
...
This allows very long video driver information strings to wrap instead
of making the game options window very wide.
2023-04-25 13:27:22 +01:00
Peter Nelson
9aee502838
Change: Size Game Options description widgets after initial sizing.
...
Trying to update text widgets with free flowing multiline text during
UpdateWidgetSize(), as the final width is not yet known and so the
calculated height being incorrect, usually resulting in one or more
empty text lines.
The solution is to update the widget heights afterwards during
OnResize(), at which point the final widths are known. The window is
then resized if needed.
(Note this technique needs more attention if width can also change.)
2023-04-25 13:27:22 +01:00
Peter Nelson
e8df28d7f3
Add: parameter for ReInit() to reposition window to default.
2023-04-25 13:27:22 +01:00
Peter Nelson
55d981aec3
Add: Helper to update widget vertical size.
...
This avoids directly setting min_y outside widget code.
2023-04-25 13:27:22 +01:00
Tyler Trahan
6830e5f5f7
Cleanup: Don't use a magic number when closing processing industries ( #10710 )
2023-04-24 19:58:48 +00:00
Jonathan G Rennison
37392935dd
Fix #10707 : Incorrect type of days_in_transit in CargoPacket constructor ( #10715 )
2023-04-24 18:55:16 +00:00
translators
27e9a79988
Update: Translations from eints
...
finnish: 2 changes by hpiirai
portuguese: 1 change by azulcosta
2023-04-24 18:40:29 +00:00
Patric Stout
1c76e0904d
Codechange: revive STR_TINY_BLACK_COMMA from its coma ( #10714 )
2023-04-24 18:33:39 +00:00
Tyler Trahan
2f495c015a
Fix 7c6bf97: Don't change date and shift dates in the wrong order ( #10711 )
2023-04-24 17:33:03 +00:00
Patric Stout
31ad990831
Codechange: move tick-counter into TimerGameTick ( #10712 )
2023-04-24 16:55:40 +00:00
Patric Stout
7aa2b9ab0a
Codechange: move all date-related variables inside the timer ( #10706 )
2023-04-24 15:56:01 +00:00
Rubidium
f5f6306af3
Codechange: use string/fmt instead of printf for ShowInfo(F)
2023-04-24 17:51:54 +02:00
Rubidium
8f24901843
Codechange: replace printf with PRINTF macros by fmt::format for scripts
2023-04-24 17:51:25 +02:00
Rubidium
484883e6e1
Cleanup: remove (unused) Squirrel code that used a hack to work around printf safety
2023-04-24 17:51:25 +02:00
Rubidium
5733142b0d
Codechange: use string/fmt instead of printf for Squirrel's Raise_Error
2023-04-24 17:51:25 +02:00
Rubidium
8b93e45e22
Codechange: use string/fmt instead of printf for squirrel's PRINTFUNC
2023-04-24 17:51:25 +02:00
Peter Nelson
075671bcfc
Codechange: Rename DECLARE_ENUM_AS_BIT_SET parameter to enum_type.
...
It works on enums not masks.
2023-04-24 09:17:37 +01:00
Peter Nelson
9f26e74e1e
Codechange: Rename item_t to Item.
2023-04-24 09:17:37 +01:00
Peter Nelson
c3cea45ebc
Codechange: Rename height_t/amplitude_t to Height/Amplitude.
2023-04-24 09:17:37 +01:00
Peter Nelson
3f811246b1
Codechange: Rename control_point_t to ControlPoint.
...
The _t suffix is reserved by POSIX 1003.1.
2023-04-24 09:17:37 +01:00
Tyler Trahan
7c6bf977e0
Cleanup: Fix and add comments to date cheat callback ( #10699 )
2023-04-23 21:20:56 +02:00
translators
e9f6bbada2
Update: Translations from eints
...
english (au): 1 change by krysclarke
english (us): 1 change by 2TallTyler
galician: 36 changes by pvillaverde
korean: 14 changes by telk5093
italian: 1 change by Rivarossi
russian: 1 change by Ln-Wolf
turkish: 2 changes by densxd
2023-04-23 18:41:11 +00:00
PeterN
9910240f0e
Cleanup: Remove obsolete (Make)EnumPropsT. ( #10697 )
...
This was used by the command system to help extract p1/p2 parameters, which no longer happens.
2023-04-23 17:46:14 +01:00
Peter Nelson
370a8d77a4
Codechange: Use simple assignment to assign specs.
2023-04-23 15:58:27 +01:00
Peter Nelson
087654501b
Codechange: Initialise specs with std::fill/std::copy instead of memset/memcpy.
2023-04-23 15:58:27 +01:00
Peter Nelson
d0c71f2a9e
Codechange: Use reserve/emplace when initializing object definitions.
...
This avoids unnecessary initialization of objects.
2023-04-23 15:58:27 +01:00
Jonathan G Rennison
a967cc4de2
Fix: Violation of strict weak ordering in engine value/running cost sorter
2023-04-23 12:52:12 +01:00
Jonathan G Rennison
684c7bbc93
Fix: Violation of strict weak ordering in TownRatingSorter
...
If two unrated town names compare equal in TownNameSorter
2023-04-23 12:52:12 +01:00
translators
e437b8edae
Update: Translations from eints
...
english (au): 1 change by krysclarke
english (us): 1 change by 2TallTyler
vietnamese: 4 changes by KhoiCanDev
italian: 1 change by Rivarossi
russian: 1 change by Ln-Wolf
turkish: 1 change by EndChapter
portuguese: 1 change by azulcosta
2023-04-22 18:39:34 +00:00
Tyler Trahan
f45509848a
Fix #10289 : Don't silently fail when setting timetable start dates ( #10690 )
2023-04-21 22:36:06 +00:00
PeterN
018f0f63a6
Change: Centre company face in scaled widget. ( #10688 )
2023-04-21 19:54:04 +01:00
translators
6b077ce25c
Update: Translations from eints
...
english (us): 5 changes by 2TallTyler
vietnamese: 1 change by KhoiCanDev
russian: 1 change by Ln-Wolf
turkish: 33 changes by densxd
dutch: 5 changes by Afoklala
2023-04-21 18:42:16 +00:00
Tyler Trahan
ef60a93816
Fix #8302 : Improve "Maintenance intervals are in percents" helptext ( #10686 )
2023-04-21 18:00:41 +00:00
Tyler Trahan
394192dde8
Codechange: Refactor timetable GUI ( #10613 )
2023-04-21 16:31:26 +01:00
Rubidium
7b539fa7c9
Fix: fmt's {:#04X} yields '0X00', not '0x0000'
...
Technically the 0X vs 0x is not a big problem, just not pretty. However, the
length also including the 0x results in unexpected behaviour, so it probably
better to not use it.
2023-04-20 21:39:57 +02:00
PeterN
27b4b5d0a0
Codechange: Make GRF temporary engine data a vector. ( #10685 )
...
This replaces manual C-style realloc/memset/free.
2023-04-20 19:38:48 +00:00
translators
b56be83937
Update: Translations from eints
...
italian: 20 changes by Rivarossi
french: 5 changes by ZarTek-Creole
2023-04-20 18:42:29 +00:00
PeterN
d5f9e04a55
Change: Failure to load a savegame is critical. ( #10682 )
...
Marking the error message critical ensures it is queued if multiple errors occured.
2023-04-20 17:04:07 +01:00
aeonofdiscord
36f5fe19fe
Fix #10665 : CheckEngines should ignore wagons when determining available vehicles at the start date. ( #10673 )
2023-04-19 05:41:12 -04:00
Rubidium
7088f5b7c7
Codechange: use string/fmt instead of printf for grfmsg
2023-04-18 23:21:08 +02:00
Rubidium
dfe52da1ea
Codechange: use string/fmt instead of print for strgen warnings/errors/fatals
2023-04-18 23:20:53 +02:00
translators
1fd17148e1
Update: Translations from eints
...
english (au): 1 change by krysclarke
german: 1 change by SecretIdetity
russian: 1 change by Ln-Wolf
finnish: 5 changes by hpiirai
slovak: 15 changes by legitalk
portuguese: 1 change by azulcosta
2023-04-17 18:40:58 +00:00
SamuXarick
f8b5661d28
Change: Allow GS access to ScriptGroup functions
2023-04-17 17:59:16 +02:00
SamuXarick
f225f36c3d
Change: Allow GS access to ScriptGameSettings.IsDisabledVehicleType
2023-04-17 17:59:16 +02:00
SamuXarick
fd26a44c9e
Change: Allow GS access to more ScriptCompany functions
2023-04-17 17:59:16 +02:00
Andy
8b1960a41c
Change: Allow GS access to more ScriptOrder functions
2023-04-17 17:59:16 +02:00
PeterN
db573c8742
Fix #10660 : Sprite Font scale affected by viewport zoom level limits. ( #10668 )
2023-04-17 00:14:03 +02:00
Charles Pigott
e20a6f8ebb
Codechange: Optimise FormatNumber by removing seprintf calls ( #10659 )
2023-04-17 00:04:24 +02:00
Andy
15c3bc456f
Change: extend callback 161 (engine name) with bit 0x22 for context 'Autoreplace - Vehicles in use' ( #10666 )
2023-04-17 00:02:32 +02:00
PeterN
d949cfab24
Codechange: Use std:: features for NewGRF town names ( #10631 )
...
This removes manual memory (de-)allocation and list counting.
2023-04-16 21:24:54 +01:00
Rubidium
4491e45f3c
Update: change {STRING} to {ZEROFILL_NUM} for STR_FORMAT_DATE_TINY/ISO
2023-04-16 21:06:20 +02:00
Rubidium
29b09523d1
Codechange: Use {ZEROFILL_NUM} instead of custom seprintf + {RAW_STRING}
2023-04-16 21:06:20 +02:00
PeterN
e97bf271dc
Codechange: Make SpriteType, CargoSortType, SourceType and ScriptType enum classes. ( #10663 )
...
This avoids a (soft) namespace conflict between the four ST_* enums.
2023-04-16 20:00:55 +01:00
translators
32c8e7feb8
Update: Translations from eints
...
english (au): 4 changes by krysclarke
vietnamese: 31 changes by KhoiCanDev
russian: 4 changes by Ln-Wolf
portuguese: 4 changes by azulcosta
2023-04-16 18:40:39 +00:00
Patric Stout
ed83c4b0da
Change: replace per-AI "start_date" with a global "competitors_interval" ( #10653 )
...
The per-AI "start_date" is a lot of custom code, and was rarely
used in the way it was meant.
While at it, also ported this part over to the new timer system.
2023-04-16 20:14:22 +02:00
Rubidium
43a7e54067
Add: unit test functionality using catch2
2023-04-16 18:58:21 +02:00
Rubidium
88ead3f102
Add: catch2 v2.13.10
2023-04-16 18:58:21 +02:00
Rubidium
9b56505fec
Codechange: split building into a library and executable
2023-04-16 18:58:21 +02:00
Rubidium
9e89eb5726
Codechange: move main function(s) to separate files
2023-04-16 18:58:21 +02:00
Peter Nelson
7b0797d1cd
Codechange: Use unique ptrs for NewGRF specs.
2023-04-16 15:09:10 +01:00
Peter Nelson
ef6b307465
Change: Use std::vector for NewGRF spec tables.
...
Pointer space is allocated only for the number of IDs used, instead of
the max number of IDs for each feature.
2023-04-16 15:09:10 +01:00
Peter Nelson
15e6fc4eeb
Codechange: Use iterator when mapping sprite groups.
2023-04-16 15:09:10 +01:00
Tyler Trahan
bc44158f9a
Change: Allow overbuilding station and waypoint tiles ( #10618 )
2023-04-16 09:05:04 +02:00
translators
27b40da06a
Update: Translations from eints
...
catalan: 14 changes by J0anJosep
portuguese: 20 changes by azulcosta
portuguese (brazilian): 15 changes by ericandradex
2023-04-15 18:39:48 +00:00
Charles Pigott
6fc28d649e
Cleanup: Unused alloca definitions and includes
2023-04-15 16:57:00 +01:00
Charles Pigott
b282664242
Codechange: Replace all usages of alloca/AllocaM with more modern/less discouraged alternatives
2023-04-15 16:57:00 +01:00
rubidium42
b19f42ecd9
Codechange: Replace some p1/p2 parameter names with better names ( #10658 )
2023-04-15 15:11:41 +02:00
Patric Stout
387d5eb74f
Codechange: validate the developer didn't schedule two timers on the same trigger/priority
2023-04-15 13:58:55 +02:00
Patric Stout
3ebc7ad16e
Codechange: migrate all game-time-related timers to the new framework
2023-04-15 13:58:55 +02:00
Patric Stout
1ba4dcc924
Codechange: migrate all Window-related timers to the new framework
...
This means we also say goodbye to GUITimers.
2023-04-15 13:58:55 +02:00
Patric Stout
5e1bcee39b
Codechange: introduce a framework for all our timers
...
IntervalTimer and TimeoutTimer use RAII, and can be used to replace
all the time-based timeouts, lag-detection, "execute every N" we
have.
As it uses RAII, you can safely use it as static variable, class
member, temporary variable, etc. As soon as it goes out-of-scope,
it will be safely removed.
This allows for much easier to read code when it comes to intervals.
2023-04-15 13:58:55 +02:00
rubidium42
730687080a
Fix: Update some network documentation to match the new command system ( #10657 )
2023-04-15 09:10:09 +00:00
Tyler Trahan
646a7e625b
Change: Use seconds for Linkgraph update settings ( #10610 )
2023-04-14 22:49:12 +02:00
translators
0e915c830c
Update: Translations from eints
...
dutch: 15 changes by Afoklala
2023-04-14 18:39:51 +00:00
Tyler Trahan
8e04cba0c3
Change: Make tick length 27 milliseconds ( #10607 )
...
This makes a month last about 60 seconds, allowing the use of real-time units in game.
Co-authored-by: Niels Martin Hansen <nielsm@indvikleren.dk>
2023-04-14 14:50:19 +01:00
Peter Nelson
e5af5907ec
Change: Make all dropdown lists extend width if necessary.
...
This removes the auto_width parameter from ShowDropDown(At).
2023-04-13 20:57:47 +01:00
Peter Nelson
5bc9d00735
Cleanup: Let GetStringBoundingBox deal with buffer.
2023-04-13 20:57:47 +01:00
Peter Nelson
701092003d
Fix: DropDownListColourItem didn't provide width nor scale vertical padding.
2023-04-13 20:57:47 +01:00
Jonathan G Rennison
bb988f940e
Fix #10638 : Incorrect water infra total when building canal over object
...
In the case where the object is on an unowned canal tile and
the new canal tile is owned
2023-04-13 21:34:36 +02:00
translators
d04aae8428
Update: Translations from eints
...
danish: 18 changes by bscargo
2023-04-13 18:40:16 +00:00
PeterN
ff55bfb787
Fix #10343 : Don't extend town-disallowed roadtypes. ( #10347 )
...
Towns currently don't build disallowed roadtypes, however they should
also not extend disallowed roadtypes as well.
If the roadtype that cannot be extended happens to be the roadtype that
the town was going to build then this restriction is ignored.
2023-04-12 22:30:03 +01:00
PeterN
5f99c8c4aa
Fix: Extra viewport cannot be scrolled with right-click-close. ( #10644 )
2023-04-12 19:14:48 +00:00
Tyler Trahan
97cfd40649
Fix #10630 : Don't allow shifting service date earlier than 0 ( #10643 )
2023-04-12 18:52:37 +00:00
translators
a0d8545f6c
Update: Translations from eints
...
french: 15 changes by glx22
2023-04-12 18:42:18 +00:00
Peter Nelson
06b78a7299
Fix: Don't double-pad existing size when adding widget padding.
...
UpdateWidgetSize's size parameter already includes padding.
2023-04-12 18:43:15 +01:00
Peter Nelson
d93f96a442
Fix: Account for extra dropdown list padding.
2023-04-12 18:43:15 +01:00
Jonathan G Rennison
e17420777a
Fix #10637 : Incorrect water infra total when building multi-tile object
...
Wrong tile used in ownership checks
2023-04-12 16:50:45 +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
translators
d7f0c5d6d8
Update: Translations from eints
...
russian: 3 changes by Ln-Wolf
finnish: 7 changes by hpiirai
polish: 17 changes by pAter-exe
2023-04-11 18:42:26 +00:00
translators
9e69556e2f
Update: Translations from eints
...
english (au): 13 changes by krysclarke
english (us): 15 changes by 2TallTyler
russian: 12 changes by Ln-Wolf
2023-04-10 18:39:57 +00:00
PeterN
ce046f6d17
Fix: Abort loading savegame if road vehicle is on invalid road type. ( #10622 )
...
This can happen if NewGRFs are missing so that engine or road type definitions are wrong.
2023-04-10 19:23:18 +01:00
Charles Pigott
ce24709576
Add: Some additional debugging information when chunk sizes are incorrect
2023-04-10 18:58:48 +01:00
Charles Pigott
8aea13a85b
Codechange: Use fmt for SlErrorCorruptFmt
2023-04-10 18:58:48 +01:00
PeterN
246ba6f00a
Fix 8361cf5a73: Missing bounds check for house specs. ( #10625 )
2023-04-10 15:00:34 +00:00
dP
e2f1cd44dc
Change: Increase max cargo age and let min cargo payment approach zero. ( #10596 )
...
Co-authored-by: Michael Lutz <michi@icosahedron.de>
2023-04-10 12:34:28 +02:00
translators
58e629ca84
Update: Translations from eints
...
korean: 8 changes by telk5093
russian: 7 changes by Ln-Wolf
finnish: 8 changes by hpiirai
2023-04-09 18:39:31 +00:00
PeterN
078e27bd84
Fix #10619 : Crash loading linkgraph for older savegames. ( #10620 )
2023-04-09 19:28:55 +01:00
Rubidium
c6ff7dad68
Add: compile time "unit tests" for GetPartialZ consistent
2023-04-09 19:00:26 +02:00
Rubidium
41ef7c88af
Codechange: make a numer of Slope related functions constexpr
2023-04-09 19:00:26 +02:00
Rubidium
9d2a0f3d0b
Change: make GetPartialZ consistent, meaning Z of adjacent slopes continue
...
Previously, on a straight line of a one corner up slope with the adjacent
steep sloop the Z would increase one step every two sub pixels, except for one
case where one sub pixel is skipped. Similarly, a steep slope with two
adjacent one corner up slopes, would have a bump in the height line along the
diagonal whenever it enters/leaves the steep slope tile.
2023-04-09 19:00:26 +02:00
Rubidium
1fcd69096c
Fix: do not update a RV's Z-position when stationary while turning
...
When the direction of a RV changes the Z-position update logic was called,
which did nothing to the Z-position because that is only changed every other
step. By chance/luck this never triggered with RV's turning around, until
making the partial Z calculations consistent and moving the locations where
the Z-position is changed, causing the Z-position to be changed twice for
the RV that stayed at the same location.
2023-04-09 19:00:26 +02:00
Rubidium
e8af8daa68
Codechange: pass "ground vehicle" to GetTileSlopeZ since for tunnel/bridges there are two states
...
Previously it checked the position in non-driving direction to "guess" whether
a ground vehicle was using the function, so on tunnels/bridges it could either
return the Z of the (virtual) ground compared to the Z of the path the vehicle
would take.
2023-04-09 19:00:26 +02:00
Alberth289346
1321e48465
Fix: Update top toolbar tooltips for added features. ( #10616 )
2023-04-09 13:52:04 +02:00
Tyler Trahan
97bdf99239
Codechange: Add a property to graph windows for whether to draw dates ( #10608 )
2023-04-08 19:10:17 +00:00
translators
39c6b3def1
Update: Translations from eints
...
english (au): 2 changes by krysclarke
russian: 2 changes by Ln-Wolf
2023-04-08 18:46:15 +00:00
Tyler Trahan
0de5eb53fa
Codechange: Use constants for service interval max/min/default values ( #10611 )
2023-04-08 18:04:30 +00:00
Tyler Trahan
1691640603
Fix: Specify units for value of share trading age setting ( #10612 )
2023-04-08 17:51:52 +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
glx22
3a48d6e60f
Fix 991a797: [Script] Allow STRINGN consumption to be different than expected
2023-04-08 00:14:12 +02:00
Jonathan G Rennison
43cea852a6
Fix 41b414b: Validate RAW_STRING parameter values in game_script mode
2023-04-08 00:14:12 +02:00
Peter Nelson
47e12a8790
Codechange: Check that CompanyMask fits into 16 bits during compilation.
2023-04-07 22:09:55 +01:00
Peter Nelson
5199881a8d
Codechange: Use correct type for linkgraph company mask.
2023-04-07 22:09:55 +01:00
Peter Nelson
65e0b0dcb7
Codechange: Be consistent with how company masks are set to all.
2023-04-07 22:09:55 +01:00
Peter Nelson
08977828cc
Fix: Check ID for name is within bounds.
2023-04-07 22:09:28 +01:00
Peter Nelson
cd6c04a663
Fix: Check station ID is within bounds when copying layouts.
2023-04-07 22:09:28 +01:00
Peter Nelson
8361cf5a73
Fix: Check sprite group mapping ID is within bounds of feature.
2023-04-07 22:09:28 +01:00
Peter Nelson
96f4eb3681
Codechange: Check NewGRF feature is defined before processing any sprite group mapping.
...
Previously this was checked after loading ids, or repeatedly checked for
each item.
2023-04-07 22:09:28 +01:00