Peter Nelson
bf865dc536
Codechange: Add `GetVisibleRangeIterators()` to `Scrollbar`.
2024-02-27 17:18:53 +00:00
Loïc Guilloux
f612bc6ee2
Fix bf4b6696: [Script] Broken ScriptText circular reference detection ( #12187 )
2024-02-27 18:16:21 +01:00
Kuhnovic
2fb1593550
Fix e38c3c5: Added missing return statement ( #12185 )
2024-02-27 12:55:42 +01:00
Patric Stout
e775ef2b70
Fix: initialize _switch_mode_time so crash-logs before first game have a realistic time ( #12184 )
2024-02-27 02:41:59 +01:00
translators
149592e4dd
Update: Translations from eints
...
english (us): 9 changes by 2TallTyler
chinese (simplified): 10 changes by WenSimEHRP
luxembourgish: 21 changes by phreeze83
greek: 11 changes by Xertoveizer
hungarian: 60 changes by titanicbobo
german: 37 changes by frosch123
french: 9 changes by Bulest
portuguese (brazilian): 74 changes by pasantoro
polish: 5 changes by pAter-exe
2024-02-26 18:45:02 +00:00
Patric Stout
e939f59cbb
Codechange: replace "byte" with "uint8_t" in settings ( #12179 )
2024-02-26 07:49:26 -05:00
translators
7b1e3cfeb5
Update: Translations from eints
...
english (au): 1 change by krysclarke
swedish: 1 change by niklasva
chinese (simplified): 6 changes by WenSimEHRP
korean: 21 changes by telk5093
hungarian: 1 change by PstasDev
italian: 1 change by Rivarossi
belarusian: 7 changes by KorneySan
russian: 7 changes by Ln-Wolf, 3 changes by KorneySan
catalan: 9 changes by J0anJosep
danish: 7 changes by bscargo
french: 7 changes by ottdfevr
portuguese: 1 change by jcteotonio
hindi: 2 changes by michaelsmassey
portuguese (brazilian): 115 changes by pasantoro
polish: 1 change by pAter-exe
2024-02-25 18:35:26 +00:00
Peter Nelson
86be6d7e0b
Codechange: Off-by-one in colour gradient initialisation.
...
Remap sprites start with a count byte followed by 256 entries, but
SetupColoursAndInitialWindow did not take account of this extra byte and
therefore started at palette index 0xC5 instead of 0xC6. This caused the
first colour of each gradient to be incorrect and all shades were actually
1 step lower in the gradient than indicated.
2024-02-25 12:38:07 +00:00
Peter Nelson
912d7bd80e
Codechange: Give ColourShade values names instead of numbers.
2024-02-25 12:38:07 +00:00
Peter Nelson
ae3390fe48
Codechange: Add ColourShade enum.
2024-02-25 12:38:07 +00:00
Peter Nelson
0463d4c198
Codechange: Remove direct access to _colour_gradient.
...
Access is now through GetColourGradient, which ensures parameters are in range.
2024-02-25 12:38:07 +00:00
Peter Nelson
56cf89d189
Change: Use bitmap for free unit ID generation. ( #12165 )
...
This improves performance of finding the next free unit number for a vehicle.
Based loosely on pool's used slot bitmap.
2024-02-25 12:36:13 +00:00
Peter Nelson
8afef45d4e
Fix d3c673e: Don't defer OnResize() after ReInit() ( #12174 )
...
Some windows resize themselves during painting and issue ReInit(). In this case deferred OnResize() causes a visible glitch as the event is handled on the next redraw.
2024-02-25 08:35:57 +00:00
translators
ddb3914074
Update: Translations from eints
...
english (au): 6 changes by krysclarke
swedish: 19 changes by sereneavatar
estonian: 30 changes by RM87
chinese (simplified): 3 changes by Kevin-mao0721
hungarian: 60 changes by titanicbobo
italian: 6 changes by Rivarossi
russian: 3 changes by Ln-Wolf, 3 changes by KorneySan
finnish: 6 changes by hpiirai
ukrainian: 7 changes by StepanIvasyn
latvian: 6 changes by lexuslatvia
portuguese: 37 changes by azulcosta
portuguese (brazilian): 19 changes by pasantoro
polish: 6 changes by SzyZuu
2024-02-24 18:35:08 +00:00
Tyler Trahan
677ec70b0e
Fix fd9e72a: Helptext for timekeeping unit setting erroneously refers to vehicle movement ( #12172 )
2024-02-24 16:09:16 +00:00
Richard Wheeler
c25d9f5c81
Fix: Make link graph node borders scale with GUI ( #12167 )
2024-02-23 19:04:34 -05:00
Jonathan G Rennison
222832f1d4
Fix #12166 : Crash when opening tram road stop build window ( #12168 )
2024-02-23 15:02:59 -05:00
translators
7135330819
Update: Translations from eints
...
vietnamese: 3 changes by KhoiCanDev
chinese (simplified): 5 changes by WenSimEHRP
hungarian: 63 changes by titanicbobo
belarusian: 47 changes by KorneySan
finnish: 2 changes by hpiirai
ukrainian: 25 changes by StepanIvasyn
danish: 38 changes by bscargo
portuguese (brazilian): 158 changes by pasantoro
2024-02-23 18:35:31 +00:00
SamuXarick
b22fb43cea
Fix #10490 : Allow ships to exit depots if another is not moving at the exit point ( #12161 )
2024-02-23 08:08:16 -05:00
Peter Nelson
2b79e7cdf5
Fix b7630b0: Incorrect padding for text purchase list. ( #12160 )
...
Restore to original (and more normal) framerect padding.
2024-02-22 22:23:29 +00:00
frosch
bb86023d50
Fix #12127 , 555a379: Truncation ellipses rendered shadows even for black font without shadows ( #12132 )
2024-02-22 22:22:35 +00:00
Rubidium
4c117dd2d8
Revert #11993 : new number format system does not and cannot work for CJK languages
...
There are too many intricacies that I am unaware of that are popping up after
asking whether things are right or not.
I do not want to keep playing whack-a-mole, so just revert the whole thing.
This reverts:
15be383b93
360fe8b0b6
1aa9a5c0ab
59f56941e5
7e2eefb91f
b741b2ba6f
609d0071d5
9f8fd80112
a253205b93
819c6c756e
2024-02-22 20:40:12 +01:00
translators
8015d96a50
Update: Translations from eints
...
english (au): 2 changes by krysclarke
spanish (mexican): 149 changes by Can202
estonian: 11 changes by RM87
chinese (simplified): 18 changes by WenSimEHRP
hungarian: 2 changes by PstasDev
italian: 195 changes by Rivarossi
serbian: 42 changes by nkrs
german: 2 changes by Wuzzy2
belarusian: 537 changes by KorneySan
russian: 25 changes by KorneySan
ukrainian: 21 changes by StepanIvasyn
turkish: 14 changes by jnmbk
latvian: 2 changes by lexuslatvia
dutch: 1 change by iamthedutchdude
spanish: 15 changes by MontyMontana
french: 2 changes by ottdfevr
portuguese: 2 changes by jcteotonio, 2 changes by azulcosta
portuguese (brazilian): 149 changes by pasantoro
polish: 2 changes by pAter-exe
2024-02-22 18:36:05 +00:00
Rubidium
5d2e6e4efa
Fix #12148 , fca8166: Do not draw decimals when number of digits is 0
2024-02-21 19:32:53 +01:00
Jonathan G Rennison
ca146c8ddd
Fix #12145 : Incorrect date handling in date cheat in wallclock time-keeping mode
2024-02-21 18:43:05 +01:00
Jonathan G Rennison
409c073eca
Codefix: Off by one in TimerGameEconomy::ConvertDateToYMD wallclock mode
2024-02-21 18:40:02 +01:00
merni-ns
7bab2c1cc3
Fix #12119 : Remove red warning text when maximum loan is zero
2024-02-21 18:38:53 +01:00
Jonathan G Rennison
c637d376d0
Fix cb588d8d: Ordering of command per tick limit and pause mode filtering ( #12126 )
...
The command per tick limit should be applied after the pause mode filter
2024-02-20 15:51:35 -05:00
translators
bff69e192b
Update: Translations from eints
...
english (us): 24 changes by 2TallTyler
vietnamese: 13 changes by KhoiCanDev
estonian: 7 changes by RM87
german: 16 changes by Wuzzy2
belarusian: 328 changes by KorneySan
russian: 6 changes by KorneySan, 5 changes by Ln-Wolf
ukrainian: 9 changes by StepanIvasyn
catalan: 18 changes by J0anJosep
danish: 61 changes by bscargo
french: 8 changes by ottdfevr
portuguese: 29 changes by jcteotonio, 12 changes by azulcosta
portuguese (brazilian): 185 changes by pasantoro
polish: 1 change by pAter-exe
2024-02-20 18:35:58 +00:00
Loïc Guilloux
25d1238907
Fix #12133 : [Script] Don't crash when emergency saving ( #12138 )
2024-02-20 18:55:18 +01:00
Loïc Guilloux
2d7ad9f717
Fix: [Script] Only show debug script window at the end of savegame loading ( #12135 )
2024-02-20 16:08:26 +00:00
translators
f1bf39f38b
Update: Translations from eints
...
english (au): 12 changes by krysclarke
chinese (simplified): 84 changes by WenSimEHRP
russian: 13 changes by Ln-Wolf
finnish: 12 changes by hpiirai
ukrainian: 12 changes by StepanIvasyn
latvian: 19 changes by lexuslatvia
french: 1 change by ZarTek-Creole
portuguese (brazilian): 169 changes by pasantoro
polish: 12 changes by pAter-exe
2024-02-19 18:35:28 +00:00
Rubidium
a4d4301a0c
Codechange: We are heading to 15
2024-02-18 21:48:54 +01:00
translators
73bed054b8
Update: Translations from eints
...
english (au): 2 changes by krysclarke
korean: 5 changes by telk5093
russian: 2 changes by Ln-Wolf
tamil: 45 changes by Aswn
portuguese: 1 change by azulcosta
hindi: 85 changes by NisheshTyagi
portuguese (brazilian): 119 changes by pasantoro
2024-02-18 18:35:02 +00:00
Rubidium
15be383b93
Fix a253205: remove (now) unused currency separator
2024-02-18 16:56:52 +01:00
Tyler Trahan
4f1bc39bf7
Change: Show speed before destination in vehicle status bar ( #11932 )
2024-02-18 10:44:11 -05:00
Tyler Trahan
87a80c7ff2
Change: When adding orders, Ctrl+Click on a depot to unbunch, instead of service if required ( #12023 )
2024-02-18 10:43:44 -05:00
frosch
555a37930b
Fix: Shadows of individual character glyphs could be drawn over other characters ( #12115 )
2024-02-18 16:30:54 +01:00
Damian Laczak
49c3215751
Fix #10983 : [AdminPort] Correct order of messages
2024-02-18 15:11:00 +01:00
Peter Nelson
f20d241e81
Fix a258833: Don't invalidate station list on vehicle load/unload. ( #12112 )
...
a258833
fixed a bug but as a result causes the station list to be rebuilt every time (once per game tick) a vehicle loads/unloads.
Instead just mark the window for redraw.
2024-02-18 12:20:11 +00:00
Koen Bussemaker
8a1cea2ab6
Codechange: Skip non-water water region patches in neigbor search
2024-02-18 11:46:34 +01:00
Rubidium
360fe8b0b6
Fix a253205: division by zero when attempting to format some short currencies
2024-02-17 22:45:48 +01:00
translators
03e3553230
Update: Translations from eints
...
estonian: 15 changes by RM87
portuguese (brazilian): 42 changes by pasantoro
polish: 30 changes by pAter-exe
2024-02-17 18:35:04 +00:00
Peter Nelson
2ecc3c90f7
Change: Improve performance of finding free pool slots. ( #12055 )
...
Add a bitmap of used pool slots which allows finding a free pool slot without having to check if each index is already used or not.
Loosely based on a JGRPP patch.
2024-02-17 18:29:21 +00:00
Rubidium
1aa9a5c0ab
Update: Use proper number formats and abbreviations for Chinese, Japanese, Korean and German
2024-02-17 14:33:16 +01:00
Rubidium
59f56941e5
Update: Number format configuration based on old digitsep and STR_CURRENCY_SHORT_* values
2024-02-17 14:33:16 +01:00
Rubidium
7e2eefb91f
Cleanup: Remove digit group separators from strgen and languages
2024-02-17 14:33:16 +01:00
Rubidium
b741b2ba6f
Feature: Fully user configurable number format and abbreviations
2024-02-17 14:33:16 +01:00
Rubidium
609d0071d5
Change: Remove saving of digit group and decimal separator configurations from the savegame
2024-02-17 14:33:16 +01:00
Rubidium
e67fc33172
Codechange: Add support for NULL strings in SaveLoadCompat
2024-02-17 14:33:16 +01:00
Rubidium
9f8fd80112
Feature: Fully customisable number abbreviations per translation
2024-02-17 14:33:16 +01:00
Rubidium
a253205b93
Feature: Fully customisable number format per translation
2024-02-17 14:33:16 +01:00
Rubidium
819c6c756e
Codechange: Add support for number format and abbreviations pragmas/attributes to strgen
2024-02-17 14:33:16 +01:00
Rubidium
fca8166087
Codechange: Simplify FormatNumber by moving out zero fill and decimal support
2024-02-17 14:33:16 +01:00
Rubidium
a44bd81280
Codechange: Move determining the decimal separator to a separate function
2024-02-17 14:33:16 +01:00
Rubidium
f0c50ad529
Codechange: Add function to get the power of ten for a given number
2024-02-17 14:33:16 +01:00
rubidium42
8bccb5805a
Fix 0ca4b4e: Ctrl+Click style inconsistency in base language ( #12099 )
2024-02-17 06:26:09 +00:00
translators
bb2446c058
Update: Translations from eints
...
welsh: 5 changes by Ansbaradigeidfran
estonian: 108 changes by siimsoni, 50 changes by RM87
luxembourgish: 276 changes by phreeze83
hungarian: 81 changes by PstasDev
indonesian: 6 changes by tsaqibfs
italian: 191 changes by AlphaJack
bulgarian: 118 changes by lamarin1
ukrainian: 16 changes by StepanIvasyn
tamil: 408 changes by Aswn
turkish: 43 changes by metsysma
esperanto: 103 changes by JadedCtrl
portuguese (brazilian): 57 changes by pasantoro
polish: 61 changes by pAter-exe
2024-02-16 18:35:10 +00:00
Peter Nelson
adb796a21a
Change: Show 6 or 2 orientation buttons in NewGRF road stop picker as appropriate.
...
This replaces the normal method of masking unusable buttons.
2024-02-15 22:28:58 +00:00
Peter Nelson
8c22690ce1
Codechange: Update window's widget lookup map when switching displayed plane.
2024-02-15 22:28:58 +00:00
translators
3d591c2094
Update: Translations from eints
...
swedish: 1 change by SpamixOfficial
welsh: 280 changes by Ansbaradigeidfran
vietnamese: 245 changes by myquartz
estonian: 1 change by siimsoni
czech: 64 changes by LubosKolouch, 29 changes by adamek0202
arabic (egypt): 17 changes by AviationGamerX
luxembourgish: 247 changes by phreeze83
hungarian: 9 changes by nemesbala
indonesian: 21 changes by tsaqibfs, 19 changes by K4smun1
italian: 13 changes by AlphaJack
hebrew: 20 changes by Boltyansky
bulgarian: 107 changes by lamarin1
finnish: 4 changes by lanurmi
ukrainian: 18 changes by StepanIvasyn
catalan: 1 change by arnaullv
turkish: 120 changes by metsysma, 43 changes by EndChapter
danish: 23 changes by mamure, 23 changes by bscargo
dutch: 1 change by Jaws3rd
french: 1 change by Lishouuu
portuguese (brazilian): 362 changes by pasantoro
polish: 60 changes by pAter-exe
2024-02-15 18:34:46 +00:00
SamuXarick
8584d1b5bb
Add: [Script] GetAirportNumHelipads ( #12085 )
...
Adds a function for Scripts to get the number of helipads of an airport type.
2024-02-14 21:38:32 +01:00
Peter Nelson
a64ca2e0c5
Cleanup: Remove declaration of non-existent function. ( #12091 )
2024-02-14 20:28:03 +00:00
Peter Nelson
4ffe1da540
Fix: NewGRF roadstops were ignored if only in default class. ( #12089 )
...
If a NewGRF defines roadstops in the default class and no other classes are defined, they would be ignored and not selectable.
2024-02-14 19:21:13 +00:00
translators
ac5eaecd15
Update: Translations from eints
...
english (au): 1 change by krysclarke
english (us): 1 change by 2TallTyler
czech: 74 changes by adamek0202
chinese (simplified): 3 changes by WenSimEHRP
luxembourgish: 42 changes by phreeze83
korean: 1 change by telk5093
german: 1 change by Wuzzy2
romanian: 19 changes by ALEX11BR
russian: 1 change by Ln-Wolf
finnish: 6 changes by lanurmi
ukrainian: 13 changes by StepanIvasyn
turkish: 26 changes by metsysma
danish: 18 changes by bscargo
latvian: 3 changes by lexuslatvia
portuguese: 1 change by azulcosta
portuguese (brazilian): 273 changes by pasantoro
2024-02-14 18:37:05 +00:00
Peter Nelson
1e82d75fa2
Fix f1144de: "knots" missing from settings units list. ( #12082 )
...
Knots were added as a setting but not included in the settings list so were saved as a number instead of string.
2024-02-13 20:19:45 +00:00
translators
4cea9a61ce
Update: Translations from eints
...
swedish: 132 changes by sereneavatar
spanish (mexican): 31 changes by absay
english (us): 2 changes by 2TallTyler
czech: 6 changes by Caesar008
arabic (egypt): 76 changes by AviationGamerX
turkish: 91 changes by metsysma
danish: 9 changes by mamure
portuguese: 9 changes by azulcosta
portuguese (brazilian): 253 changes by pasantoro
polish: 14 changes by pAter-exe
2024-02-13 18:37:22 +00:00
Tyler Trahan
f5126cba08
Fix: Accurately describe Ctrl+Clicking on a waypoint in Go To tooltip ( #12081 )
2024-02-13 11:41:25 -05:00
Florian
02b59920ed
Fix #12050 : Add default size, shade and pin control buttons to company livery widget. ( #12080 )
2024-02-13 15:55:13 +00:00
Peter Nelson
14b31c8fed
Add: Show cargo icons on subsidy list window. ( #12079 )
2024-02-13 07:41:24 +00:00
Patric Stout
15c14a896f
Fix: survey-time seconds for clients was calculated wrong ( #12078 )
2024-02-12 21:56:27 +00:00
Patric Stout
bad31f2d42
Fix #10079 : don't render at 1000fps if HW acceleration + vsync is requested but not active ( #12067 )
2024-02-12 21:39:23 +00:00
Loïc Guilloux
79374bc003
Fix #12074 : Don't allow "part" command for dedicated servers ( #12075 )
2024-02-12 19:28:30 +00:00
translators
a3e6f82150
Update: Translations from eints
...
english (au): 2 changes by krysclarke
swedish: 307 changes by sereneavatar
galician: 127 changes by pvillaverde
romanian: 165 changes by bnegrut
spanish: 8 changes by MontyMontana
portuguese: 89 changes by azulcosta
portuguese (brazilian): 335 changes by pasantoro
2024-02-12 18:35:10 +00:00
Patric Stout
839f2e025c
Fix: visually also disable vsync when not using HW acceleration ( #12066 )
2024-02-12 03:19:08 +01:00
Jonathan G Rennison
5ab5f4ace7
Codefix df691eb3: Reloading GRFs destructed small UFO targeting road vehicle ( #12072 )
2024-02-12 00:51:18 +00:00
Peter Nelson
481fa7dbb5
Change: Show cargo icons on Industry View window. ( #12071 )
2024-02-12 00:50:58 +00:00
Loïc Guilloux
3ffa176870
Change: [Script] Store randomizers in savegame ( #12063 )
2024-02-12 01:22:57 +01:00
Peter Nelson
d6f34a21e8
Codefix: Incorrect storage type in cargo field of industry cargo chains window. ( #12051 )
...
`supp_cargoes` and `cust_cargoes` actually contains a column index, however this index is always stored at the indexed position...
Replace with a bitmask instead, which stores if the column indices are linked.
2024-02-11 23:05:29 +00:00
Peter Nelson
df691eb31e
Codechange: Don't scan vehicle pool to find targeting disaster vehicle when deleting any vehicle. ( #12064 )
...
* Codechange: Don't scan vehicle pool to find targeting disaster vehicle when deleting any vehicle.
When deleting a vehicle, the vehicle pool is scanned to find a targetting disaster vehicle. With lots of vehicles this can take some time, especially when deleting multiple consecutive vehicles.
Disasters vehicles can actually only target road vehicles. Store the DisasterVehicle index in the road vehicle, so that no pool scan is necessary.
* Change: Small UFOs no longer target a vehicle which is already a target.
2024-02-11 23:04:29 +00:00
Patric Stout
fa6f270f23
Codefix 36e1b32: remove left-over debug statement ( #12068 )
2024-02-11 21:36:37 +00:00
Peter Nelson
58ed38be03
Change: Avoid adjacent fence fields.
...
This restores pre-r23168 behaviour of only a single fence between adjacent fields.
2024-02-11 22:10:46 +01:00
Peter Nelson
d6c5efd795
Change: Draw north-side farm fences/hedges/walls on tile edge, instead of 1/16th in.
...
This matches original TTD drawing behaviour, which is what the original baseset sprites are designed for, and avoids alignment issues (which are more problematic with high detail 4x sprites.)
2024-02-11 22:10:46 +01:00
SamuXarick
fa64fff4a5
Fix #10405 , a3dd750: [Script] Test engine and vehicle type validity for ScriptGroup::GetNumEngines ( #11887 )
2024-02-11 22:09:23 +01:00
Patric Stout
5b3bfe4c4c
Fix fdfcb09: for content service, fallback to TCP downloads when HTTP stalls ( #12056 )
2024-02-11 20:24:28 +01:00
Loïc Guilloux
8d9fa0ea89
Change: [Script] Use company randomizer when adding random deviation ( #12065 )
2024-02-11 18:58:41 +00:00
translators
378dab3750
Update: Translations from eints
...
galician: 85 changes by pvillaverde
estonian: 1 change by RM87
czech: 7 changes by JakMel
chinese (simplified): 1 change by WenSimEHRP
korean: 10 changes by telk5093
german: 191 changes by Wuzzy2
romanian: 122 changes by bnegrut
russian: 29 changes by Ln-Wolf
catalan: 28 changes by J0anJosep
french: 6 changes by glx22
portuguese (brazilian): 252 changes by pasantoro
2024-02-11 18:34:45 +00:00
Joan Josep
1b33b4058e
Fix: Redraw orders when a station feature is added/removed. ( #12061 )
2024-02-11 12:47:49 -05:00
Peter Nelson
9ec9c8d8b5
Fix: Industry tiles and houses could accept incorrect cargo types. ( #12062 )
...
Ensure the default label is cleared when NewGRFs set industry tile or house acceptance.
This was missed by #12053 .
2024-02-11 17:42:04 +00:00
Patric Stout
d02b1547f6
Remove: setting "no_http_content_downloads" ( #12058 )
...
As we now use HTTPS, it is very likely this will work on most systems.
For systems that do have HTTPS blocked, it will fail instantly,
and it will fallback to TCP anyway. That makes this setting no longer
very useful.
2024-02-11 14:48:12 +00:00
Peter Nelson
8db08da148
Fix #12052 : NewGRFs clearing industry cargo slots could fallback to default instead of empty. ( #12053 )
...
Ensure the default label is cleared when NewGRF sets a produced/accepted cargo slot, so that default fallback isn't used.
2024-02-11 00:43:13 +00:00
Tyler Trahan
7b32d9cff5
Fix #12019 : Correctly highlight depot unbunch action in dropdown
2024-02-10 15:11:24 -05:00
Tyler Trahan
771615cb4b
Fix #12020 : Unbunch and service if needed should be mutually exclusive depot order types
2024-02-10 15:11:24 -05:00
translators
2f35a484fe
Update: Translations from eints
...
swedish: 1 change by SpamixOfficial
english (us): 7 changes by 2TallTyler
galician: 123 changes by pvillaverde
estonian: 5 changes by RM87
czech: 46 changes by justidan4
romanian: 19 changes by ALEX11BR
russian: 13 changes by gisterecis
finnish: 6 changes by rikkerton
catalan: 188 changes by J0anJosep
turkish: 29 changes by densxd
latvian: 7 changes by lexuslatvia
portuguese: 33 changes by azulcosta
portuguese (brazilian): 546 changes by pasantoro
polish: 24 changes by pAter-exe
2024-02-10 18:35:13 +00:00
Loïc Guilloux
977aba73be
Change: Store running AI config inside Company ( #12003 )
2024-02-09 22:55:49 +01:00
Peter Nelson
466e6bb524
Fix #12037 : Blurry OpenTTD font on Mac OS. ( #12047 )
2024-02-09 21:36:13 +01:00
Patric Stout
48e7dceb3c
Revert: Build signals to the next junction when dragging regardless of the Ctrl state ( #12034 )
...
This reverts commit b370ae1212
.
2024-02-09 19:34:03 +01:00
Jonathan G Rennison
bed3ef6f6b
Cleanup: Incorrect savegame number for SLV_DEPOT_UNBUNCHING constant ( #12045 )
2024-02-09 17:50:29 +00:00
Kuhnovic
e38c3c59f3
Fix #11840 : Ship pathfinder always returns a valid trackdir if one is available ( #12031 )
2024-02-09 12:31:38 -05:00
Loïc Guilloux
b68d263d5f
Fix #12014 : Remove water when area clearing ship depot ( #12030 )
2024-02-09 18:17:08 +01:00
Tyler Trahan
10bcf0172e
Fix #12022 : Adjust economy date when changing timekeeping units in Scenario Editor ( #12042 )
2024-02-09 11:45:32 -05:00
Loïc Guilloux
165f92c00b
Fix #12041 , 0c81579: Tarball extraction failing due to incorrect filename ( #12044 )
2024-02-09 17:25:56 +01:00
translators
9b323b4ef9
Update: Translations from eints
...
english (au): 7 changes by krysclarke
galician: 1 change by pvillaverde
chinese (simplified): 3 changes by WenSimEHRP
italian: 29 changes by Giredson
german: 53 changes by MagnumSociety
ukrainian: 37 changes by StepanIvasyn
dutch: 7 changes by rcpaul
spanish: 144 changes by MontyMontana
french: 4 changes by Lishouuu
portuguese: 48 changes by azulcosta
portuguese (brazilian): 156 changes by pasantoro
polish: 22 changes by azabost, 6 changes by pAter-exe
2024-02-08 18:34:34 +00:00
Tyler Trahan
16e6da020d
Cleanup: Remove unnecessary Trackdir casts ( #12038 )
2024-02-08 09:46:55 -05:00
Loïc Guilloux
82470f5c0d
Codechange 80ebcc7: OptionMenuEntries prefix is OME not ONE ( #12036 )
2024-02-08 00:22:01 +00:00
Patric Stout
11f5ac72a9
Fix #12029 : don't show Sandbox Options in multiplayer ( #12032 )
2024-02-08 00:33:24 +01:00
Heikki Piirainen
42a88fc1d6
Fix: Finnish thousands separator ( #12028 )
...
In Finnish, the recommended digit group separator is a space rather than a dot.
2024-02-07 13:35:56 -05:00
translators
d2a4f3123d
Update: Translations from eints
...
galician: 25 changes by pvillaverde
czech: 182 changes by justidan4
hungarian: 31 changes by titanicbobo, 13 changes by Norodix
indonesian: 27 changes by tsaqibfs
german: 58 changes by UnsuspiciousGooball
russian: 18 changes by Ln-Wolf
finnish: 6 changes by hpiirai, 5 changes by lanurmi
ukrainian: 39 changes by StepanIvasyn
turkish: 3 changes by metsysma
danish: 55 changes by mamure, 6 changes by bscargo
dutch: 111 changes by Afoklala, 2 changes by robert5800
spanish: 196 changes by MontyMontana
portuguese: 4 changes by azulcosta
portuguese (brazilian): 148 changes by pasantoro
polish: 42 changes by pAter-exe, 16 changes by azabost
2024-02-07 18:34:54 +00:00
Peter Nelson
2c78146da5
Change: Limit cargo types in station cargo filter, with "More..." option to show all.
2024-02-07 17:13:37 +00:00
Peter Nelson
e517e55620
Change: Include count of stations per cargo type in station cargo filter.
...
Cargo types with no stations are shaded to make the list clearer.
2024-02-07 17:13:37 +00:00
Peter Nelson
46da56b191
Change: Replace long list of cargo filter buttons with a multi-select dropdown list.
...
As before, hold ctrl while clicking on an item to toggle selections.
2024-02-07 17:13:37 +00:00
Peter Nelson
0ce30d05c8
Codechange: Add method to replace the content of a dropdown menu.
...
If necessary the dropdown list window will be resized and scrollbar enabled/disabled.
2024-02-07 17:13:37 +00:00
Peter Nelson
ac44c001a4
Codechange: Expose `FindChildWindow()` as a method of `Window`.
2024-02-07 17:13:37 +00:00
Peter Nelson
4c44e1eae0
Codechange: Add parameter to persist dropdown menus.
...
If a dropdown menu is set to persist, it will not close when an item is selected. It will close as normal if the window loses focus.
Closing the list is the responsibility of the caller.
2024-02-07 17:13:37 +00:00
Peter Nelson
b1c5e03df1
Fix: Don't issue autoreplace failed news message for command test mode. ( #12026 )
2024-02-07 12:07:00 +00:00
Peter Nelson
1f8533ebe0
Fix #12024 : Autoreplace failed news message for trains must go to lead engine. ( #12025 )
2024-02-07 08:51:03 +00:00
Loïc Guilloux
b0f3417025
Add: [Script] ScriptTileList_StationCoverage ( #12015 )
2024-02-06 20:22:18 +01:00
Loïc Guilloux
0858377e9e
Fix: [Script] Don't kill GS misusing GSText ( #12009 )
2024-02-06 19:58:30 +01:00
merni-ns
34b05465d5
Fix 5a88027: [Script] Avoid overflow in scripts when infinite money is enabled ( #12016 )
2024-02-06 19:54:38 +01:00
translators
02cdd5ba8b
Update: Translations from eints
...
spanish (mexican): 7 changes by Skinazo
english (us): 4 changes by 2TallTyler
czech: 37 changes by justidan4
chinese (simplified): 1 change by WenSimEHRP
finnish: 50 changes by Finjet-cyber, 22 changes by hpiirai
spanish: 13 changes by MontyMontana
french: 4 changes by ottdfevr
portuguese (brazilian): 141 changes by pasantoro
polish: 68 changes by pAter-exe
2024-02-06 18:35:32 +00:00
Peter Nelson
e9ea837311
Fix #12012 : Crash when opening orders of another company. ( #12013 )
...
Orders window changes tooltip depending on vehicle type but did check if widget exists.
2024-02-06 12:53:23 +00:00
dP
e2d36f626b
Fix: Focus hotkey in road/tram stop building window ( #12008 )
2024-02-05 18:14:21 -05:00
Peter Nelson
ae30ad7802
Fix #12001 : Use correct valid cargo check for old-style NewGRF town house 3rd cargo set up. ( #12006 )
2024-02-05 23:12:56 +00:00
Peter Nelson
5c630e10b7
Fix 2fd90960: Missing default vehicles and industry acceptance/production. ( #12000 )
...
* Fix 2fd90960: Missing default vehicles and industry acceptance/production.
Some default definitions are used across multiple climate types and relied on climate-independent cargo slot even though they specified a climate-dependent cargo type.
Add MixedCargoType that indirectly allows multiple labels to be specified for these.
2024-02-05 23:11:32 +00:00
Tyler Trahan
b2b4cceb49
Fix #11997 : Adjust economy date by 1920 when loading TTD/TTO savegames ( #12007 )
2024-02-05 18:09:29 -05:00
translators
05e23f8fc9
Update: Translations from eints
...
english (au): 4 changes by krysclarke
chinese (simplified): 21 changes by WenSimEHRP
korean: 4 changes by CoconutKR
finnish: 94 changes by hpiirai
catalan: 20 changes by J0anJosep
danish: 7 changes by bscargo
latvian: 4 changes by lexuslatvia
esperanto: 31 changes by JadedCtrl
portuguese (brazilian): 283 changes by pasantoro
polish: 75 changes by pAter-exe
2024-02-05 18:35:45 +00:00
Rubidium
3534214dfc
Codechange: use reference instead of pointer for CommandPacket
2024-02-05 18:57:58 +01:00
Rubidium
cb588d8d3f
Codechange: use std::vector for the incoming command queue
2024-02-05 18:57:58 +01:00
Rubidium
b3aa8a9c35
Codechange: use std::vector for the outgoing command "queues"
2024-02-05 18:57:58 +01:00
Peter Nelson
09a12f230f
Fix: Signals were incorrectly shifted by 1 pixel when selected. ( #12005 )
...
Most shifting when pressed was removed by 884b9e66
.
2024-02-05 17:55:04 +00:00
Rubidium
63708609fb
Codechange: define the size of the PacketType enumerations
2024-02-05 17:10:35 +01:00
Rubidium
6f77c2eaa2
Codechange: use size_t for the MTU limits and remove default parameter
2024-02-05 17:10:35 +01:00
Rubidium
72a44b0df6
Codechange: use references for handling received TCP packets
2024-02-05 16:30:49 +01:00
Rubidium
794f12dc24
Codechange: cascade through SendNeedGame/CompanyPassword functions, instead of duplicating logic for determining whether to call these functions
2024-02-05 16:30:49 +01:00
Rubidium
8add0bf8ec
Codechange: use references for game info serialization
2024-02-05 16:30:49 +01:00
Rubidium
84623d2123
Codechange: use references for UDP packets
2024-02-05 16:30:49 +01:00
Rubidium
031a9d4e26
Codechange: use std::unique_ptr for the Packets created to send via TCP
2024-02-05 16:30:49 +01:00
Rubidium
36e1b32ccf
Codechange: use std::deque of std::unique_ptr to queue packets
2024-02-05 16:30:49 +01:00
Rubidium
c77a45ed86
Codechange: use std::unique_ptr for receiving network packets
2024-02-05 16:30:49 +01:00
Koen Bussemaker
35c89d57f8
Codechange: Added debug printing for Water Regions
2024-02-04 22:50:04 +01:00
Koen Bussemaker
4b94457bf1
Fix #11802 : Made determining water region edge traversability more robust
2024-02-04 22:50:04 +01:00
translators
9cc17230e8
Update: Translations from eints
...
english (au): 11 changes by krysclarke
english (us): 11 changes by 2TallTyler
galician: 3 changes by pvillaverde
chinese (simplified): 17 changes by WenSimEHRP
korean: 14 changes by telk5093
german: 78 changes by SecretIdetity
russian: 11 changes by Ln-Wolf
catalan: 23 changes by J0anJosep
danish: 2 changes by bscargo
latvian: 229 changes by lexuslatvia
french: 29 changes by glx22
portuguese: 33 changes by azulcosta
portuguese (brazilian): 28 changes by pasantoro
2024-02-04 18:36:20 +00:00
Loïc Guilloux
64611a7d12
Fix #11975 , 27a920c: Running AIs also occupy a slot ( #11976 )
2024-02-04 13:19:35 +01:00
dP
ff618230fe
Codechange: Replace magic value with a variable ( #11980 )
2024-02-04 10:45:24 +00:00
Peter Nelson
2fd9096070
Change: Decouple and remove landscape-dependent cargo types. ( #11719 )
...
Cargo types of default engines, industries and houses are now specified in terms of label.
2024-02-04 10:16:08 +00:00
Peter Nelson
83d63464db
Fix #11966 : Scrollbar may be incorrect on first opening of text file window. ( #11981 )
...
The scrollbar is set up before the true monospace is loaded, so reinitialise the window after loading.
2024-02-04 10:15:20 +00:00
Loïc Guilloux
75015cdad2
Fix 6f6f099: Signals exist only on plain rail tiles ( #11977 )
2024-02-04 10:39:06 +01:00
Peter Nelson
d9461e52af
Fix #11972 : Incorrect minimum width allocated to graph. ( #11974 )
...
Width was based on actual number of data points instead of possible number of data points.
2024-02-04 08:51:19 +00:00
Jonathan G Rennison
cb13ee90ef
Fix: Second colour vehicle-type default liveries not being updated
...
When changing company default second colour
2024-02-04 07:14:39 +01:00
Tyler Trahan
d5e936c9d4
Fix #11968 : Always set string parameters to avoid undefined behavior ( #11973 )
2024-02-04 07:07:47 +01:00
Tyler Trahan
d0c753465d
Fix f6dd505: Remove unneeded error when switching between depot actions
2024-02-03 17:32:25 -05:00
Tyler Trahan
80a704ba11
Fix f6dd505: Split depot action tooltip by vehicle type
2024-02-03 17:32:25 -05:00
Rubidium
7a740eefa0
Codechange: use std::unique_ptr for managing SaveLoadParams
2024-02-03 21:38:33 +01:00
Rubidium
4b372b6050
Codechange: use std::shared_ptr to manage saveload filters instead of manually trying to avoid double frees
2024-02-03 21:38:33 +01:00
translators
bc4ed9085d
Update: Translations from eints
...
english (au): 3 changes by krysclarke
english (us): 3 changes by 2TallTyler
chinese (simplified): 3 changes by WenSimEHRP
korean: 4 changes by telk5093
russian: 19 changes by Ln-Wolf
latvian: 67 changes by lexuslatvia
portuguese: 3 changes by azulcosta
portuguese (brazilian): 3 changes by pasantoro
2024-02-03 18:34:44 +00:00
Patric Stout
0dfba564ab
Add: "restart current" console command to regenerate the map based on current settings ( #11963 )
2024-02-03 14:48:54 +00:00
Peter Nelson
17d02ed45f
Feature: NewGRF properties to set town production effect and multiplier. ( #11947 )
...
Town production effect is modelled on town acceptance (growth) effect, and so takes an original cargo slot for behaviour instead of a direct value.
NewGRF feature 0x0B, property 0x1E, takes 1 byte.
Valid values are:
- 0x00 to behave like passengers
- 0x02 to behave like mail
- 0xFF to behave like other cargo (i.e. not produced.)
If not set, town production effect is set based on the cargo label ('PASS' or 'MAIL').
Town production multiplier allows adjusting the amount of cargo produces when Town Production Effect is set, without needing to use callbacks.
NewGRF feature 0x0B (cargo), property 0x1F, accepts a 2 byte (word) value, similar to the cargo capacity multiplier property. The default value is 256 which means 100%, i.e. normal rate.
2024-02-03 13:58:31 +00:00
Tyler Trahan
f6dd5053a3
Feature: Order flag to unbunch vehicles at depot ( #11945 )
2024-02-03 08:04:24 -05:00
Patric Stout
a0c480c4e4
Change: "restart" now uses your newgame settings, where "reload" uses the current settings ( #11962 )
2024-02-03 10:19:47 +00:00
Charles Pigott
59f6c199bf
Fix #11528 : Don't auto-build past tunnelbridge ends ( #11606 )
2024-02-03 11:18:10 +01:00
kiwitreekor
8d62a8f0f0
Add: Station variable 6B to get extended station id of nearby tiles ( #10953 )
2024-02-03 11:17:49 +01:00
Patric Stout
849fd5ae03
Change: [Script] replace easy/medium/hard values with default value ( #11959 )
2024-02-03 09:15:03 +00:00
Loïc Guilloux
27a920c4a8
Change: Allow to configure AI slots above max_no_competitors ( #11961 )
2024-02-03 09:42:16 +01:00
Patric Stout
fe4494ec11
Change: only open story-book in center when a GS does it ( #11916 )
2024-02-03 08:09:55 +01:00
Patric Stout
59a046de9c
Fix: don't use non-owning string pointer in StringParameter ( #11952 )
...
The string pointer can become invalid before the reference is
dropped, causing out-of-bound access in windows like ErrorWindow,
or News that copy 10 or 20 parameters for their internals.
Co-authored-by: Jonathan G Rennison <j.g.rennison@gmail.com>
2024-02-02 23:01:54 +01:00
frosch
b1718478c8
Codechange: Replace old non-standard attributes with C++17/20 standard attributes.
2024-02-02 22:29:28 +01:00
frosch
8a4f0c4b02
Codechange: Simplify error throwing/catching in squirrel compiler.
2024-02-02 22:29:28 +01:00
Tyler Trahan
f2db624e85
Change: Add dividers between signal groups ( #11897 )
2024-02-02 15:52:20 -05:00
Tyler Trahan
6f6f09910d
Fix #10118 : Cycle through current signal group, not just path signals ( #11798 )
2024-02-02 15:51:57 -05:00
Peter Nelson
2e6c6b719f
Change: Link houses production on industry chain graph by TPE_PASSENGERS or TPE_MAIL cargo.
2024-02-02 20:37:49 +00:00
Peter Nelson
03b2640ea1
Change: Passenger subsidies are generated for any TPE_PASSENGER cargo type.
2024-02-02 20:37:49 +00:00
Peter Nelson
6d93fa649c
Change: Towns generate cargo based on town production effect.
...
This replaces the fixed handling of passengers and mail.
2024-02-02 20:37:49 +00:00
Peter Nelson
8d69d0549d
Codechange: Add town production effect type and assign to cargo types.
2024-02-02 20:37:49 +00:00
Peter Nelson
60dcf3b5e2
Codechange: Rename TownEffect to TownAcceptanceEffect.
...
This makes it clearer that TownEffect only affects acceptance behaviour.
2024-02-02 20:37:49 +00:00
translators
782cbe95d6
Update: Translations from eints
...
chinese (simplified): 49 changes by WenSimEHRP
russian: 47 changes by Ln-Wolf
catalan: 71 changes by J0anJosep
dutch: 114 changes by Afoklala
portuguese: 46 changes by azulcosta
portuguese (brazilian): 29 changes by pasantoro
2024-02-02 18:35:20 +00:00
Loïc Guilloux
4e26e33805
Change: Improve ScriptSettings windows ( #11958 )
2024-02-02 18:08:05 +00:00
Loïc Guilloux
0e738dda88
Fix #11948 : [Win32] Convert error messages to utf8 ( #11951 )
2024-02-02 16:30:23 +01:00
Loïc Guilloux
3545decf2d
Cleanup e28edf6945: [Script] Left over CONFIG_RANDOM reference in documentation ( #11954 )
2024-02-02 14:28:02 +00:00
Loïc Guilloux
a2f31c4e61
Change: Improve AIConfig window ( #11949 )
2024-02-02 14:34:49 +01:00
Jonathan G Rennison
c0b8e58404
Codechange: Simplify SetBitIterator
...
Use FindFirstBit and KillFirstBit, allowing simpler iterator equality
Add simple test
2024-02-01 23:05:57 +01:00
Patric Stout
dce7d5d9b0
Fix #8253 : allow rendering graphs with values over 2**31 / 10 ( #11915 )
2024-02-01 22:53:30 +01:00
Patric Stout
770ca3a624
Fix #8253 : don't use INVALID_DATAPOINT for a valid value ( #11913 )
2024-02-01 22:47:11 +01:00
dP
9a2f247de9
Fix: Display rank correcly with more than 15 companies in a league table
2024-02-01 20:17:31 +01:00
translators
e1fbaf6f7f
Update: Translations from eints
...
english (au): 5 changes by krysclarke
english (us): 5 changes by 2TallTyler
chinese (simplified): 8 changes by WenSimEHRP
korean: 5 changes by telk5093
russian: 14 changes by Ln-Wolf
latvian: 4 changes by lexuslatvia
portuguese: 11 changes by azulcosta
portuguese (brazilian): 5 changes by pasantoro
2024-02-01 18:36:06 +00:00
Loïc Guilloux
ab1407fc43
Fix: [Script] Apply random deviation only at script start ( #11944 )
2024-02-01 10:48:40 +01:00
Patric Stout
e28edf6945
Remove: [Script] CONFIG_RANDOM from AddSetting flags ( #11942 )
...
It had a very weird interaction, and was only ever used by a single
AI.
2024-01-31 22:24:36 +00:00
merni-ns
ccaa383e85
Fix #11938 : Check infinite money setting in cases where it was missed ( #11939 )
2024-01-31 20:11:48 +01:00
Patric Stout
363e251a10
Change: make -dnet=9 give traces of the details of the network protocol ( #11931 )
2024-01-31 19:36:41 +01:00
translators
bbae16574a
Update: Translations from eints
...
english (au): 10 changes by krysclarke
english (us): 10 changes by 2TallTyler
vietnamese: 10 changes by KhoiCanDev
chinese (simplified): 62 changes by WenSimEHRP, 4 changes by XiaoJi-Game
korean: 11 changes by telk5093
russian: 5 changes by Ln-Wolf
finnish: 32 changes by hpiirai
portuguese (brazilian): 12 changes by pasantoro
2024-01-31 18:34:42 +00:00
Patric Stout
3e6ed6f44a
Fix #9697 : don't extend the Online Players window too wide on opening ( #11936 )
2024-01-31 19:03:07 +01:00
frosch
4d2fc28834
Codechange: wrap 'if' in macros into 'do { ... } while (false)', so it does not break on following 'else'.
2024-01-30 23:43:42 +01:00
frosch
e0bd1dd42e
Codechange: replace a macro with a lambda.
2024-01-30 23:43:42 +01:00
Patric Stout
46b1114c67
Change: forcefully enable prefixing logs with date ( #11930 )
...
Additionally, add the log-level to the log message.
2024-01-30 22:02:16 +00:00
Tyler Trahan
41f2eed425
Feature: Settings to scale cargo production of towns and industries ( #10606 )
2024-01-30 15:11:46 -05:00
merni-ns
96651b5ada
Cleanup: Use standard comment format ( #11929 )
2024-01-30 18:43:42 +00:00
translators
3e5ba614ab
Update: Translations from eints
...
chinese (simplified): 7 changes by WenSimEHRP
russian: 24 changes by Ln-Wolf
finnish: 61 changes by hpiirai
spanish: 1 change by MontyMontana
french: 134 changes by glx22
portuguese: 22 changes by azulcosta
portuguese (brazilian): 57 changes by pasantoro
2024-01-30 18:36:34 +00:00
glx22
a502453033
Fix 48b6b18: Increase MAX_VALUATE_OPS to match the previous limit
2024-01-30 19:15:54 +01:00
dP
897b59c158
Add: [GS] Allow to set max loan for each company separately ( #11224 )
2024-01-30 19:15:19 +01:00
dP
b370ae1212
Change: Build signals to the next junction when dragging regardless of the Ctrl state ( #9637 )
2024-01-30 19:14:26 +01:00
merni-ns
5a88027a19
Feature: Infinite money mode ( #11902 )
2024-01-30 18:01:02 +00:00
Patric Stout
7acf78964f
Remove: "generation_seed" from config, as it was a write-only value ( #11927 )
2024-01-30 17:02:35 +00:00
Patric Stout
a05b7acec8
Change: position error window closer to cursor on large screens ( #11923 )
2024-01-30 14:57:49 +01:00
Tyler Trahan
2b1f78d2ca
Fix: Use alternate timekeeping units in savegame title ( #11912 )
2024-01-29 22:11:00 +00:00
Peter Nelson
435d48e182
Fix: Sandbox window does not reduce height when interface scale is reduced. ( #11924 )
...
line_height was only ever made larger, and icon.height ignored.
2024-01-29 22:01:22 +00:00
Patric Stout
4024bb5554
Fix #11910 : use economy timer for dmp_cmds files ( #11925 )
2024-01-29 21:58:22 +00:00
Patric Stout
f1842f9144
Add: {CURRENCY_SHORT} only did k / m suffix. Add bn / tn and make translatable. ( #11921 )
...
64bit numbers are REALLY large, but our compact method was build
for 32bit numbers. Extend it to 64bit.
2024-01-29 20:20:35 +00:00
translators
1d4b10a8b8
Update: Translations from eints
...
english (au): 86 changes by krysclarke
english (us): 105 changes by 2TallTyler
chinese (simplified): 29 changes by WenSimEHRP
korean: 156 changes by telk5093
russian: 4 changes by Ln-Wolf
danish: 1 change by bscargo
spanish: 132 changes by lrlopez
portuguese: 52 changes by azulcosta
portuguese (brazilian): 181 changes by pasantoro
2024-01-29 18:34:38 +00:00
dP
acaceb45ba
Codechange: Make command constant names consistent with command proc ( #11920 )
2024-01-29 13:41:36 +01:00
Peter Nelson
bf013097a7
Fix #11918 : Houses should build only next to road stops, not any station type. ( #11919 )
2024-01-29 01:27:34 +00:00
translators
809b599c21
Update: Translations from eints
...
english (au): 48 changes by krysclarke
english (us): 32 changes by 2TallTyler
vietnamese: 10 changes by KhoiCanDev
chinese (simplified): 46 changes by WenSimEHRP, 2 changes by XiaoJi-Game
korean: 58 changes by telk5093
russian: 57 changes by Ln-Wolf
finnish: 22 changes by hpiirai
catalan: 30 changes by J0anJosep
danish: 12 changes by bscargo
dutch: 45 changes by Afoklala
spanish: 214 changes by lrlopez
french: 8 changes by glx22
portuguese: 23 changes by azulcosta
portuguese (brazilian): 30 changes by pasantoro
polish: 4 changes by pAter-exe
2024-01-28 15:00:40 +00:00
Koen Bussemaker
5a55c4a934
Feature: [NewGRF] Allow higher max speeds for ships
2024-01-28 14:54:51 +01:00
Loïc Guilloux
461d69a8f6
Fix #11907 : Allow genders for time related {UNITS_XXX} ( #11908 )
2024-01-28 14:45:08 +01:00
frosch
17dfc1a49a
Codechange: Replace SF_GUI_NEGATIVE_IS_SPECIAL with a settings value callback.
2024-01-28 14:44:24 +01:00
frosch
28c83089f6
Codechange: Remove TKM string code.
2024-01-28 14:44:24 +01:00
frosch
9344b50435
Codechange: Remove TKM from settings texts.
2024-01-28 14:44:24 +01:00
frosch
9e9a8ca7f6
Codechange: Add callbacks to IntSettingDesc to support dynamic strings for title, help and values.
2024-01-28 14:44:24 +01:00
frosch
022b9e92d2
Codechange: Move settings string formatting into IntSettingDesc members.
2024-01-28 14:44:24 +01:00
frosch
a9d1078434
Codechange: Remove TKM from town action tooltips.
2024-01-28 14:44:24 +01:00
frosch
abfeeea849
Codechange: Compose engine preview text from multiple strings.
2024-01-28 14:44:24 +01:00
frosch
68c64d2511
Codechange: Remove TKM string codes by duplicating strings.
2024-01-28 14:44:24 +01:00
frosch
bd3d687bf9
Codechange: Merge all BaseGraphWindow widget enums into one.
...
Previously it relied on some enum entries using the same integer value.
2024-01-28 14:44:24 +01:00
frosch
69f47caf3f
Codechange: Remove TKM from vehicle list sorting dropdowns.
2024-01-28 14:44:24 +01:00
frosch
9741510396
Fix: Wallclock setting should not affect percent-based service interval increments.
2024-01-28 14:44:24 +01:00
Tyler Trahan
86981c0983
Fix: Extra refit button when train/RV is in a depot ( #11904 )
2024-01-28 08:01:09 -05:00
Patric Stout
05b253b33b
Fix ea8c1d85: improve smoothness of smooth-scrolling for 60+Hz screens ( #11884 )
2024-01-28 09:56:21 +00:00
SamuXarick
0c4e509b60
Fix #10439 : [GS] Validate story page button colour, flags, cursor and vehicle type ( #11892 )
...
Adds GSStoryPage::IsValidStoryPageButtonColour, GSStoryPage::IsValidStoryPageButtonFlags and GSStoryPage::IsValidStoryPageButtonCursor to the API.
Add missing enforced preconditions to validate parameters passed to MakePushButtonReference, MakeTileButtonReference and MakeVehicleButtonReference.
2024-01-28 00:29:10 +01:00
SamuXarick
76f0f9e386
Fix #10438 : [GS] Validate story page element type for ScriptStoryPage::NewElement ( #11888 )
...
Fixes a crash that happens if an invalid StoryPageElementType is passed to ScriptStoryPage::NewElement.
Adds an enforced precondition that tests the validity of StoryPageElementType.
Adds GSStoryPage::IsValidStoryPageElementType to the API.
2024-01-27 22:11:02 +01:00
Peter Nelson
6d276698b6
Fix: Memory leak in ICUParagraphLayout::NextLine() ( #11895 )
...
This function calls icu::BreakIterator::createLineInstance() but does not clean up after it.
Instead use a static instance that is cloned (for thread-safety) and deleted as necessary.
2024-01-27 20:13:42 +00:00
Jonathan G Rennison
1df7b21ee3
Fix #11889 : ConstructWindow not called from SurveyResultTextfileWindow constructor ( #11903 )
2024-01-27 19:44:10 +00:00
Peter Nelson
d3c673e20b
Fix #11894 : Defer window OnResize event to avoid processing multiple times per input tick. ( #11900 )
2024-01-27 18:44:27 +00:00
Patric Stout
8c5ad1ade7
Fix fd9e72a7: actually use the parameter value instead of the current date ( #11898 )
2024-01-27 17:34:04 +00:00
Peter Nelson
fef0bfcfd3
Fix: TextfileWindow called virtual methods before constructor completed. ( #11889 )
...
SetStringParameters() was called during widget tree init in the constructor.
Calls within a constructor cannot call the derived classes methods. This would result in invalid data being passed to the string system, which could then crash.
2024-01-27 14:45:37 +00:00
Kuhnovic
8a4a99b7e8
Fix #5713 : FindClosestShipDepot only considers depots that are actually reachable ( #11768 )
2024-01-27 15:06:14 +01:00
Patric Stout
89520f5665
Add: show in multiplayer the amount of hours a game has been unpaused ( #11886 )
2024-01-27 12:35:09 +01:00
Patric Stout
2bbc95cac3
Fix: update server as offline when unexpected disconnect during refresh ( #11891 )
2024-01-27 11:23:25 +01:00
Richard Wheeler
8770ef6bd9
Change: Make street lights transparent with houses ( #11828 )
2024-01-27 09:25:13 +00:00
Rubidium
7916e97c62
Update: opengl; glext header to 20231129, wglext header to 20231018
2024-01-27 09:57:25 +01:00
Rubidium
a23cd4aef7
Update: nlohmann/json to 3.11.3
2024-01-27 09:57:25 +01:00
Rubidium
79b684b8ac
Update: fmt to 10.2.0
2024-01-27 09:57:25 +01:00
Patric Stout
80ebcc72fb
Change: rebrand Cheats as Sandbox Options ( #11874 )
2024-01-26 19:56:01 +01:00
Tyler Trahan
28716548d2
Feature: Setting to automatically restart server based on hours played ( #11142 )
2024-01-26 10:25:25 -05:00
Loïc Guilloux
09b66751cf
Fix b38d3c2208: missing water regions invalidation when building locks ( #11879 )
2024-01-25 22:18:26 +00:00
Patric Stout
36579dd18b
Change: set smooth-scrolling on by default ( #11860 )
2024-01-25 11:07:36 +01:00
Patric Stout
ea8c1d8597
Change: make for smooth-scrolling based on actual time
...
This means if rendering takes a bit longer, scrolling goes a bit
quicker, making travel time always about the same time for the
same distance.
2024-01-25 10:29:48 +01:00
Jonathan G Rennison
cbb24b5d71
Codechange: Split bit numbers from values in RailTypeFlags, RoadTypeFlags enums ( #11877 )
2024-01-24 22:24:34 +01:00
Tyler Trahan
21581b6ab3
Feature: Setting for minutes per calendar year ( #11428 )
2024-01-23 18:33:54 -05:00
translators
be8ed26db6
Update: Translations from eints
...
norwegian (nynorsk): 5 changes by translators
slovenian: 5 changes by translators
faroese: 5 changes by translators
hebrew: 5 changes by translators
afrikaans: 5 changes by translators
urdu: 5 changes by translators
persian: 5 changes by translators
bulgarian: 5 changes by translators
belarusian: 5 changes by translators
basque: 5 changes by translators
russian: 23 changes by Ln-Wolf
finnish: 1 change by hpiirai
malay: 5 changes by translators
scottish gaelic: 5 changes by translators
croatian: 5 changes by translators
latin: 5 changes by translators
french: 49 changes by glx22, 8 changes by ottdfevr
portuguese (brazilian): 80 changes by pasantoro
icelandic: 5 changes by translators
2024-01-23 18:40:53 +00:00
Tyler Trahan
fd9e72a7e7
Feature: Use real-time "wallclock" timekeeping units ( #11341 )
2024-01-23 11:36:09 -05:00
Tyler Trahan
bbdbf9a589
Add: AI/GS Time Mode to choose between economy (default) and calendar time ( #11603 )
2024-01-23 10:42:10 -05:00
Patric Stout
a1487ce620
Add: list_[scenario|heightmap] and load_[scenario|height] console commands ( #11867 )
2024-01-23 14:01:25 +01:00
Tyler Trahan
76499b96fb
Fix fa479c4: Typo in vehicle list tooltip ( #11871 )
2024-01-22 23:17:26 +00:00
Patric Stout
090616b4c9
Add: allow loading heightmaps from command-line ( #11870 )
...
If you want to load a file from tar, you have to give the file
inside the tar in order for it to work:
<tar-file>/<dir-in-tar>/<file>.png
2024-01-22 22:35:25 +00:00
Kuhnovic
bf3fd6526b
Fix: use correct size parameter type in TileArea constructors ( #11869 )
2024-01-22 22:06:42 +00:00
Patric Stout
11d4f1b2bd
Fix d3b2a576: LOAD_HEIGHTMAP / LOAD_SCENARIO are Scenario Editor modes ( #11868 )
2024-01-22 21:28:00 +00:00
Patric Stout
d3b2a576de
Feature: Plugin framework for Social Integration with Steam, Discord, GOG, etc ( #11628 )
2024-01-22 19:22:45 +00:00
Patric Stout
75f21065c9
Codechange: refactor DecodeHexText to a generic purpose ConvertHexToBytes ( #11866 )
...
DecodeHexText() does more than just decoding hex. ConvertHexToBytes()
now only does pure hex decoding. This required a bit of refactoring
for the code using DecodeHexText().
2024-01-22 19:42:47 +01:00
translators
786cc85e86
Update: Translations from eints
...
english (au): 155 changes by krysclarke
norwegian (bokmal): 9 changes by v0nNemizez
english (us): 155 changes by 2TallTyler
chinese (simplified): 9 changes by WenSimEHRP
russian: 41 changes by Ln-Wolf
finnish: 1 change by hpiirai
2024-01-22 18:40:42 +00:00
Tyler Trahan
735abfe111
Codechange: Split dates and timers into Economy and Calendar time ( #10700 )
2024-01-22 09:04:34 -05:00
EmperorJake
419f48dfb3
Change: set amount of smoke/sparks to "realistic" by default ( #11624 )
2024-01-21 21:23:35 +00:00
Kuhnovic
b38d3c2208
Change: simplified water region evaluation, removed savegame data ( #11750 )
2024-01-21 20:56:50 +00:00
Patric Stout
1985e7415b
Fix: smooth-scrolling large distances didn't got smoothly in one direction ( #11861 )
2024-01-21 20:52:44 +00:00
Peter Nelson
c7d5cedc7b
Codechange: Replace C-style TICC/TOCC macros with C++ RAII implementation. ( #11857 )
...
Usage is more robust, and will always include timing when the TicToc object goes out of scope.
2024-01-21 18:38:40 +00:00
Peter Nelson
691c628b07
Codechange: Use named initialization for unscaled WidgetDimensions. ( #11859 )
...
Remove now-unused WD_* enums.
2024-01-21 18:10:49 +00:00
Patric Stout
0c81579363
Fix #6377 : two tarballs with the same folder in them were considered as one ( #11855 )
2024-01-21 19:06:58 +01:00
SamuXarick
6588680ccc
Revert #6923 : start_date parameter is no longer in use
...
There was an issue with the start_date parameter for AIs. It did not let Random AIs to have their configure button clickable once the game has started, and this was due to the start_date not being pushed into the config.
But now that start_date is no longer in use since #10653 , this workaround can be safely removed.
2024-01-21 18:49:08 +01:00
Patric Stout
f35e257adc
Fix #9722 : create vital windows as soon as local_company is set ( #11858 )
...
Many places use local_company to detect whether world generation is
done, and blindly assume all vital windows exists when local_company
is set.
2024-01-21 17:36:33 +00:00
Peter Nelson
a9a0bfffc1
Change: Disable building rail infrastructure if train build limit is zero. ( #11847 )
...
This matches the behaviour of road, ship and aircraft infrastructure.
2024-01-21 16:51:23 +00:00
Peter Nelson
89474701bc
Codechange: Use templates to deduplicate goal widgets. ( #11852 )
2024-01-21 16:23:17 +00:00
Patric Stout
fa8294ebe7
Remove: rdtsc and TIC/TOC based on CPU ticks ( #11856 )
...
Use TIC/TOC based on std::chrono instead. This information is also
easier to compare with others, as although it depends on CPU, it
means a bit more if "yours takes 4ms and mine takes 10ms".
2024-01-21 15:38:15 +00:00
Patric Stout
fe035c306e
Codechange: prevent out-of-bound read (even if the result is never used) ( #11853 )
2024-01-21 14:25:00 +00:00
Peter Nelson
8797cc7ef2
Codechange: Replace GroupStatistics' num_engines with std::map. ( #11849 )
...
This removes manual memory management with calloc/free calls, and prevents potentially large arrays being allocated for each group.
2024-01-21 14:09:44 +00:00
Peter Nelson
c0ab436077
Codechange: Store Colours in Colours type. ( #11625 )
...
This reduces casts, some magic numbers, and introduces a bit of type-safety.
2024-01-21 13:23:04 +00:00
Peter Nelson
0841978304
Codechange: Use vector and iterators to store old/new vehicles during autoreplace. ( #11851 )
...
This avoids malloc/free of 3 arrays along index counting, and the data for each part is kept together.
2024-01-21 09:21:22 +00:00
Rubidium
2d77f09a81
Codechange: use std::shared_ptr for vector of TCPConnecters
2024-01-20 23:03:44 +01:00
Patric Stout
71b8801b61
Fix bd85f61a: [Linux] don't include sys/random.h on older glibc systems ( #11844 )
2024-01-20 20:43:06 +00:00
Tyler Trahan
fa479c4a7c
Cleanup: Describe modifier keys more consistently in tooltips ( #11716 )
2024-01-20 19:26:39 +00:00
Tyler Trahan
500870627d
Change: Rewrite a few main toolbar tooltips ( #11717 )
2024-01-20 13:49:34 -05:00
translators
4d79d86812
Update: Translations from eints
...
catalan: 18 changes by J0anJosep
2024-01-20 18:38:38 +00:00
Peter Nelson
d6ccfdbbd9
Fix #11827 : Make Layouter::GetCharPosition() aware of ligatures. ( #11831 )
...
When ligatures happen the precise individual character position is not known, so instead return the previous position (which is that of the ligature.)
2024-01-20 17:16:42 +00:00
Rubidium
086cbd0d72
Codechange: add constexpr to math functions where applicable
2024-01-20 17:30:36 +01:00
Rubidium
dfe70181f1
Codechange: add constexpr to bitmath functions where applicable
2024-01-20 17:30:36 +01:00
Rubidium
4c51534b6a
Remove: LeastCommonMultiple / GreatestCommonDivisor
...
Use std::lcm / std::gcd instead.
2024-01-20 16:45:21 +01:00
Rubidium
1403f24fa9
Codechange: replace LeastCommonMultiple with std::lcm
2024-01-20 16:45:21 +01:00
Patric Stout
bd85f61a40
Change: use a stronger hash and actual random information to generate Uids
2024-01-20 14:23:03 +01:00
Patric Stout
37244bc8c5
Codechange: MacOS already has MIN/MAX macros defined
...
This is caused because we use PreCompile Headers, and one of them
includes a system headers which defines MIN/MAX.
2024-01-20 14:23:03 +01:00
Patric Stout
63a3d56b8a
Add: monocypher 4.0.2
...
Monocypher will take care of all our encryption needs; as most
OSes and vcpkg doesn't have it available, we vendor it.
2024-01-20 14:23:03 +01:00
Rubidium
6b21368bc2
Codechange: replace FIND_FIRST_BIT/FindFirstBit2x64 with FindFirstBit
2024-01-19 21:10:39 +01:00
Rubidium
8faaedeff9
Codechange: replace hand written function to find first/last bit with C++ variant
2024-01-19 21:10:39 +01:00
Peter Nelson
903119115b
Fix 9602de4: FinaliseCargoArray did nothing. ( #11839 )
...
`CargoSpec::Iterate()` deliberately skips invalid cargo types, but `FinaliseCargoCarry()` is only interested in them.
2024-01-19 20:07:47 +00:00
translators
db7697bcdf
Update: Translations from eints
...
chinese (simplified): 22 changes by WenSimEHRP
romanian: 37 changes by bnegrut
2024-01-19 18:40:43 +00:00
Peter Nelson
9cf47af490
Change: Invalidate music volume when restarting music playback on Windows. ( #11836 )
2024-01-19 17:01:36 +00:00
Peter Nelson
6a2c37b4ed
Fix 09f585b: Crash if font name ends with comma or comma and whitespace on Linux. ( #11838 )
2024-01-19 08:03:32 +00:00
Rubidium
1c694e433d
Codechange: use std::popcount instead of hand written loop
2024-01-19 06:48:55 +01:00
Peter Nelson
ae575a7a5b
Codechange: Store text run positions in vector of points.
...
This simplifies the interlaced vector of x/y positions.
2024-01-19 00:08:31 +00:00
Peter Nelson
f7cc88f370
Codechange: Return vector references instead of pointer to first item.
2024-01-19 00:08:31 +00:00
Rubidium
2f8de227dc
Remove: unused OTTD_ALIGNMENT define and ReadLE16(Un)aligned
2024-01-18 23:29:15 +01:00
Rubidium
ee00c7b159
Codechange: use TO_LE16 directly when reading language file offsets
2024-01-18 23:29:15 +01:00
translators
32b99bf77c
Update: Translations from eints
...
portuguese: 4 changes by azulcosta
2024-01-18 18:40:14 +00:00
Loïc Guilloux
bf4b669628
Fix: [Script] Improve ScriptText validation ( #11721 )
...
The validation is now done in two steps:
- First we get the list of parameters in the same order they used to be in encoded string
- Then we validate the parameter types like FormatString would use them while encoding the string
2024-01-18 18:06:30 +01:00
Peter Nelson
28ef5146ba
Fix #11646 : Non-thread safe shared buffer returned from GetLogPrefix().
...
Return string from GetLogPrefix instead of shared string's buffer.
2024-01-18 17:40:25 +01:00
Patric Stout
2b599c9d00
Fix: [HarfBuzz] make HarfBuzz use the same glyphs as we render
2024-01-18 10:41:01 +01:00
Patric Stout
a24c2bf10a
Codechange: [HarfBuzz] hb-ft will set the scaling on its own
2024-01-18 10:41:01 +01:00
Peter Nelson
7faa3848de
Change: Mark whole screen dirty when toggling font AA. ( #11825 )
2024-01-17 23:04:07 +00:00
Rubidium
4cc97e04e6
Fix #11801 , 51f1e93: CalcClosestTownFromTile needs the kd-tree to be valid
2024-01-17 23:40:19 +01:00
Peter Nelson
0be26f5856
Change: Remove extra padding from query text. ( #11823 )
...
This window uses 'modalpopup' padding so does not need extra padding on its text.
2024-01-17 22:17:14 +00:00
Rubidium
47c0184a0b
Codechange: replace ROR/ROL with std::rotr/rotl
2024-01-17 23:05:40 +01:00
frosch
f457be5a27
Fix #11819 , aa5ba5b: Out-of-bounds access in linkgraph GUI. ( #11821 )
2024-01-17 22:26:33 +01:00
Rubidium
2d77cf9c80
Codechange: replace StrStartsWith/StrEndsWith with starts_with and ends_with
2024-01-17 19:48:22 +01:00
translators
384b804f9c
Update: Translations from eints
...
english (au): 1 change by krysclarke
chinese (simplified): 21 changes by WenSimEHRP
danish: 4 changes by bscargo
french: 2 changes by ottdfevr
portuguese (brazilian): 5 changes by pasantoro
polish: 5 changes by pAter-exe
2024-01-17 18:39:56 +00:00
Peter Nelson
341bdabc70
Fix #11815 , bb491127: Missing brackets prevented vehicles turning properly. ( #11816 )
2024-01-17 13:23:55 +00:00
Jonathan G Rennison
fd0528a9b4
Fix: Excessive switching of horizontal scale for FPS graph 60 Hz categories
2024-01-17 06:34:17 +01:00
Jonathan G Rennison
17d47ba06f
Fix 661bdae2: cargo_payment not cleared when aircraft loading cancelled
2024-01-17 06:33:54 +01:00
Patric Stout
fd073a2810
Remove: replace custom span with std::span
2024-01-17 00:25:08 +01:00
Patric Stout
bb49112784
Codechange: switch our codebase to C++20
2024-01-17 00:25:08 +01:00
Michael Lutz
fd59393899
Fix #11791 , e1f5be62: Run missing-glyph detection after toggling sprite font. ( #11812 )
2024-01-17 00:00:26 +01:00
Rubidium
aa5ba5bd7f
Codechange: allow certain enumeration to be added
...
Otherwise C++20 doesn't like it.
2024-01-16 23:30:23 +01:00
Peter Nelson
7737aa6640
Codechange: Make all NWidgetPart arrays constexpr.
...
This ensures that the arrays are not created at runtime and prevents using non-constexpr values.
2024-01-16 21:57:05 +00:00
Peter Nelson
71b7ba0daa
Codechange: Allow constexpr NWidgetPart construction.
2024-01-16 21:57:05 +00:00
Peter Nelson
a5b6e17556
Codechange: Make geometry methods constexpr.
2024-01-16 21:57:05 +00:00
Peter Nelson
68843e3a96
Codechange: Move WidgetDimensions::unscaled to header to allow const use.
2024-01-16 21:57:05 +00:00
Peter Nelson
7eecd7512f
Codechange: Remove redundant struct keyword.
2024-01-16 21:57:05 +00:00
Patric Stout
6860a86d45
Codechange: remove all u8 prefix in favour of compile-time option ( #11807 )
2024-01-16 21:33:53 +00:00
Patric Stout
6550682b49
Codechange: minor bits and pieces related to fmt::format() ( #11806 )
...
- Don't make run-time formatting what can be done compile-time.
- Be explicit about run-time formatting.
- Fix datetime printing.
2024-01-16 21:10:34 +00:00
Patric Stout
0b7410d979
Codechange: compile-time validate the string format of IConsolePrint ( #11804 )
...
This means we can no longer use runtime picking what string to use.
2024-01-16 21:04:35 +00:00
Patric Stout
8b4c5a6269
Codechange: compile-time validate the string format of SlErrorCorruptFmt ( #11805 )
2024-01-16 20:58:55 +00:00
Peter Nelson
d005e8f8bd
Fix 884b9e66: No need to include extra pixel for pressed state. ( #11803 )
2024-01-16 20:50:46 +00:00
translators
2efd897691
Update: Translations from eints
...
english (au): 4 changes by krysclarke
english (us): 4 changes by 2TallTyler
chinese (simplified): 8 changes by WenSimEHRP
korean: 4 changes by telk5093
russian: 4 changes by Ln-Wolf
finnish: 4 changes by hpiirai
french: 8 changes by ottdfevr
2024-01-16 18:39:39 +00:00
Rubidium
661bdae2e5
Fix #11785 , cf16f45: when bumping aircraft into the air, remove them from the loading vehicle list again
2024-01-16 00:08:19 +01:00
Rubidium
f99793547e
Fix fbd71a9: for TTO savegames, getting the savegame type left the file pointing to the wrong location
2024-01-16 00:08:19 +01:00
Rubidium
d5518f6263
Fix 36a0818: TTO did not save company shares
2024-01-16 00:08:19 +01:00
Rubidium
51f1e939e8
Change: be more resilient against missing towns in old loader
2024-01-16 00:08:19 +01:00
Rubidium
67b405d2f6
Fix #11783 , 953445a: TTO savegames are not 65536 by 65536
2024-01-16 00:08:19 +01:00
Rubidium
f5b320e502
Codechange: use range based for loop, instead of tile numbers
2024-01-16 00:08:19 +01:00
Rubidium
b09a4384d9
Codechange: remove need to use separate array for old_map3
2024-01-16 00:08:19 +01:00
Peter Nelson
8510f7bd00
Fix: NWidgetParts must use unscaled dimensions. ( #11794 )
2024-01-15 23:02:25 +00:00
EmperorJake
64bc07ff4e
Change: Make "middle" the default stopping location for trains in platforms ( #11605 )
2024-01-15 22:10:27 +01:00
Patric Stout
375074577f
Fix: [SDL] remove hint to avoid hardware acceleration ( #11790 )
...
This hint was once needed because of the way we handled surfaces.
But as OpenGL already uses a hardware surface, we already had to
fix all the issues that comes with it. As that is generic code,
this hint is no longer actually needed. Further more, recent SDL
versions break because of it on Wayland.
2024-01-15 21:57:55 +01:00
Loïc Guilloux
b18e78e21d
Change: Redesign script debug window ( #11782 )
2024-01-15 21:41:44 +01:00
Tyler Trahan
68814bd912
Codechange: Rename SIGTYPE_NORMAL to SIGTYPE_BLOCK ( #11788 )
2024-01-15 15:27:48 -05:00
Tyler Trahan
4a194482ea
Fix e1f5be6: Typo when selecting traditional sprite font ( #11789 )
2024-01-15 20:24:26 +00:00
translators
a1690d5b7b
Update: Translations from eints
...
portuguese (brazilian): 1 change by pasantoro
2024-01-15 18:39:20 +00:00
Jonathan G Rennison
94e74a45c2
Fix: Viewport virt coords not updated when sprite font toggled ( #11784 )
2024-01-15 19:16:04 +01:00
Peter Nelson
53fa54f8e9
Fix e1f5be62: Clear font cache when toggling sprite font. ( #11780 )
...
This is necessary for the sprite font height and ascender to be updated correctly.
2024-01-15 00:21:11 +00:00
Patric Stout
32fc740582
Fix: [SDL2] fullscreen always used the resolution of the first display ( #11779 )
2024-01-14 22:41:51 +00:00
Patric Stout
302ba93471
Fix: [SDL2] only resolutions of the first display were shown ( #11778 )
2024-01-14 22:25:54 +00:00
Michael Lutz
e1f5be6244
Add: GUI options to select sprite font and AA mode for all fonts.
2024-01-14 22:50:56 +01:00
Michael Lutz
20f1a0dc57
Fix: [OSX] Spurious log message when a sprite glyph was layouted.
2024-01-14 22:50:56 +01:00
Michael Lutz
36cf6b1d13
Feature: Scalable OpenTTD TrueType font made by Zephyris.
...
This uses the normal variant for the small font, not the all-caps version.
2024-01-14 22:50:56 +01:00
Michael Lutz
6e766a2e81
Change: Allow TrueType fonts to provide our private-use glyphs.
2024-01-14 22:50:56 +01:00
Loïc Guilloux
37610af0e4
Fix: Don't replace stripped characters with '?' in console ( #11777 )
2024-01-14 21:49:42 +00:00
Rubidium
564441e822
Remove: Debug redirect over network
...
It does not work for dedicated servers because upon starting the process to
resolve the address to redirect to gets killed. Also with all the async going
on in the network code, the debug redirection will start very late in the
process.
2024-01-14 22:14:31 +01:00
Peter Nelson
a6873ef7dd
Codechange: Avoid repeatedly calling virtual methods in text drawing loop. ( #11774 )
2024-01-14 19:06:50 +00:00
translators
e8d6b496c2
Update: Translations from eints
...
english (au): 1 change by krysclarke
english (us): 1 change by 2TallTyler
chinese (simplified): 9 changes by WenSimEHRP
korean: 1 change by telk5093
russian: 1 change by Ln-Wolf
finnish: 1 change by hpiirai
danish: 2 changes by bscargo
french: 2 changes by ottdfevr
portuguese: 1 change by azulcosta
2024-01-14 18:39:10 +00:00
Peter Nelson
f219557cf2
Codechange: List functions in gui.h under correct source file. ( #11775 )
2024-01-14 18:12:40 +00:00
Peter Nelson
71aaed860b
Codechange: Missing some conversions to WidgetID. ( #11773 )
2024-01-14 16:47:10 +00:00
Loïc Guilloux
93ba6d6776
Fix: compilation without precompiled headers ( #11770 )
2024-01-14 13:27:03 +01:00
Peter Nelson
e3bb6497f7
Codechange: Don't assume game options widget is a dropdown list.
2024-01-14 11:41:11 +00:00
Peter Nelson
8ca867ef63
Codechange: Replace game options' style-breaking if-condition with switch.
2024-01-14 11:41:11 +00:00
translators
341d022024
Update: Translations from eints
...
chinese (simplified): 141 changes by WenSimEHRP
russian: 3 changes by Ln-Wolf
danish: 6 changes by bscargo
latvian: 10 changes by lexuslatvia
dutch: 16 changes by Afoklala
french: 2 changes by ottdfevr
2024-01-13 18:38:17 +00:00
Jonathan G Rennison
b3f31a6523
Fix #11696 : Graphics set parameters missing from survey data ( #11764 )
2024-01-12 21:53:31 +00:00
Jonathan G Rennison
479490d7e8
Codechange: Remove unnecessary vector for writing GRF parameter JSON ( #11763 )
2024-01-12 21:38:31 +00:00
Loïc Guilloux
54b57fbfeb
Codechange: [Script] Use ScriptList::FillList() in more locations ( #11762 )
2024-01-12 21:19:08 +01:00
Tyler Trahan
60da6b992e
Fix #4415 : Land info build date is also renovation date ( #11759 )
...
Co-authored-by: Gadg8eer <64449092+Gadg8eer@users.noreply.github.com>
2024-01-12 14:27:33 -05:00
Loïc Guilloux
03df70ce8a
Fix #11752 : [Win32] Wrong multi-line text layout due to incorrect partial run handling ( #11761 )
2024-01-12 19:40:08 +01:00
Loïc Guilloux
28efa65e0c
Revert a2edf52: SQOpsLimiter does a more precise job ( #11754 )
2024-01-12 17:04:43 +01:00
Jonathan G Rennison
1101b04371
Fix: Build button text when train purchase window using "Engines" filter
2024-01-12 16:34:39 +01:00
Rubidium
32ab765792
Fix #11485 : new run on same line must not use last_space of previous run as cut-off point
...
Use the start of the next run instead as the location of the last space.
2024-01-12 16:31:29 +01:00
translators
94d31864b3
Update: Translations from eints
...
chinese (simplified): 16 changes by WenSimEHRP
arabic (egypt): 23 changes by AviationGamerX
korean: 1 change by telk5093
portuguese (brazilian): 10 changes by pasantoro
polish: 4 changes by pAter-exe
2024-01-11 18:39:13 +00:00
Patric Stout
d3ee045c2d
Codechange: refactor the Windows-only DllLoader in a cross-platform LibraryLoader ( #11751 )
2024-01-10 21:38:58 +00:00
Loïc Guilloux
f7bd70baec
Fix #11748 : Incorrect clamping of negative service interval values ( #11749 )
2024-01-10 16:23:36 +01:00
Jonathan G Rennison
86b046cd26
Fix: Incorrect assertion in GetTileIndexFromLocalCoordinate ( #11747 )
2024-01-10 00:20:34 +00:00
Peter Nelson
8f2266f0ed
Codechange: Use range-for when validating and finalising industries. ( #11744 )
2024-01-09 22:36:09 +00:00
Jonathan G Rennison
09eefd6e95
Cleanup: Remove unused constant YAPF_SHIP_PATH_CACHE_LENGTH
2024-01-09 20:58:51 +01:00
Jonathan G Rennison
c1b421c0c3
Fix: Clear one way state when removing road from road+tram tile
2024-01-09 20:57:53 +01:00
Peter Nelson
97e2bc612c
Codechange: Rename and move SpriteGroup-specific cargo types into a namespace.
...
These 'cargo types' have special defined uses and must not be used elsewhere. This makes it clearer that they are special.
2024-01-09 18:56:05 +00:00
Peter Nelson
400ae65ff2
Codechange: Redefine some cargo-related values in terms of CargoID instead of CargoType.
...
Values used as special filter types are now defined as offsets from NUM_CARGO instead of confusingly reusing CARGO_NO_REFIT/CARGO_AUTO_REFIT types.
2024-01-09 18:56:05 +00:00
Peter Nelson
952d111b94
Codechange: Split CT_INVALID into CT_INVALID and INVALID_CARGO.
...
INVALID_CARGO is a CargoID and should be used for most purposes in game.
CT_INVALID is a CargoType used for defining default properties.
2024-01-09 18:56:05 +00:00
translators
4fd986bd07
Update: Translations from eints
...
english (au): 7 changes by krysclarke
english (us): 7 changes by 2TallTyler
chinese (simplified): 6 changes by WenSimEHRP
serbian: 39 changes by DoLoop216
russian: 3 changes by Ln-Wolf
finnish: 4 changes by hpiirai
portuguese: 10 changes by azulcosta
polish: 34 changes by pAter-exe
2024-01-09 18:38:30 +00:00
Loïc Guilloux
c86d918921
Add: [Script] Optional filter parameter to more ScriptXXXList constructors ( #11698 )
2024-01-09 09:39:13 +01:00
Kuhnovic
f1e999ec59
Feature: Region-based pathfinder for ships ( #10543 )
2024-01-08 20:29:05 +01:00
translators
9a7c4dda52
Update: Translations from eints
...
english (au): 3 changes by krysclarke
english (us): 3 changes by 2TallTyler
chinese (simplified): 5 changes by WenSimEHRP
korean: 3 changes by telk5093
russian: 3 changes by Ln-Wolf
finnish: 3 changes by hpiirai
french: 5 changes by Lishouuu
2024-01-08 18:40:07 +00:00
Tyler Trahan
56dd8497e0
Fix: Use consistent wording on waypoint button tooltip ( #11700 )
2024-01-07 21:11:25 +00:00
Kaspars Putniņš
cfc14a57e1
Add: Latvian Lats currency ( #11691 )
2024-01-07 16:03:38 -05:00
Jonathan G Rennison
4b48d3b5fe
Fix: String gender scan with SCC_INDUSTRY_NAME ( #11697 )
2024-01-07 15:48:47 -05:00
Tyler Trahan
948651d086
Fix: Use consistent wording for lorry stations ( #11699 )
2024-01-07 15:45:35 -05:00
translators
6bf7a86a04
Update: Translations from eints
...
english (us): 2 changes by 2TallTyler
korean: 2 changes by telk5093
danish: 2 changes by bscargo
2024-01-07 18:38:14 +00:00
Tyler Trahan
1e56bd1e5a
Change: Reorganize Settings menu items ( #11683 )
2024-01-07 08:44:50 -05:00
translators
0a8c0d62ee
Update: Translations from eints
...
chinese (simplified): 103 changes by WenSimEHRP
latvian: 2 changes by lexuslatvia
2024-01-06 18:39:19 +00:00
Rubidium
3a676a5af0
Codechange: replace static inline with static for non-class functions
2024-01-06 13:37:33 +01:00
Peter Nelson
06a5fa6239
Codechange: Use CompanyMask to pass Companies to PopupMainCompanyToolbMenu().
...
It's like the type was designed for it.
2024-01-05 22:26:07 +00:00
Peter Nelson
6828b6014a
Codechange: Use company group statistics to test for vehicles for drop down list state.
...
This avoids iterating full the vehicle pool to find out if a company has any vehicles of a particular type.
2024-01-05 22:26:07 +00:00
SamuXarick
847f3f660d
Fix #10511 : Delay 'go to nearest depot' orders ( #11548 )
...
Delay the nearest depot order search for a day if the vehicle can't find its destination, which happens when it has already attempted to do so and failed to find a valid destination.
2024-01-05 21:23:01 +00:00
Peter Nelson
7a5106042f
Codechange: Use CompanyMask and company group statistics for auto clean tests. ( #11693 )
...
This function does not need to know how many vehicles there are, only that there is at least one.
2024-01-05 20:58:24 +00:00
Peter Nelson
34e8c8e1c1
Codechange: Build station and depot vehicle lists from shared order lists. ( #11676 )
...
The brings some performance advantages:
* No need to iterate all vehicles and check for primary vehicle as only vehicles that can have orders are listed.
* Shared orders only need to be tested once instead of for each vehicle sharing them.
* Vehicle tests only need to be performed on the first shared vehicle instead of all.
2024-01-05 18:59:38 +00:00
Patric Stout
7788b68bbe
Fix: don't unneededly block on transmitting survey on exit ( #11687 )
2024-01-05 18:54:00 +00:00
Patric Stout
28e2576589
Fix: race-condition when quitting the game with libcurl ( #11688 )
...
There could be a callback in _new_http_callbacks that is not
processed yet. All callbacks in _http_callbacks were cancelled,
but not the ones in _new_http_callbacks
2024-01-05 18:48:21 +00:00
translators
8bc473766b
Update: Translations from eints
...
english (au): 2 changes by krysclarke
chinese (simplified): 6 changes by WenSimEHRP
russian: 2 changes by Ln-Wolf
finnish: 2 changes by hpiirai
dutch: 6 changes by Afoklala
portuguese: 5 changes by azulcosta
portuguese (brazilian): 2 changes by ericandradex
polish: 4 changes by pAter-exe
2024-01-05 18:38:36 +00:00
glx22
7bfc766f94
Fix: [Script] document return type of member GSIndustry::GetProductionLevel
2024-01-05 19:17:08 +01:00
glx22
707e8001be
Fix #11689 : properly close DOXYGEN_API block
2024-01-05 19:17:08 +01:00
Peter Nelson
623df6b94f
Codechange: Get count of road vehicles by summing company group statistics data in small UFO handler. ( #11690 )
...
This avoids needing to iterate the complete vehicle pool. Company group statistics are maintained elsewhere already.
The vehicle pool is still iterated later to find the nth random road vehicle.
2024-01-05 13:13:55 +00:00
Peter Nelson
91ea8e3fa6
Codechange: Use locals for company/deity mode during script loops. ( #11686 )
2024-01-05 08:32:43 +00:00
Peter Nelson
06050f7bb3
Fix: Pass townnameparts as parameter when testing townname based companyname. ( #11685 )
...
Length of returned string could vary and pass/fail the length check with a different
string than the final selection.
2024-01-04 23:10:54 +00:00
Peter Nelson
7482f71692
Change: Don't handle 'missing' string parameters as 0. ( #11673 )
...
If not enough parameters are supplied for a string, then a value of 0 was used, which could result in incorrect information being displayed.
Instead, throw an exception and include an error in the string.
2024-01-04 20:50:58 +00:00
translators
c44faf4eea
Update: Translations from eints
...
english (us): 2 changes by 2TallTyler
chinese (simplified): 39 changes by WenSimEHRP
polish: 29 changes by pAter-exe
2024-01-04 18:39:48 +00:00
Jonathan G Rennison
5db9266f4b
Change: Allow STRING/STRINGN to use all remaining parameters in game script mode
2024-01-04 17:45:33 +00:00
Jonathan G Rennison
e2a79f0f32
Codechange: No longer advance parent offset in StringParameters parent mode
...
Add method to manually advance offset
2024-01-04 17:45:33 +00:00
EmperorJake
6522351a1f
Feature: Setting to disable the loading speed penalty for trains longer than the station
2024-01-04 16:59:11 +01:00
Rubidium
e3f49ee7a0
Codechange: coding style fixes
2024-01-04 16:23:54 +01:00
Jonathan G Rennison
0075364c89
Fix: curl_global_cleanup called before libcurl HTTP thread exited
2024-01-04 13:41:24 +01:00
Jonathan G Rennison
51ef416b49
Fix: libcurl HTTP thread race at uninit preventing thread exit
2024-01-04 13:41:24 +01:00
George Abraham
4fcd94a1cb
Update: replace the cedilla characters with comma ones for Romanian ( #11665 )
...
This is specifically for s-cedilla and t-cedilla to their comma variants.
These variants, especially in smaller font sizes, look almost identical but
they are different. Currently the translation uses a mix of the cedilla and
comma variants, where the cedilla ones are often in the older strings.
Replace reinnoi with innoi, as it is the correct form.
2024-01-03 20:56:07 +01:00
translators
799455abf7
Update: Translations from eints
...
latvian: 2 changes by lexuslatvia
portuguese (brazilian): 1 change by pasantoro
2024-01-03 18:39:18 +00:00
Peter Nelson
3864902683
Codechange: Use vehicle viewport hash to find clicked vehicle. ( #11675 )
...
This avoids having to iterate all vehicles, which can be an performance improvement when there are many vehicles.
2024-01-03 18:36:34 +00:00
Patric Stout
aef49e9933
Fix: race-conditions in GUI updates when downloading HTTP files ( #11639 )
2024-01-02 22:05:25 +01:00
translators
344bdafb53
Update: Translations from eints
...
latvian: 8 changes by lexuslatvia
polish: 1 change by pAter-exe
2024-01-02 18:40:54 +00:00
Krys Clarke
1cdafcd7ac
Fix: Missing word in conditional order comparator ( #11632 )
2024-01-02 18:29:25 +00:00
Peter Nelson
ae3352582a
Fix: Autorenew failed message consumes arguments. ( #11669 )
2024-01-02 18:08:04 +00:00
Jonathan G Rennison
48b6b1844a
Change: Limit total script ops that can be consumed by a list valuate ( #11670 )
2024-01-02 19:02:12 +01:00
Jonathan G Rennison
502a52edd5
Fix: Spurious cancellations of HTTP content downloads ( #11668 )
2024-01-01 19:13:29 +00:00
translators
3e4dee6d0c
Update: Translations from eints
...
english (us): 11 changes by 2TallTyler
korean: 29 changes by telk5093
2024-01-01 18:38:47 +00:00
Jonathan G Rennison
88324a253e
Fix #11644 : Off by one error/buffer over-read in StrMakeValid ( #11645 )
...
* Fix #11644 : Off by one error in StrMakeValid UTF-8 decode overrun detection
* Fix #11644 : Off by one error in StrMakeValid buffer last character
* Fix: Unnecessary string duplication at StrMakeValid call sites
2024-01-01 13:26:31 -05:00
Loïc Guilloux
a672813bb0
Add: [Script] Optional filter parameter to ScriptVehicleList constructor ( #11663 )
2024-01-01 01:07:47 +01:00
Loïc Guilloux
f56a2d0f82
Fix: Missing invalidations on gui.ai_developer_tools change ( #11664 )
2024-01-01 00:43:10 +01:00
Jonathan G Rennison
3e2060f155
Fix #11337 : Station blocked/pylon/wire bits with CBID_STATION_TILE_LAYOUT ( #11656 )
2023-12-31 18:31:01 -05:00
translators
13348b7790
Update: Translations from eints
...
galician: 13 changes by Xocko12
catalan: 47 changes by J0anJosep
latvian: 14 changes by lexuslatvia
french: 11 changes by ottdfevr
portuguese: 52 changes by azulcosta
2023-12-31 18:38:20 +00:00
Peter Nelson
934545a674
Fix: Calculation of initial engine age was inaccurate. ( #11660 )
...
Engine age in months was calculated as the difference in days / 32, instead of the actually difference in months. This would result in engines being artificially younger if a game was started at a later date.
2023-12-31 15:47:32 +00:00
Peter Nelson
7124b4eef1
Codechange: Use std::unique_ptr for all NWidgets.
2023-12-31 15:33:56 +00:00
Peter Nelson
9a3934ae23
Codechange: Use vector/unique_ptr inside widget containers.
...
This replaces a C-style double-linked-list which required all widgets
to have next/prev pointers, and removes the need for manual pointer management.
2023-12-31 15:33:56 +00:00
Peter Nelson
628092f133
Codechange: Use GetParentWidget to find widget's NWidgetMatrix container.
2023-12-30 22:02:37 +00:00
Peter Nelson
c2c65d66ba
Codechange: Add GetParentWidget() to widgets.
...
This allows to get parent widgets in the nested tree from bottom-up.
2023-12-30 22:02:37 +00:00
Peter Nelson
8ff0bef862
Codechange: Make widget index const to prevent changes. ( #11658 )
...
This guards against future widget index manipulation.
2023-12-30 18:55:16 +00:00
translators
fd782ada05
Update: Translations from eints
...
russian: 11 changes by lexuslatvia
finnish: 12 changes by hpiirai
latvian: 217 changes by lexuslatvia
2023-12-30 18:38:27 +00:00
Peter Nelson
6215e9bf77
Fix #11655 : Crash due to NWidgetMatrix modifying widget->index. ( #11657 )
...
NWidgetMatrix modifies its child widget's index to indicate which element
is to be drawn, which now causes issues with code that does not know about
stuffing extra data into the index.
Instead, let NWidgetMatrix store the currently processing element, and
retrieve this information from the matrix widget while child widgets are
being drawn.
This means only widgets that are children of NWidgetMatrix need to know
anything about their extra data.
2023-12-30 18:24:26 +00:00
Charles Pigott
1e60734660
Fix: Compilation with DEBUG_DUMP_COMMANDS enabled ( #11607 )
2023-12-30 17:46:32 +00:00
Peter Nelson
f3b4d2a384
Fix #11649 : Ignore disabling a widget that does not exist. ( #11652 )
...
Orders window has different widget layouts depending on vehicle type
which don't all have the same widgets, and therefore it tries to disable
widgets that might not exist.
Restore the old behaviour of ignoring such requests, instead of crashing.
2023-12-30 13:29:31 +00:00
Peter Nelson
268e512fb8
Codechange: Set storage type of widget enums to WidgetID.
2023-12-30 00:23:57 +00:00
Peter Nelson
a0dfb76e34
Codechange: Replace mishmash of types for widget index with WidgetID.
...
Indices were stored as int, but often passed around as uint/uint8_t and casts.
Now they should all use WidgetID.
2023-12-30 00:23:57 +00:00
Peter Nelson
fd84f73323
Fix #11643 : Empty area at top of survey preview. ( #11647 )
...
Empty area at the top of some textfile windows due to calling
SetDisplayedPlane() after calling FinishInitNested(), and/or changing
the displayed plane and not calling ReInit() after.
This was previously hidden by CheckForMissingGlyphs() reinitialising
all windows anyway.
2023-12-30 00:19:27 +00:00
Peter Nelson
b86182ab84
Codechange: Use std::map to provide indexed widget access.
...
This removes the need to determine the biggest widget index and replaces C-style memory handling.
2023-12-29 18:45:43 +00:00
Peter Nelson
a12f426d69
Codechange: Rename nested array to widget lookup.
...
This changes from naming storage-type to naming functionality.
* `FillNestedArray` is renamed to `FillWidgetLookup`.
* `Window::nested_array` is renamed to `Window::widget_lookup`.
* `array` parameter renamed as well.
2023-12-29 18:45:43 +00:00
translators
a8e587632a
Update: Translations from eints
...
danish: 3 changes by bscargo
dutch: 10 changes by Afoklala
2023-12-29 18:38:59 +00:00
Peter Nelson
feb94d233d
Codechange: Remove deferred nested_array initialization path. ( #11640 )
...
Having two ways (`FillNestedArray` and `SetupSmallestSize`) to initialize
`Window::nested_array` introduces confusion.
Instead, make `FillNestedArray` the canonical way, always call it, and remove
init_array from `SetupSmallestSize`.
2023-12-29 14:27:04 +00:00
Patric Stout
11ba951250
Fix: race-condition when creating new HTTP requests from different threads ( #11638 )
2023-12-29 12:45:23 +01:00
Peter Nelson
5d2ed80c95
Fix: Changing group parent did not properly update partially-default liveries.
2023-12-28 23:16:19 +00:00
Peter Nelson
bfb4254226
Fix: Changing default livery did not propagate to group liveries.
...
#11614 attempted to address this but did not handle 2CC properly, and changes to the default livery were not handled.
2023-12-28 23:16:19 +00:00
Jonathan G Rennison
3b18877b87
Fix #11629 : AirportGetNearestTown for rotated airports ( #11631 )
...
Add rotation parameter to AirportGetNearestTown
Add wrapper for existing stations
Remove unnecessary iterator cloning
2023-12-28 21:43:05 +00:00
Peter Nelson
33ff64ef74
Codechange: Simplify ConvertDateToYMD by returning YearMonthDay instead of outputting to a pointer. ( #11637 )
2023-12-28 21:34:08 +00:00
Peter Nelson
bd3b28551e
Codechange: Replace reliability magic numbers with constants.
...
These are derived as a percentage of UINT16_MAX.
2023-12-28 21:26:24 +00:00
Peter Nelson
7b2c143df0
Fix: Prevent underflow if engine base life is less than 8 years.
2023-12-28 21:26:24 +00:00
translators
ead5ad119c
Update: Translations from eints
...
english (au): 11 changes by krysclarke
danish: 9 changes by bscargo
portuguese (brazilian): 10 changes by pasantoro
2023-12-28 18:38:31 +00:00
translators
ce6a65d7b5
Update: Translations from eints
...
english (au): 2 changes by krysclarke
chinese (simplified): 37 changes by WenSimEHRP
romanian: 28 changes by bnegrut
russian: 13 changes by Ln-Wolf
finnish: 36 changes by hpiirai
danish: 16 changes by bscargo
dutch: 17 changes by Afoklala
2023-12-27 18:38:01 +00:00
Jonathan G Rennison
2b914c7a2f
Fix: Memory leak in WindowDescTestsFixture
2023-12-26 23:48:59 +01:00
Rubidium
e0c670cbe8
Codechange: replace NULL with nullptr
2023-12-26 07:18:52 +01:00
Rubidium
2072e532f7
Codechange: replace NULL with nullptr
2023-12-26 07:18:52 +01:00
Peter Nelson
a2a7ecf88e
Fix 9ce1626b: Some blitters have `bp->remap` aliased to `remap` for performance. ( #11626 )
...
While this probably doesn't make a huge difference for the custom transparent remap code path, the alias is there so use it.
2023-12-25 20:59:37 +00:00
Peter Nelson
fdf6cbf848
Change: Scale sprites to requested highest resolution level. ( #11600 )
...
Sprites from graphics sets which only provide high resolution sprites are now scaled up from scaled down versions.
2023-12-25 20:08:13 +00:00
SamuXarick
947e77267a
Doc 0ca4b4e: Script debug window numbers are now ascending ( #11623 )
2023-12-25 18:42:29 +01:00
Loïc Guilloux
6c5a4aa2cb
Fix 2d3af14: Don't draw script log over panel borders ( #11621 )
2023-12-25 18:42:13 +01:00
Peter Nelson
9ce1626bb4
Change: Support custom transparency remaps with 32bpp blitters.
...
This closes a 15 year old TODO...
2023-12-25 11:22:52 +00:00
Peter Nelson
0bc22dd310
Add: 32bpp-to-8bpp palette index lookup.
...
Lookups are calculated on demand and caches in a 256KB in-memory table.
2023-12-25 11:22:52 +00:00
Peter Nelson
daec0e2ca4
Codechange: Split palette handling to separate file.
2023-12-25 11:22:52 +00:00
Peter Nelson
4ecc107d30
Codechange: Perform simpler comparison first when checking for palette updates.
...
This avoids unnecessarily comparing contents of an array.
2023-12-25 11:22:52 +00:00
Loïc Guilloux
af8b8c2cfc
Fix 4a2038e301: fully restore script break filter on reopen ( #11622 )
2023-12-24 00:08:18 +00:00
Peter Nelson
c0cdf3460e
Change: Rename Standard Livery to Default Livery.
2023-12-23 13:45:35 +00:00
Peter Nelson
3436b5f090
Change: Show a message in livery window if vehicle type has no groups.
2023-12-23 13:45:35 +00:00
Peter Nelson
513c7e7b53
Change: Add distinct tooltips for vehicle group colour schemes.
2023-12-23 13:45:35 +00:00
Peter Nelson
eda0dd24fe
Change: Remove hardcoded minimum sizes and allow resize.
...
This stops the window being needlessly large.
2023-12-23 13:45:35 +00:00
Peter Nelson
0949eddd55
Change: Move colour selection dropdowns to bottom of window.
...
This stops them looking similar to how filter controls are used elsewhere,
and matches action dropdowns on other windows.
2023-12-23 13:45:35 +00:00
Peter Nelson
5cb7a16edc
Fix #11618 : Don't try to display unavailable zoom levels in sprite aligner. ( #11619 )
2023-12-23 13:17:33 +00:00
Darragh
acfe367507
Fix #11442 : "default" colour in group colour window is not updated when changing master colour ( #11614 )
...
Updated SelectCompanyLiveryWindow.DrawWidget method to check if a group's livery.in_use 0 bit is set, rendering the company's default colour if it has not been.
2023-12-22 17:56:09 +01:00
Peter Nelson
fd0aa3dd19
Fix #11515 : Zoom level could wrap around when changing interface scale. ( #11615 )
...
This happened due to converting the new value to unsigned before clamping instead of after.
2023-12-22 15:23:42 +00:00
Peter Nelson
c1afbc9415
Fix: Update widget dimensions before updating viewport signs. ( #11611 )
...
Viewport signs used fullbevel WidgetDimensions before it was updated for the new interface scale.
2023-12-20 22:10:05 +00:00
Loïc Guilloux
2d3af14181
Add: Horizontal scroll for script debug log ( #11597 )
2023-12-20 22:50:03 +01:00
Peter Nelson
0ca4b4e146
Change: Allow opening multiple script debug windows by holding Ctrl.
2023-12-20 20:39:07 +00:00
Peter Nelson
4a2038e301
Codechange: Make script debug window filter state per-window.
2023-12-20 20:39:07 +00:00
Peter Nelson
b85ecf9ac2
Codechange: Replace pointer to Sprite array with reference to SpriteCollection. ( #11580 )
...
Add `SpriteLoader::SpriteCollection` type which is an array of `SpriteLoad::Sprite`.
This removes the ambiguity of what `SpriteLoader::Sprite *` is pointing to,
and cleans up mismatches using both dereference -> and array access [] for the
same object.
2023-12-20 20:38:21 +00:00
Peter Nelson
7466c3c39e
Fix: Draw unavailable mask over picker sprite instead of behind it.
...
This makes these disabled picker buttons consistent with other disabled buttons.
2023-12-20 09:29:28 +00:00
Peter Nelson
712a4bb40b
Fix: Prevent picker preview sprites from overflowing button bevel.
2023-12-20 09:29:28 +00:00
Peter Nelson
313ee13e5f
Codechange: Add Rect version of FillDrawPixelInfo().
...
This simplifies most callers as they longer have to split out a rect.
2023-12-20 09:29:28 +00:00
Finn Willard
3a42340db3
Add: Hotkey to focus industry directory filter box
...
Co-authored-by: Tyler Trahan <tyler@tylertrahan.com>
2023-12-19 11:23:37 -05:00
Finn Willard
7d3ae4a058
Add: Hotkey to focus town directory filter box
...
Co-authored-by: Tyler Trahan <tyler@tylertrahan.com>
2023-12-19 11:23:37 -05:00
Tyler Trahan
e8d2ebb016
Fix: Add missing includes to timers from script implementation files ( #11604 )
2023-12-19 14:09:46 +00:00
SamuXarick
fddcaef74a
Codechange: Use town zone constants instead of magic numbers
2023-12-18 22:12:43 +01:00
translators
9b7a5bc876
Update: Translations from eints
...
vietnamese: 1 change by KhoiCanDev
danish: 4 changes by bscargo
2023-12-18 18:39:11 +00:00
Peter Nelson
b19a6c3b81
Fix: Window width/height was doubly-scaled with automatic DPI switch. ( #11598 )
2023-12-18 13:05:06 +00:00
SamuXarick
c05ffb22bd
Fix #10452 : Don't let AyStar max_search_nodes unattended when initializing ( #11544 )
...
Add a constant with the default value of 10000 and have the pathfinding settings refer to it.
Add a preventative method to AyStar when it's initializing, to limit the number of max_search_nodes if left unattended.
2023-12-17 22:50:53 +01:00
translators
8ab3838387
Update: Translations from eints
...
vietnamese: 20 changes by KhoiCanDev
italian: 5 changes by Rivarossi
2023-12-17 18:37:38 +00:00
Peter Nelson
661e0cd82d
Fix: Make compact picker windows expand to fill if necessary. ( #11591 )
2023-12-16 23:08:42 +00:00
translators
651343d69e
Update: Translations from eints
...
english (au): 17 changes by krysclarke
english (us): 17 changes by 2TallTyler
italian: 30 changes by Rivarossi
russian: 17 changes by Ln-Wolf
french: 36 changes by ottdfevr
portuguese (brazilian): 30 changes by pasantoro
2023-12-16 18:36:51 +00:00
translators
0e6038f0e5
Update: Translations from eints
...
english (us): 19 changes by 2TallTyler
vietnamese: 14 changes by KhoiCanDev
turkish: 26 changes by BeratSJ
dutch: 19 changes by Afoklala
2023-12-15 18:38:09 +00:00
Tyler Trahan
8816c9dd26
Change: Improve and standardize wording of World Generation helptexts
2023-12-15 09:57:44 -05:00
Tyler Trahan
1343d7e25a
Change: Don't mention TerraGenesis in setting helptexts
...
We no longer show the land generator in the World Generation GUI, so this is less important to explain in tooltips.
2023-12-15 09:57:44 -05:00
Tyler Trahan
1e8aa9ce22
Add: Use more tooltips in World Generation GUI
2023-12-15 09:57:44 -05:00
Peter Nelson
302e8852c1
Fix: Crash if squirrel compatibility scripts cannot be parsed. ( #11589 )
2023-12-15 01:25:36 +00:00
Loïc Guilloux
7726f8f245
Fix: [Script] Properly store the previous AsyncMode state ( #11587 )
2023-12-14 21:29:44 +00:00
Peter Nelson
bbf3028f89
Fix #11585 : Crash when cleaning AI/GS with nested AsyncMode.
...
Do not throw sanity check when in_shutdown is true. This is also applied to
ExecMode and TestMode as they follow the same pattern.
2023-12-14 20:54:31 +00:00
Peter Nelson
47dd04d16c
Fix: Don't crash when saving a crashlog save with no main window open.
2023-12-14 20:54:31 +00:00
Peter Nelson
da2d21f5b0
Fix: Left-over printf-style format passed to fmt. ( #11584 )
2023-12-14 19:35:35 +00:00
translators
63c006a174
Update: Translations from eints
...
korean: 20 changes by telk5093
danish: 13 changes by bscargo
portuguese (brazilian): 18 changes by pasantoro
2023-12-14 18:38:27 +00:00
Jonathan G Rennison
97b86b7147
Codechange: Use MakeParameters with GetNextParameter in FormatString ( #11583 )
...
Instead of StringParameters subspan, to avoid GSs being able to
cause subspan boundary assertion failures
2023-12-14 10:41:31 -05:00
Peter Nelson
12bb750128
Codechange: Cargo filters no longer take an index. ( #11582 )
...
Update naming of functions to reflect that parameter is now a cargoid.
2023-12-14 01:48:45 +00:00
Peter Nelson
d6515d6c98
Fix 0a8bcdd: Scaling non-sprite fonts does not depend on _font_zoom changing. ( #11579 )
2023-12-13 19:51:44 +00:00
translators
8e05001001
Update: Translations from eints
...
english (au): 18 changes by krysclarke
russian: 18 changes by Ln-Wolf
2023-12-13 18:38:37 +00:00
Peter Nelson
6c5aeae01b
Fix #11577 : Extra viewport opened in wrong location. ( #11578 )
...
ExtraViewportWindow calls IninitializeViewport() with focus as 0, which is ambiguous as focus should be either a TileIndex or a VehicleID.
Instead, pass the tile and let InitializeViewport() handle setting all the coordinates.
2023-12-13 02:19:16 +00:00
Peter Nelson
0a8bcdd344
Change: Be selective about clearing sprite/font caches on interface scale change. ( #11576 )
...
Sprite cache contains all zoom levels anyway, so does not need to be reloaded.
Font cache does not need to be clear if the font zoom hasn't changed, i.e. when changing the max sprite zoom level setting.
2023-12-11 21:03:54 +00:00
translators
b62fafc5d4
Update: Translations from eints
...
english (au): 1 change by krysclarke
italian: 1 change by Rivarossi
german: 7 changes by SecretIdetity
russian: 1 change by Ln-Wolf
danish: 1 change by bscargo
french: 1 change by glx22
2023-12-11 18:39:36 +00:00
Peter Nelson
dc27f1649a
Fix e2425b7: Sprites no longer refreshed if max zoom level changed.
...
Handle this via AdjustGUIZoom() instead.
2023-12-11 14:16:49 +00:00
Peter Nelson
162ffc288d
Fix e2425b7: WidgetDimensions and depot sizes not set up if blitter forced.
...
Set up WidgetDimensions and depot sizes during InitWindowSystem().
2023-12-11 14:16:49 +00:00
Tyler Trahan
2bada59193
Feature: Mode to display timetable in seconds
2023-12-11 07:12:45 -05:00
Tyler Trahan
2a62caa30b
Codechange: Use Ticks for BaseConsist timetable fields
2023-12-11 07:12:45 -05:00
Tyler Trahan
051abb2fad
Change: Don't show scoring year in high score table ( #11546 )
2023-12-10 18:05:51 -05:00
Peter Nelson
6e8c27b8e5
Change: Hide bevel for resizeable sparse layout windows. ( #11572 )
...
When clicked, the button is still highlighted to show that it is active.
The bevel is controlled with widget_data by RWV_SHOW_BEVEL or RWV_HIDE_BEVEL values.
2023-12-10 17:25:36 +00:00
SamuXarick
a3d56e2c6e
Fix: Prevent overflow when calculating max town noise ( #11564 )
...
Max town noise could overflow if the population was high enough. The value is now clamped.
2023-12-10 15:42:55 +00:00
Peter Nelson
09251d993c
Change: Use sparse padding for network server list. ( #11571 )
2023-12-10 14:48:58 +00:00
Peter Nelson
102fc6a9d1
Cleanup: iif should be iff (if-and-only-if) ( #11570 )
2023-12-10 12:05:28 +00:00
Peter Nelson
8186182e4c
Codechange: Set displayed plane earlier to avoid ReInit.
2023-12-10 12:01:55 +00:00
Peter Nelson
fb60f8f2f5
Codechange: Simplify BuildRailStationWindow initialization.
2023-12-10 12:01:55 +00:00
Peter Nelson
66b064cbad
Codechange: Use return value of SetDisplayedPlane to simplify CompanyWindow.
2023-12-10 12:01:55 +00:00
Peter Nelson
ebf299e1b4
Codechange: Make SetDisplayedPlane return whether the plane changed or not.
2023-12-10 12:01:55 +00:00
Peter Nelson
d6060a4d47
Change: Use sparse padding for start network server window. ( #11569 )
2023-12-09 23:35:46 +00:00
Peter Nelson
a759d35f26
Fix #11352 : Draw all network server info as multiline strings. ( #11567 )
...
This also allows the 'header' (which is not actually a widget) to grow
as necessary to fit the server name.
2023-12-09 20:43:36 +00:00
Peter Nelson
c0ea0589b4
Fix: AirportGetNearestTown incorrectly assumed first TileIterator result was origin. ( #11565 )
...
Not all TileIterators are equal, and some do not start at the top-corner, so the perimeter check was wrong. As the caller already has thie origin tile, use that instead.
2023-12-09 09:47:41 +00:00
Peter Nelson
10f94fb0dd
Codechange: Remove runtime variable size assertion.
2023-12-09 08:13:03 +00:00
Peter Nelson
9f853c10b0
Codechange: Add compile-time check that variable size matches saveload entry.
2023-12-09 08:13:03 +00:00
Peter Nelson
cb53fed229
Codechange: Move VarType helpers to allow earlier use.
2023-12-09 08:13:03 +00:00
Peter Nelson
a05d6ee404
Fix: Ensure saveload type match variable type.
...
This either changes the saveload definition or changes the variable depending on which makes more sense.
2023-12-09 08:13:03 +00:00
Peter Nelson
54d45a6047
Codechange: Don't keep autosave_interval in std::chrono::minutes.
...
This variable is saved as a setting which requires the variable type to be known, but std::chrono::minutes may vary depending on system type.
Instead, keep as uint32_t and convert to std::chrono::minutes only when setting the timer.
2023-12-09 08:13:03 +00:00
Peter Nelson
a29766d6cc
Codechange: Move dropdown list size and position calculation to window.
...
This simplifies initialization of DropdownWindow, as instead of both the caller code and the class needing to know about list sizes and available space, only the DropdownWindow needs to know.
2023-12-09 08:12:34 +00:00
Peter Nelson
f1cceb43a1
Codechange: Move initialization of DropdownWindow members.
2023-12-09 08:12:34 +00:00
Peter Nelson
52b121942b
Codechange: DropdownWindow's selected_index is not actually an index.
2023-12-09 08:12:34 +00:00
translators
2dcb00a79a
Update: Translations from eints
...
galician: 88 changes by pvillaverde
chinese (simplified): 4 changes by WenSimEHRP
italian: 6 changes by Rivarossi
turkish: 2 changes by densxd
dutch: 5 changes by Afoklala
2023-12-08 18:38:34 +00:00
Peter Nelson
3317e29847
Fix #11516 : Adjust window size by interface scale during ReInit.
...
To simplify this and ensure that scaling only occurs once, regardless of
resize nesting, each window now remembers interface scale.
2023-12-07 23:58:32 +00:00
Peter Nelson
e2425b72c1
Fix: Don't implicitly ReInit all windows after updating the character width cache.
...
This caused duplicate ReInit when changing interface scale.
2023-12-07 23:58:32 +00:00
Peter Nelson
54ba757910
Fix #11556 : Missing saveload change for OrderBackup. ( #11557 )
...
Apply the saveload change from #11468 to OrderBackup and bump again.
2023-12-07 19:31:30 +00:00
Jonathan G Rennison
2cbe91c312
Fix #11551 , aab580e0a: Link graph job results were incorrectly applied ( #11558 )
...
Edge flows were incorrectly restricted because the restricted
instead of unrestricted last update date was checked
See also: #10314
2023-12-07 18:38:43 +00:00
Peter Nelson
60565da8f9
Codechange: Add specific WidgetDimension for dropdown list window. ( #11554 )
...
This avoids contorting fullbevel dimensions.
2023-12-07 16:10:09 +00:00
Peter Nelson
89461b5561
Codechange: Don't highlight unselectable dropdown item. ( #11553 )
2023-12-07 16:09:45 +00:00
Peter Nelson
90e386acaa
Codechange: Vertical spacing for caption is captiontext, not framerect. ( #11550 )
...
This does not really matter as the caption height is sized correctly later anyway, so this just avoids confusion.
2023-12-06 21:36:51 +00:00
Peter Nelson
bdef9b451c
Codechange: Remove unnecessary SetMinimalTextLines for text buttons alongside captions. ( #11549 )
2023-12-06 21:14:09 +00:00
translators
d8f989a1f5
Update: Translations from eints
...
danish: 3 changes by bscargo
portuguese (brazilian): 5 changes by pasantoro
2023-12-06 18:39:07 +00:00
Loïc Guilloux
2a22063d77
Change: Remember the active game option window tab ( #11547 )
2023-12-06 14:44:38 +00:00
Peter Nelson
58c252b81a
Cleanup: Remove unnecessary pressed button offset code.
2023-12-05 21:12:35 +00:00
Peter Nelson
884b9e6690
Change: Revert pressed-button content shifting introduced in r2161.
...
This restores original behaviour, and prevents all image buttons being slightly too large.
2023-12-05 21:12:35 +00:00
translators
a92d0da8b4
Update: Translations from eints
...
finnish: 5 changes by hpiirai
polish: 5 changes by pAter-exe
2023-12-05 18:38:33 +00:00
translators
7d0ce826db
Update: Translations from eints
...
english (au): 5 changes by krysclarke
english (us): 5 changes by 2TallTyler
korean: 5 changes by telk5093
russian: 5 changes by Ln-Wolf
catalan: 5 changes by J0anJosep
french: 5 changes by glx22
2023-12-04 18:38:44 +00:00
Peter Nelson
e749bbefe5
Change: Show rating in station list even with no cargo waiting. ( #11540 )
...
e745bd9
(r21144) changed the filter from cargo waiting to rating, which makes the station list display appear inconsistent with the cargo filter selection.
2023-12-04 18:16:09 +00:00
Peter Nelson
07a8bd21e4
Fix: Make station list filters use per-window state instead of global state.
...
Changing filters with multiple windows open would have unexpected effects leading to inconsistent state.
Now state is loaded and saved when the window is opened and closed, so state is still persistent.
2023-12-04 08:24:39 +00:00
Peter Nelson
dcf730f1f6
Codechange: Optionally allow passing state to GUIList sorter function.
...
GUIList sorter functions can currently only use global state, which makes per-window-instance sorting difficult.
2023-12-04 08:24:39 +00:00
Peter Nelson
4d9f335f36
Change: Add outline of sprite to sprite aligner.
2023-12-04 08:14:02 +00:00
Peter Nelson
f7380a4d2d
Change: Make NewGRF Sprite Aligner window resizeable.
2023-12-04 08:14:02 +00:00
Peter Nelson
0434c1b474
Feature: (-tte) Add zoom level buttons to sprite aligner.
...
This allows for offsets to be adjusted a different zoom level than currently in use, and offset adjustment and display is also more convenient.
2023-12-04 08:14:02 +00:00
Peter Nelson
4e5700939d
Change: Use sparse padding for sprite aligner.
2023-12-04 08:14:02 +00:00
Peter Nelson
9122b4eb47
Codechange: SetMinimalTextLines(1, 0) is implied for widgets with text. ( #11536 )
2023-12-03 22:42:50 +00:00
Peter Nelson
17c3ce8632
Codechange: Use maxdim instead of setting width/height separately. ( #11535 )
2023-12-03 22:23:54 +00:00
Peter Nelson
aae6e0481e
Codechange: Rearrange AI/GS debug window following invalidate/set state/draw pattern. ( #11483 )
...
The AI/GS window updated its state as it was drawn, and would redraw again if some state had changed.
Instead, update state either during OnInvalidateData or before any drawing commences.
2023-12-03 18:53:31 +00:00
Peter Nelson
1084ab4b66
Add: Website button to Game Options window for basesets.
...
This links to the optional "url" item in the baseset's [metadata] section.
2023-12-03 18:52:33 +00:00
Peter Nelson
cc528bd8fc
Change: Adjust layout of Content and NewGRF Website buttons for consistency.
2023-12-03 18:52:33 +00:00
Peter Nelson
2272e8fe0e
Add: Website button for Game Script settings window.
2023-12-03 18:52:33 +00:00
Peter Nelson
f60c14a682
Add: Website button for AI settings window.
2023-12-03 18:52:33 +00:00
Peter Nelson
7ba89b946e
Change: Hide unused cargos from vehicle cargo filter. ( #11533 )
...
The list of used cargo types is updated when the list is invalidated.
2023-12-03 18:11:08 +00:00
Peter Nelson
9a92e02fa7
Change: Add tooltips for text file buttons, and shorten Website / Readme buttons. ( #11534 )
2023-12-03 16:54:57 +00:00
Patric Stout
b866e52b17
Remove: officially mark Vista as no longer supported ( #11531 )
...
It is very likely Vista hasn't been working for years, but the
amount of users that use an OS that has been EoL for over 11 years
is very small, so reports happen rarely.
2023-12-02 22:12:50 +00:00
Peter Nelson
a258833aee
Fix 67d071d: WC_STATION_LIST should be invalidated by owner, not station index. ( #11530 )
2023-12-02 21:46:43 +00:00
Peter Nelson
1aedea8eda
Feature: Place cargo icon on cargo filter dropdowns.
...
Reveal the pixel art.
2023-12-02 15:23:05 +00:00
Peter Nelson
76701c4622
Add: Function to get largest cargo icon size.
2023-12-02 15:23:05 +00:00
Peter Nelson
8db7c79e79
Codechange: Add DropDownIcon constructor to override dimension.
...
This avoids the need to construct a DropDownIcon and set the dimension after.
2023-12-02 15:23:05 +00:00
Peter Nelson
49532914dd
Change: Use CRTP-mixins to compose dropdown list items.
...
This allows list items to built from component parts as required, and additional
functionality is added:
* Icons and text can be positioned at the start or end of the space (templated.)
* Font size of text can be changed (templated.)
* Palette of sprites can be set (runtime.)
2023-12-02 15:23:05 +00:00
Peter Nelson
62e4d1e507
Codechange: Dimension must have both width and height.
...
Default parameters allowed Dimension to be constructed with only a width.
Instead use separate empty and width/height constructors to ensure that either none or both are provided.
2023-12-02 15:23:05 +00:00
Peter Nelson
0b1429ce14
Fix: AI window did not update button disabled state when changing values. ( #11527 )
2023-12-01 12:52:33 +00:00
Peter Nelson
cc488ec6c9
Fix ddd609c: Reverse build probability callback was not called for articulated parts. ( #11526 )
2023-11-30 23:12:39 +00:00
Peter Nelson
4a5ab331e2
Change: Add extra padding to climate buttons to match pre-#11464. ( #11525 )
...
Padding used to be included in the SetMinimalSize() part which was removed, but also made it require specific sprite sizes.
This now adds padding on the already determined size, removing the need for hardcoding pixel dimensions and allowing the sprites to be any size.
2023-11-30 19:18:28 +00:00
Peter Nelson
6f7153bf71
Codechange: Make a generic DrawRectOutline function from DrawOutline. ( #11524 )
...
This allows drawing an outline from Rect, not just constrained to a Widget's Rect. And reduces duplication a little.
2023-11-30 18:10:07 +00:00
rubidium42
33ba609290
Fix #11521 , e404ba0: size for remaining span determined incorrectly
2023-11-30 08:20:58 -04:00
rubidium42
cb8612ba79
Remove: ZOOM_LVL_COUNT
...
This is the only enumeration with a COUNT and END. The logic of the COUNT
implied that BEGIN could be non-zero, but all but two uses of zoom level
assume that BEGIN is zero, making the separate count only confusing.
2023-11-29 21:12:28 -04:00
Peter Nelson
ddd609ce9b
Feature: Randomize direction of rail vehicle on build based on probability callback. ( #11489 )
...
This allows NewGRF authors to indicate that the game should randomly flip rail vehicles on build, without needing to use random bits nor duplicate sprites to handle it themselves.
To use this functionality, test for callback 162 (CBID_VEHICLE_BUILD_PROBABILITY) and var10 = 0 (values other than 0 are reserved for future use), and return a value between 0 and 100 inclusive.
The return value is a percentage chance of reversing the vehicle. A value of 0 will always build a forward facing vehicle, and 100 will always build a reverse facing vehicle.
2023-11-29 22:40:09 +00:00
Peter Nelson
6f35f3274f
Fix ab1a4c6c: Crash if the "No Music" set is loaded because there is no current set_index. ( #11511 )
...
Add a helper function to get the current set_index which which checks it is in range.
2023-11-29 02:30:10 +00:00
rubidium42
27082f9efa
Codechange: pass std::string references to OpenBrowser
2023-11-29 02:02:30 +01:00
Jonathan G Rennison
8437b20fed
Fix: Deleting towns did not check for waypoints referencing the town
2023-11-29 00:27:16 +01:00
Peter Nelson
7b0afec11f
Codechange: Use max_element to find highest cargo amount.
2023-11-28 22:30:48 +00:00
Peter Nelson
3f853d8003
Codechange: Use range-for to simplify getting first non-zero value.
...
This reduces indexed array access.
2023-11-28 22:30:48 +00:00
Tyler Trahan
4181d3c1ff
Codechange: Don't use a magic number for the number of DiagDirections
2023-11-28 14:24:33 -05:00
Tyler Trahan
2dad9263d7
Doc: Add, fix, and clean up documentation inside town_cmd.cpp
2023-11-28 14:24:33 -05:00
Tyler Trahan
745945c4d3
Codechange: Be consistent with how we name common parameters
...
TileIndex is always tile and Town is always *t. Don't use t and *town.
2023-11-28 14:24:33 -05:00
Tyler Trahan
1b14eca9d9
Codechange: Rename TryClearTile() for clarity
...
The function does not execute the clearing action.
2023-11-28 14:24:33 -05:00
Tyler Trahan
a98fe9f317
Codechange: Rename MakeTownHouseBigger() for clarity
2023-11-28 14:24:33 -05:00
Tyler Trahan
060672428d
Codechange: Merge confusingly-named helper functions into their timer
2023-11-28 14:24:33 -05:00
Tyler Trahan
1f41e773d6
Codechange: Use consistent name for bay road stops
...
As of #10494 , this is how we describe original dead-end road stops.
2023-11-28 14:24:33 -05:00
translators
5f442c9127
Update: Translations from eints
...
english (us): 1 change by 2TallTyler
2023-11-28 18:38:40 +00:00
Peter Nelson
519fe33175
Fix ab1a4c6c: Changing baseset/playlist while shuffle is on does not change song. ( #11510 )
...
The change-playlist function relied on toggling shuffle to restart playing which is no longer the case, so always handle it when changing playlist instead.
2023-11-28 17:44:31 +00:00
Peter Nelson
e3924f3231
Fix #10811 : Allow dragging vehicle in depot to any free row. ( #11508 )
2023-11-28 13:52:36 +00:00
Peter Nelson
e6d132d24b
Fix #10926 : New free wagons no longer split by type. ( #11507 )
...
NormalizeTrainVehInDepot() should only be called if an engine was built, not for wagons.
2023-11-28 13:48:09 +00:00
Peter Nelson
3df7d1aff9
Codechange: Template input buffer type in audio mixer. ( #11505 )
...
This reduces code duplication.
2023-11-28 00:05:30 +00:00
Peter Nelson
e5aed24395
Codechange: Use std::array for industry tile cargo acceptance. ( #11498 )
...
This avoids use of memcpy/memset to copy or fill.
2023-11-27 23:17:55 +00:00
Peter Nelson
f268c90bd3
Change: Use sparse padding for content download window. ( #11501 )
2023-11-27 23:17:16 +00:00
Peter Nelson
ab1a4c6c80
Change: Don't restart playback when toggling playlist shuffle.
...
Instead update the selected playlist entry for the current song.
2023-11-27 23:16:41 +00:00
Peter Nelson
6c91c4b99d
Fix: Invalidate playlist window when (un)shuffling playlist.
2023-11-27 23:16:41 +00:00
Peter Nelson
4c6ccb5248
Change: Try stopping extmidi player with SIGINT first. ( #11404 )
...
This may give the player a chance to issue MIDI note-off commands.
The kill/waitpid cycle is also less aggressive, waiting 50ms each time.
2023-11-27 20:39:22 +00:00
Peter Nelson
e3622da408
Fix #11500 : Rename Textfile GUI's LinkType to HyperlinkType. ( #11502 )
...
This disambiguates it with LinkType in league tables.
2023-11-27 10:06:46 +00:00
Peter Nelson
46098449b6
Fix 7cfcf65: cargo_filter_criteria is now a CargoID instead of a index. ( #11497 )
2023-11-26 19:30:22 +00:00
Peter Nelson
7bee955a4b
Change: Set height of larger heightmap/scenario worldgen buttons by text height. ( #11496 )
...
This allows the button height to scale properly by font size.
2023-11-26 17:56:51 +00:00
Jonathan G Rennison
c5a292c0df
Fix #11493 : Incorrect flow values in LinkGraphJob::EdgeAnnotation ( #11494 )
2023-11-25 20:57:20 +00:00
translators
c6b9227dbb
Update: Translations from eints
2023-11-25 18:37:21 +00:00
Tyler Trahan
d28caa3ced
Codechange: Use ticks for timetable start date
2023-11-25 11:50:46 -05:00
Tyler Trahan
3902acb13d
Codechange: Define a TickCounter variable type for TimerGameTick::counter
2023-11-25 11:50:46 -05:00
Peter Nelson
bc1d49ebf4
Codechange: Add missing `ar` from `Toolb`.
2023-11-25 16:45:01 +00:00
Peter Nelson
5489b9fc0c
Codechange: Undo #11447 , drop down list divider lines are now explicit.
2023-11-25 16:45:01 +00:00
Peter Nelson
667be98ce8
Codechange: List toolbar menu items and dividers explicitly.
...
This makes it clearer what items will be shown in the list, allows for non-consecutive
string IDs, and means unused enum values are not necessary.
2023-11-25 16:45:01 +00:00
Peter Nelson
47eabe0cd9
Fix 7cfcf65: Check if last-remembered build vehicle cargo filter is valid. ( #11486 )
...
This can be invalid when switching between games with different cargoes loaded.
2023-11-23 22:46:22 +00:00
Peter Nelson
096da3e59f
Fix #11407 : Don't steal focus from dropdown menus. ( #11484 )
2023-11-22 19:09:20 +00:00
Peter Nelson
09d01bd015
Fix: Restore original cargo legend 'blob' dimensions. ( #11480 )
...
An off-by-one in a previous life made the 'blob' too narrow.
2023-11-21 19:51:24 +00:00
Peter Nelson
c2f19fed24
Fix: Widget without tooltip should use STR_NULL not STR_EMPTY. ( #11482 )
2023-11-21 19:35:47 +00:00
Peter Nelson
c18a1494b7
Codechange: Remove FONT_HEIGHT_... macros. ( #11481 )
...
These make it look like we're dealing with a constant, but actually each is a call to `GetCharacterHeight(...)`.
2023-11-21 19:04:24 +00:00
translators
96ec9c1b47
Update: Translations from eints
...
indonesian: 67 changes by ekaknl22
2023-11-21 18:40:02 +00:00
Peter Nelson
0d60dc0353
Fix 96d98d08: Crash in text layouter due to trying to find height of string with zero-width.
...
96d98d08
removed the hardcoded minimum width in favour of all-calculated widths, however this does not work when determining multiline text sizes.
2023-11-20 23:09:20 +00:00
Peter Nelson
62d4fd0572
Codechange: Add method to guess the width/height required for a multiline string.
...
This is necessary for widget layouts where a minimum width is not yet known during UpdateWidgetSize().
2023-11-20 23:09:20 +00:00
Peter Nelson
f281525492
Codechange: Add method to resize both width and height of a widget.
2023-11-20 23:09:20 +00:00
Peter Nelson
d04fd4602d
Codechange: Assert that max width passed to GetStringHeight is non-zero.
...
Max width of zero will cause text layouters to crash, potentially after exhausting memory first.
2023-11-20 23:09:20 +00:00
Peter Nelson
0578b8eaa9
Change: Use picker-spacing for scenario found town window. ( #11478 )
2023-11-20 23:06:15 +00:00
Peter Nelson
a58a043402
Fix 6065122: Missing SetFill on worldgen spacer. ( #11477 )
2023-11-20 19:31:26 +00:00
Jonathan G Rennison
9822fa6584
Fix: Trivial autoreplace of mixed cargo articulated engines ( #11253 )
...
Do not fail autoreplace/autorenew of mixed cargo articulated engines
due to an inability to refit to mixed cargoes, when no refit is
required because the target engine already has a suitable set of cargoes.
Notably, this allows autorenew (autoreplace to same engine type)
to succeed.
2023-11-20 14:16:28 +01:00
Peter Nelson
96d98d08c8
Change: Use sparse padding for main intro menu. ( #11475 )
2023-11-20 01:12:25 +00:00
Peter Nelson
c80fa7d752
Codechange: Simplify setting minimum width for game options dropdown lists. ( #11474 )
...
Height isn't necessary as drop down controls already have sufficient height, so we can use GetDropDownListDimension() to get the width.
2023-11-20 00:44:06 +00:00
Peter Nelson
f58a7ef673
Codechange: Remove now-unnecessary containers in picker layouts. ( #11473 )
...
These are no longer necessary as the issue they work around was resolved by #11471
2023-11-20 00:14:06 +00:00
Peter Nelson
293a26f248
Change: Use sparse padding and SETTING_BUTTON sizes for custom currency window. ( #11472 )
2023-11-19 21:12:55 +00:00
Peter Nelson
05b55c4d43
Fix: Extra space allocated to container-within-container may not get allocated to children. ( #11471 )
...
Always derive additional length from contained widgets instead of from the container, as the container's minimal length may have been adjusted by an NC_EQUALSIZE parent container.
2023-11-19 00:36:53 +00:00
translators
29102ce42c
Update: Translations from eints
...
dutch: 1 change by Afoklala
2023-11-17 18:38:21 +00:00
Peter Nelson
08778094f4
Fix: extmidi did not move on to next song after playing ends. ( #11469 )
...
`song` is no longer a C-style string so cannot be cleared by writing a NUL char.
Use `.clear()` to properly clear a std::string.
2023-11-17 17:42:19 +00:00
Peter Nelson
b2d4d90502
Change: Apply interface scaling to NewGRF settings min/max sizes.
2023-11-16 20:54:51 +00:00
Peter Nelson
42ae61a4fe
Change: Use sparse padding for NewGRF settings window.
2023-11-16 20:54:51 +00:00
Peter Nelson
cdb4e98a15
Change: Use sparse padding for AI/GS settings windows. ( #11466 )
2023-11-16 20:02:07 +00:00
Peter Nelson
f93711838f
Fix 6317967: Missing exception for SetPipRatio(). ( #11465 )
2023-11-16 19:22:02 +00:00
Peter Nelson
60651227a0
Change: Simplify world gen widgets and use sparse padding. ( #11464 )
2023-11-16 18:58:59 +00:00
translators
bca321443a
Update: Translations from eints
...
french: 1 change by Lishouuu
2023-11-16 18:39:24 +00:00
Peter Nelson
7d48a3f073
Codechange: Move RectPadding::zero definition to header. ( #11461 )
...
This potentially allows better inlining/optimization.
2023-11-16 17:07:29 +00:00
Peter Nelson
e2e0753916
Codechange: Use GetCurrentRect() where feasible. ( #11460 )
2023-11-16 17:06:57 +00:00
Peter Nelson
17ceed0241
Change: Use sparse padding for Game Options window. ( #11463 )
2023-11-16 17:06:38 +00:00
Peter Nelson
306e75223a
Change: Adjust layouts and standardize spacing for company-related windows.
2023-11-15 12:43:44 +00:00
Peter Nelson
58c037fba0
Change: Increase finance window lines (and underlines) with interface scale.
2023-11-15 12:43:44 +00:00
translators
1dff1e34f6
Update: Translations from eints
...
tamil: 3 changes by Jeyanthinath
2023-11-14 18:36:57 +00:00
Peter Nelson
7cfcf65f95
Codechange: Simplify cargo filter lists, building only when required.
...
Some cargo filter lists were built in advance, and used as lookups to test which cargo type to filter.
Instead, use the Cargo ID directly as the filter parameter, and build the lists only when the drop down list is used.
2023-11-13 21:30:46 +00:00
Peter Nelson
08dfe35442
Codechange: Move DropDownList height and width calculation to helper.
2023-11-13 21:30:46 +00:00
translators
1242b355e5
Update: Translations from eints
...
danish: 1 change by bscargo
polish: 1 change by pAter-exe
2023-11-13 18:38:10 +00:00
Peter Nelson
c877494f7a
Codechange: Simplify autoreplace rail/road types by using separate widget. ( #11457 )
...
This avoids needing to determine which type of list to deal with by additionally checking the window number for VEH_TRAIN/VEH_ROAD.
2023-11-13 12:32:34 +00:00
Tyler Trahan
7a6d102c4b
Codechange: Clean up timetable start checks ( #11456 )
2023-11-13 07:19:39 -05:00
translators
5446ece100
Update: Translations from eints
...
vietnamese: 7 changes by KhoiCanDev
korean: 1 change by telk5093
catalan: 7 changes by J0anJosep
2023-11-12 18:38:05 +00:00
translators
1432511fe5
Update: Translations from eints
...
english (au): 1 change by krysclarke
italian: 7 changes by Rivarossi
russian: 1 change by Ln-Wolf
finnish: 1 change by hpiirai
portuguese: 1 change by azulcosta
portuguese (brazilian): 1 change by pasantoro
2023-11-11 18:36:44 +00:00
Tyler Trahan
235ac0bceb
Codechange: Reword rail/road type label constants ( #11451 )
2023-11-10 17:37:22 -05:00
translators
ef1abbcd1f
Update: Translations from eints
2023-11-10 18:38:29 +00:00
Peter Nelson
bd2ddb07ca
Change: Move baseset missing/corrupted files label to list item. ( #11455 )
...
This allows any baseset error to be displayed in the drop down list so it is more easily visible, and avoids wasted space in the layout.
2023-11-10 12:25:56 +00:00
Peter Nelson
1071acb483
Codechange: Redundant use of char * and c_str(). ( #11454 )
2023-11-10 00:17:36 +00:00
Peter Nelson
938c8339d2
Codechange: Ensure space between `for`/`if` and `(`.
2023-11-09 20:15:38 +00:00
Peter Nelson
d4008850e3
Codechange: Ensure function opening `{` is on new line.
2023-11-09 20:15:38 +00:00
Jonathan G Rennison
1de1af08b9
Codechange: Replace AllocatedStringParameters with ArrayStringParameters ( #11452 )
...
All uses of AllocatedStringParameters are with a compile-time fixed
constant.
Use of a dynamically allocated buffer on the heap is unnecessary and
increases overhead, particularly due to frequent use as a temporary.
2023-11-09 19:43:47 +00:00
translators
92816ac96b
Update: Translations from eints
...
german: 3 changes by SecretIdetity
romanian: 6 changes by bnegrut
2023-11-09 18:37:36 +00:00
Peter Nelson
9f90ab7b04
Codechange: Use rail/road type label constants instead of literals. ( #11450 )
2023-11-08 23:45:08 +00:00
translators
382d7a9076
Update: Translations from eints
...
hungarian: 54 changes by titanicbobo
2023-11-08 18:39:05 +00:00
Peter Nelson
90bd8e64d8
Change: Simplify help window widgets and use sparse padding.
2023-11-07 23:09:05 +00:00
Peter Nelson
55adbe10b7
Add: WidgetDimensions for 'sparse' widget windows.
...
These are for windows that have space between widgets instead of being clumped together.
2023-11-07 23:09:05 +00:00
translators
56657eeaae
Update: Translations from eints
...
chinese (simplified): 1 change by WenSimEHRP
danish: 1 change by bscargo
hindi: 111 changes by NisheshTyagi
2023-11-07 18:37:45 +00:00
Peter Nelson
842cf87765
Change: Bring airport picker inline with other pickers.
2023-11-07 18:27:51 +00:00
Peter Nelson
b216dc493f
Change: Bring dock picker inline with other pickers.
2023-11-07 18:27:51 +00:00
Peter Nelson
27b5979056
Change: Improve layout of object picker.
2023-11-07 18:27:51 +00:00
Peter Nelson
db18f60beb
Change: Improve layout of road/tram stop pickers.
2023-11-07 18:27:51 +00:00
Peter Nelson
61deab08fc
Change: Improve layout of station picker.
2023-11-07 18:27:51 +00:00
Peter Nelson
136551408c
Change: Show empty string drop down entries as divider. ( #11447 )
2023-11-06 22:35:01 +00:00
Peter Nelson
ab535c0a86
Codechange: Add base() method to StrongType to allow access to the base type without casting. ( #11445 )
...
This removes the ability to explicitly cast to the base type, but the requirement
to use .base() means the conversion is still explicit.
2023-11-06 20:29:35 +00:00
translators
737775f834
Update: Translations from eints
...
korean: 14 changes by telk5093
polish: 1 change by pAter-exe
2023-11-06 18:38:37 +00:00
Peter Nelson
badce415ea
Change: Add horizontal scrollbar to Industry Directory window.
...
This list could be very wide depending on industries and language.
2023-11-05 22:22:32 +00:00
Peter Nelson
8ff6562b2f
Codechange: Reduce variable scope.
2023-11-05 22:22:32 +00:00
Peter Nelson
6b9dc8cfcf
Codechange: Don't filter industry list by cargo type every 3-sec refresh.
...
The 3-sec refresh is to update the list sorting. The filter only needs to
be applied once rebuilding the list.
2023-11-05 22:22:32 +00:00
Peter Nelson
4033750968
Codechange: Remove redundant NWID_VERTICAL in Industry Directory layout.
2023-11-05 22:22:32 +00:00
Peter Nelson
d380f2f3a2
Codechange: Simplify layout of depot pickers.
2023-11-05 20:09:45 +00:00
Peter Nelson
665902f5ba
Codechange: Add widget dimensions to standardise picker winodws.
2023-11-05 20:09:45 +00:00
Peter Nelson
3cab980b30
Codechange: Skip invisible (zero-size) widgets in PIP Containers.
...
This gets rid of doubled-up spacing where an invisible child widget would be.
2023-11-05 20:09:45 +00:00
Peter Nelson
6317967dba
Codechange: Add ability to allocate PIP-space dynamically by ratio.
...
This can be used to space out, centre, start-align, or end-align widgets without additional spacers.
2023-11-05 20:09:45 +00:00
Peter Nelson
ac54bd7e58
Codechange: Apply PIP during AssignSizePosition() instead of SetupSmallestSize().
2023-11-05 20:09:45 +00:00
Peter Nelson
43aa91a7f5
Fix #11437 : Flipped shorter rail vehicles disappear in windows. ( #11446 )
...
Mixed signed/unsigned strikes again, causing an incorrect sprite offset for shortened vehicles.
2023-11-05 20:09:11 +00:00
Peter Nelson
a9aaa2a183
Codechange: Don't be lenient with invalid NWidgetPart lists.
...
Some NWidgetPart combinations were ignored but it was not clear that they do nothing. Instead, assert if NWidgetPart is incorrectly applied.
2023-11-05 19:24:59 +00:00
Peter Nelson
b1eb5533eb
Add: WindowDesc unit test to validate NWidgetPart lists.
2023-11-05 19:24:59 +00:00
Peter Nelson
1c94fb0389
Add: Mock sprite cache intialization.
...
This fills up the sprite cache with SPR_OPENTTD_BASE + OPENTTD_SPRITE_COUNT zero-size sprites, to
allow GetSpriteSize() calls to continue from unit-tests.
2023-11-05 19:24:59 +00:00
Peter Nelson
05436d9c2f
Add: Expose minimal parts of SpriteCache internals.
...
These parts are needed to be able to mock the SpriteCache for unit-tests.
2023-11-05 19:24:59 +00:00
Peter Nelson
46f63074da
Add: MockFontCache for testing GUI code that only needs to know font sizes.
2023-11-05 19:24:59 +00:00
translators
af4c7799fe
Update: Translations from eints
...
korean: 1 change by telk5093
finnish: 1 change by hpiirai
portuguese (brazilian): 1 change by pasantoro
2023-11-05 18:37:09 +00:00
Peter Nelson
b5861fd8f3
Fix: Using MIN_YEAR for a date is probably wrong, Use MIN_DATE instead. ( #11444 )
...
Even with strong types ...
2023-11-05 15:43:56 +00:00
Peter Nelson
ef385499c7
Codechange: Remove ineffective NWidgetParts. ( #11443 )
2023-11-05 14:09:47 +00:00
translators
01728177e7
Update: Translations from eints
...
english (us): 3 changes by 2TallTyler
french: 2 changes by Lishouuu
2023-11-04 18:37:37 +00:00
Michael Lutz
071fdab236
Codechange: Replicate cursor screen backup to chat message display, removing explicit memory management.
...
Incidentally, this makes Blitter::GetBytesPerPixel unneeed.
2023-11-04 16:08:34 +01:00
Peter Nelson
bbd64bbe2b
Fix #9545 : Crash when all cargo types are disabled. ( #11432 )
...
This is not a very useful state, but it's nice to not crash.
Some parts of the game don't (yet) check for cargo types being redefined, that is out-of-scope here.
2023-11-04 14:42:47 +00:00
Patric Stout
c059ce0c97
Fix cda6f24f: don't ignore binary-dir if it happens to be working-dir ( #11431 )
...
Some of our code ignores the SP_WORKING_DIR for some actions, which
means that if, for example, your SP_BINARY_DIR is the same as your
SP_WORKING_DIR, neither is scanned.
Instead, only add SP_WORKING_DIR if it is unique.
2023-11-04 10:39:18 +00:00
Peter Nelson
db6b32e421
Codechange: Avoid pointers and lengthof in ExpensesList. ( #11427 )
...
Use std::initializer_list which allows iteration.
2023-11-03 23:15:37 +00:00
Michael Lutz
86e28e79fb
Fix #11402 : Make string filter locale-aware.
2023-11-03 22:34:01 +01:00
Michael Lutz
c294eaacc1
Fix: char_traits::find needs to return nullptr if nothing was found.
2023-11-03 22:34:01 +01:00
Peter Nelson
7d4a91ef9e
Cleanup: Remove some unused functions. ( #11429 )
...
These were picked up with cppcheck.
2023-11-03 21:21:00 +00:00
translators
4c58df75fd
Update: Translations from eints
...
english (au): 1 change by krysclarke
russian: 1 change by Ln-Wolf
dutch: 3 changes by Afoklala
portuguese: 1 change by azulcosta
2023-11-03 18:38:51 +00:00
Peter Nelson
ce6e739491
Codechange: Add unit-test to check if nested widget parts of properly closed.
...
Properly closed means exactly one EndContainer for every Container widget.
2023-11-03 09:38:41 +00:00
Peter Nelson
e8db137135
Codechange: Move test for Container WidgetType to helper function.
2023-11-03 09:38:41 +00:00
Peter Nelson
d4a77411a5
Fix: Some NWidget lists were not properly closed. ( #11425 )
2023-11-03 08:17:26 +00:00
Peter Nelson
e563057478
Add: WindowDesc unit test to validate ini-key value.
...
ini-key must be present if WWT_DEFSIZEBOX or WWT_STICKYBOX is present.
This was previously enforced by a workflow, however that parsed the source
code with regex which turned out to be error-prone.
2023-11-02 22:25:01 +00:00
Peter Nelson
18fb8e153f
Codechange: Add __FILE__/__LINE__ of WindowDesc to WindowDesc.
...
This is to allow unit-tests to produce more useful output.
2023-11-02 22:25:01 +00:00
Peter Nelson
873f93cab1
Fix: AI config window should not have an ini_key. ( #11423 )
...
This was missed by the workflow script that enforces this constraint.
2023-11-02 21:28:24 +00:00
translators
82ebc9860b
Update: Translations from eints
...
finnish: 2 changes by hpiirai
danish: 1 change by bscargo
2023-11-02 18:38:58 +00:00
Rubidium
a849b4e175
Fix: allow same length server password in the UI
2023-11-02 17:19:38 +01:00
Rubidium
c6411168d8
Cleanup: missing spaces before continuation * in some comments
2023-11-01 22:56:11 +01:00
Peter Nelson
c687b59efc
Codechange: Use unique_ptr for SmallMapWindow's overlay.
2023-11-01 21:49:06 +00:00
Peter Nelson
53845bc024
Codechange: Move includes to correct place.
...
Some other source file inadvertently included things via smallmap_gui.h
2023-11-01 21:49:06 +00:00
Peter Nelson
ed8df72c49
Revert 6b68956: Move declaration of SmallMapWindow out of header file.
...
This split needlessly complicates `SmallMapWindow` for the sake of one method (no longer) used by `LinkGraphOverlay`.
2023-11-01 21:49:06 +00:00
Peter Nelson
f91462f54b
Codechange: Don't access SmallMapWindow method directly from LinkGraphOverlay.
2023-11-01 21:49:06 +00:00
Peter Nelson
ff5e8bb9a3
Fix #11413 : Incorrect sorting by industry production.
...
Error caused by single character mistake. However this algorithm was inefficent if a filter was specified, and clearly the flow was error-prone.
Now using separately-scoped loops to avoid similar.
2023-11-01 21:37:53 +00:00
Peter Nelson
278b42d078
Codechange: Document Industry::GetCargoProduced/Accepted and add const-variant.
2023-11-01 21:37:53 +00:00
Peter Nelson
4f3adc038a
Cleanup: Use standard comment codestyle.
2023-11-01 21:37:53 +00:00
Tyler Trahan
49d53c41ab
Doc: Don't use other names for road vehicle bay stops ( #11418 )
2023-11-01 21:19:31 +00:00
Peter Nelson
d3cb6e1e67
Codechange: Call Widget::SetDirty/SetLowered directly. ( #11417 )
...
In these instances we already have the widget to hand, so don't need to look it up by index again.
2023-11-01 20:12:08 +00:00
Tyler Trahan
89480f3531
Change: Don't set vehicle on time if timetable not started ( #11359 )
2023-11-01 15:26:39 -04:00
Peter Nelson
bb50cbb772
Codechange: Assign/StoreSizePosition x/y can be negative. ( #11416 )
...
AssignSizePosition is used with negative values when an NWidgetMatrix is
scrolled, but they were passed as unsigned and then stored as signed.
Widget pos_x/pos_y were already made signed.
2023-11-01 18:44:23 +00:00
translators
c97120f003
Update: Translations from eints
...
english (au): 1 change by krysclarke
chinese (simplified): 5 changes by WenSimEHRP
korean: 2 changes by telk5093
russian: 1 change by Ln-Wolf
portuguese: 1 change by azulcosta
portuguese (brazilian): 1 change by pasantoro
polish: 1 change by pAter-exe
2023-11-01 18:38:53 +00:00
Peter Nelson
35a7770fde
Fix 233aac5: Set newline default comment for new groups. ( #11411 )
...
The newline space between ini groups is actually recorded as a comment of the group. This got inadvertantly dropped in #11364 .
2023-10-31 01:19:04 +00:00
frosch
e81313e93e
Feature: Base graphics can offer parameters for additional settings.
2023-10-31 01:41:50 +01:00
frosch
de3f29d7b2
Add: store base graphics parameters in openttd.cfg.
2023-10-31 01:41:50 +01:00
frosch
f09fda1ff0
Codechange: store the GRFConfig of the base graphics, once loaded.
2023-10-31 01:41:50 +01:00
frosch
0b7ecf6102
Codechange: use the shortname as unique id to identify the base graphics in openttd.cfg.
2023-10-31 01:41:50 +01:00
frosch
97df27e41f
Codechange: Store base graphics settings in a separate section in openttd.cfg.
2023-10-31 01:41:50 +01:00
Peter Nelson
2d3fef3113
Fix: Incorrect padding for smallmap legend 'icon'.
...
The size of this icon is based off FONT_HEIGHT_SMALL - 1, so it makes sense to use a scaled 1 here.
2023-10-30 22:11:31 +00:00
Peter Nelson
a8aba06a07
Fix: Insufficient space for labels on smallmap legend.
2023-10-30 22:11:31 +00:00
translators
186829b99f
Update: Translations from eints
...
english (au): 1 change by krysclarke
dutch: 1 change by TrueBrain
portuguese: 1 change by azulcosta
polish: 4 changes by pAter-exe
2023-10-30 18:38:55 +00:00
translators
40f52afac2
Update: Translations from eints
...
indonesian: 1 change by liimee
russian: 2 changes by Ln-Wolf
finnish: 1 change by hpiirai
danish: 1 change by bscargo
french: 1 change by ottdfevr
portuguese (brazilian): 1 change by pasantoro
2023-10-29 18:37:50 +00:00
translators
9e6ea16ca7
Update: Translations from eints
2023-10-28 18:37:45 +00:00
Peter Nelson
c0aa9a5f87
Add: Debug tool to draw widget outlines. ( #11401 )
...
This is considered a developer tool and is controlled from the help menu (or default hotkey Ctrl-O).
This draws a white dashed outline around widgets. NWidgetSpacer and (unused) WWT_EMPTY widgets are also filled with check pattern to highlight them, as they usually indicate a design issue.
2023-10-28 19:07:50 +01:00
Peter Nelson
129e98fbab
Fix d42a78f: Some raw drop down list strings may need token processing. ( #11400 )
...
Storing the raw string without processing though GetString() caused token
processing to be skipped.
2023-10-28 16:08:44 +01:00
Peter Nelson
062c19830b
Fix: OpenTTD can fail to exit on an error due to mutex locks in threads. ( #11398 )
2023-10-28 16:08:08 +01:00
translators
7b376493a2
Update: Translations from eints
...
dutch: 3 changes by Afoklala
french: 1 change by ottdfevr
2023-10-27 18:38:08 +00:00
translators
7b4ecb5241
Update: Translations from eints
...
korean: 3 changes by telk5093
slovak: 1 change by legitalk
polish: 4 changes by pAter-exe
2023-10-26 18:38:26 +00:00
Peter Nelson
5ae5c35f38
Codechange: Remove redundant WWT_PANEL from bootstrap error windows.
2023-10-26 12:43:20 +01:00
Peter Nelson
a601a1f406
Change: Use modalpopup spacing for goal question windows.
2023-10-26 12:43:20 +01:00
Peter Nelson
616fb48e25
Change: Use modalpopup spacing for engine preview window.
2023-10-26 12:43:20 +01:00
Peter Nelson
19c314ea1f
Change: Use modalpopup spacing for buy company window.
2023-10-26 12:43:20 +01:00
Peter Nelson
8a49c0eb2c
Change: Use modalpopup spacing for network relay and survey windows.
2023-10-26 12:43:20 +01:00
Peter Nelson
f78c2c9810
Fix: Incorrect title on framerate windows for AIs.
2023-10-25 19:35:42 +01:00
Peter Nelson
d19832569e
Cleanup: No need to cast `const Font *` to itself. ( #11395 )
2023-10-25 13:08:07 +00:00
translators
3d7f54472d
Update: Translations from eints
...
english (us): 3 changes by 2TallTyler
danish: 3 changes by bscargo
polish: 1 change by pAter-exe
2023-10-24 18:38:34 +00:00
translators
9cdf66d3a1
Update: Translations from eints
...
czech: 18 changes by vladoschreiner
german: 27 changes by Wuzzy2
2023-10-23 18:38:04 +00:00
translators
d1351fa0d2
Update: Translations from eints
...
english (au): 3 changes by krysclarke
russian: 3 changes by Ln-Wolf
finnish: 3 changes by hpiirai
turkish: 4 changes by BeratSJ
french: 3 changes by ottdfevr
portuguese: 3 changes by azulcosta
portuguese (brazilian): 3 changes by pasantoro
2023-10-22 18:37:20 +00:00
Tyler Trahan
92ab114e13
Fix f49ffaa: Use DateAtStartOfYear() to calculate max timetable start date ( #11388 )
2023-10-22 10:51:06 -04:00
translators
f32058e4e5
Update: Translations from eints
2023-10-21 18:37:29 +00:00
Bernhard Reutner-Fischer
ac42dea7b2
Codechange: Remove unused parameter for Height()
...
DropDownListItem::Height does not need to take an argument so remove it
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2023-10-21 18:53:35 +02:00
Peter Nelson
59a2abd298
Codechange: Use unified NWidgetContainer methods instead of duplicating.
...
Most NWidgetContainer derivatives implemented Draw() and GetWidgetFromPos()
the same way. Move this these to NWidgetContainer itself to avoid repeating.
2023-10-21 14:26:36 +01:00
Peter Nelson
af41c5cb4e
Codechange: Hide toolbar buttons by setting width to zero.
...
Zero-width is how widgets are hidden elsewhere.
This removes the need for an extra array to lookup if a button is hidden.
2023-10-21 14:26:36 +01:00
Peter Nelson
81ecbaaa33
Codechange: Hide multiplayer headers by setting width to zero.
...
Zero-width is how widgets are hidden elsewhere.
This removes the need for an extra array to lookup if a header is hidden.
2023-10-21 14:26:36 +01:00
Tyler Trahan
2dd2910ab3
Feature: Cheat to fix station ratings at 100% ( #11346 )
2023-10-21 08:35:52 -04:00
Rubidium
37f84b7372
Codechange: replace x.size() != 0 with !x.empty()
2023-10-20 23:05:43 +02:00
Rubidium
f16399f4c9
Codechange: replace x.size() > 0 with !x.empty()
2023-10-20 23:05:43 +02:00
Rubidium
c9276c2959
Codechange: replace x.size() == 0 with x.empty()
2023-10-20 23:05:43 +02:00
Peter Nelson
f06b3e9846
Change: Use CARGO_LIST to show station cargo acceptance changes. ( #11379 )
...
This simplifies construction of the news message and allows for more than
two changes to be show in one line.
2023-10-20 20:14:46 +01:00
translators
4c24334fda
Update: Translations from eints
2023-10-20 18:38:26 +00:00
Peter Nelson
fd6f1e844a
Codechange: Avoid emplace_back(new()) into a unique_ptr. ( #11384 )
...
This could theoretically leave an unmanaged pointer in certain circumstances, and directly using
make_unique shows intent.
2023-10-20 18:40:48 +01:00
Peter Nelson
429a6f58e7
Codechange: Use max_element to find best cargo (sub-)type in NewGRF var 42. ( #11370 )
...
This replaces two manual loops to find the best cargo (sub-)type.
2023-10-20 18:40:26 +01:00
Peter Nelson
90351578a6
Codechange: Use std::map instead of fixed array to store refit options.
...
This simplifies handling of available refit options.
2023-10-20 18:39:32 +01:00
Peter Nelson
e4f94747f3
Codechange: Use comparator struct to sort cargo ID by predefined sort order.
...
This allows reuse of the comparator where a typename is used instead.
2023-10-20 18:39:32 +01:00
Peter Nelson
bc8e26f4e7
Codechange: Simplify usage of GRFFile cargo_map. ( #11349 )
2023-10-20 18:38:54 +01:00
Peter Nelson
69e20e79ab
Codechange: Add const versions of GetItem/GetGroup, and sprinkle liberally.
...
Non-const version of GetItem is not needed.
2023-10-20 18:37:27 +01:00
Peter Nelson
17ba9d8c96
Codechange: Use range-for instead of nullptr-terminated list in settingsgen.
...
This simplifies iteration and avoids use of pointers.
2023-10-20 18:37:27 +01:00
Peter Nelson
233aac567b
Codechange: Use std::list instead of C-linked list for ini files.
...
This removes self-management of memory with new/delete and allows simpler iteration.
2023-10-20 18:37:27 +01:00
Peter Nelson
ec1cf96b62
Codechange: Move initialization of group-type to CreateGroup function.
2023-10-20 18:37:27 +01:00
Peter Nelson
8bd06807e4
Codechange: Pass initializer list instead of null-terminated list of group types.
2023-10-20 18:37:27 +01:00
Peter Nelson
1fecbeff76
Codechange: Remove create parameter from IniLoadFile::GetGroup.
...
GetGroup now only returns nullptr if the group does not exist.
Use GetOrCreateGroup to create a group.
This avoids creating groups while reading ini files.
2023-10-20 18:37:27 +01:00
Peter Nelson
c47a0e1578
Codechange: Correct scope of IniItem for for-loop.
2023-10-20 18:37:27 +01:00
Peter Nelson
6ce7195ef1
Codechange: Split GetGroup into GetGroup/GetOrCreateGroup.
...
This follows the pattern used for GetItem/GetOrCreateItem, and allows use
of references where we know the group must exist.
2023-10-20 18:37:27 +01:00
Peter Nelson
54b1a067eb
Codechange: Test for nullptr instead of treating pointer as boolean.
2023-10-20 18:37:27 +01:00
Peter Nelson
d3c5ae2648
Codechange: Add CreateGroup/CreateItem methods for ini files.
...
This abstracts the internals a bit.
2023-10-20 18:37:27 +01:00
Peter Nelson
0c85ce29ea
Codechange: Pass ini file by reference and prefer automatic storage.
...
This avoids new/delete operations, and (not) checking for nullptr.
2023-10-20 18:37:27 +01:00
Peter Nelson
3961318974
Codechange: Accept std::string in RemoveGroup().
2023-10-20 18:37:27 +01:00
Peter Nelson
bb6fa9bf3b
Change: Display cargo lists in sorted cargo order. ( #11383 )
2023-10-20 17:32:17 +01:00
Tyler Trahan
088db62dba
Change: Always allow expanding towns in Scenario Editor to build new roads ( #11377 )
2023-10-19 17:01:45 -04:00
Jonathan G Rennison
4df2640f87
Fix: Tile slope missing from road stops varact2 variable 0x42
2023-10-19 20:05:36 +02:00
Peter Nelson
e1c83869ed
Fix: Scale minimum width for server name by interface scale. ( #11381 )
2023-10-19 17:06:47 +00:00
Peter Nelson
9602de474d
Codechange: Use iterators and/or range-for on cargo related loops.
2023-10-19 17:03:25 +01:00
Peter Nelson
2a88e0fab3
Codechange: Use bitmask instead of array for cargo consistency check.
...
We only need to know if a cargo type is accepted, not how much.
2023-10-19 17:03:25 +01:00
Jonathan G Rennison
a1c6923c63
Fix: Assertion in sprite aligner window ( #11371 )
...
When clicking sprite number after re-opening window having previously used sprite picker tool
2023-10-17 16:25:48 -04:00
Loïc Guilloux
ab805c4e9e
Fix #11375 , 7c37dcb: Use STRING2 when the passed string can have 2 parameters ( #11376 )
2023-10-16 17:49:44 +00:00
Tyler Trahan
f49ffaaaea
Fix e4fd99a
, Fix #11270 : Vehicle max age is not subject to leap years ( #11372 )
2023-10-15 22:34:03 +00:00
Peter Nelson
356a5d5773
Codechange: Use std::vector in fallback layouter, and shorten accessors. ( #11355 )
...
This avoids use of malloc/free (and custom move constructors), and follows how the exist layouters are written.
2023-10-15 21:59:10 +01:00
translators
2be1b72a5b
Update: Translations from eints
...
hungarian: 50 changes by Norodix
2023-10-15 18:36:51 +00:00
translators
a73ef95a2b
Update: Translations from eints
...
chinese (simplified): 5 changes by WenSimEHRP
2023-10-14 18:37:25 +00:00
Rubidium
adad078b55
Fix #11367 , 7c37dcb: use STRING1 when the passed string can have a parameter
2023-10-14 12:15:25 +02:00
Peter Nelson
bdcf6b6acd
Fix: Treat closing network relay window as a choice of "No".
...
Issue ConnectFailure when closing the window if the relay request is
considered unhandled.
2023-10-13 20:47:28 +01:00
Peter Nelson
f379b31e28
Add: data parameter in Window::Close method.
...
This allows passing data when closing a window, e.g. to indicate how it was closed.
2023-10-13 20:47:28 +01:00
Peter Nelson
cda6f24fe8
Change: Filter duplicate paths from valid search path list. ( #11363 )
2023-10-09 21:38:13 +00:00
Loïc Guilloux
0458c15060
Cleanup: [MacOS] Remove unneeded WITH_SDL checks ( #11360 )
2023-10-09 19:35:15 +02:00
Peter Nelson
ac9db3f5aa
Codechange: Don't use bit-field in Yapf rail node. ( #11362 )
...
Compacting 3 booleans into 3 bits could save memory allocation, however this data is inside a union which also contains a 4-byte integer. As such this gives the cost penalty of a bit-field without any benefit.
2023-10-09 12:11:55 +00:00
translators
84201a8520
Update: Translations from eints
...
chinese (traditional): 80 changes by wpi3
chinese (simplified): 1 change by WenSimEHRP
2023-10-07 18:37:44 +00:00
Peter Nelson
2fd3d943aa
Fix 94167dfd: Don't shade the currently selected engine in autoreplace window. ( #11354 )
...
This breaks #7729 which specifically allows autoreplace of same engine types, and also did not work properly if the engine had been built during the current game session.
2023-10-06 21:09:24 +01:00
translators
89acfc7ff9
Update: Translations from eints
...
chinese (simplified): 1 change by WenSimEHRP
indonesian: 12 changes by liimee
2023-10-04 18:39:06 +00:00
Peter Nelson
d1a94d75e1
Fix: Incorrect include path for timers. ( #11351 )
2023-10-04 17:02:16 +01:00
translators
7145b7060a
Update: Translations from eints
...
romanian: 3 changes by bnegrut
2023-10-03 18:39:41 +00:00
merni-ns
c794676928
Fix #10763 , Fix #11168 : Display variant groups that consist only of unavailable sub-groups ( #11342 )
2023-10-03 12:43:15 +00:00
Peter Nelson
5869f790d8
Fix: Check for engine variant loops during NewGRF initialization. ( #11343 )
...
Invalid NewGRFs could set up an engine variant loop that never ends. This
was checked for in some places that evaluated variants, but not all. In
most cases this would result in the engines not appearing, but could
potentially cause an infinite loop and crash.
Instead, during NewGRF initialization detect loops and remove invalid
variants before setting display flags.
2023-10-03 12:14:32 +01:00
merni-ns
077b08bbfa
Fix #11261 : Set number of items correctly when choosing available airport set ( #11344 )
2023-10-03 12:58:44 +02:00
frosch
82c8720814
Fix #8846 : When upgrading NewGRF presets, copy NewGRF parameters only if the NewGRF are compatible. Otherwise reset to defaults.
2023-10-02 22:32:30 +02:00
frosch
d75a5e1a9a
Fix: Upgrading NewGRF presets could result in incomplete display of NewGRF parameters until restart.
2023-10-02 22:32:30 +02:00
translators
c84219a42e
Update: Translations from eints
...
english (us): 1 change by 2TallTyler
vietnamese: 21 changes by KhoiCanDev
2023-09-30 18:37:10 +00:00
Peter Nelson
b5dc9328f2
Change: Store station blocked/wires/pylons flags in map. ( #11337 )
...
This stores three flags in unused map bits, and avoids having to look up
station graphics and custom station specs to determine blocked/wires/pylons
status.
This potentially affects rail pathfinding performance.
Savegame version is not bumped, as the flags can just be updated every
time.
2023-09-30 12:30:25 +01:00
translators
fd79d34ba9
Update: Translations from eints
...
korean: 1 change by telk5093
2023-09-27 18:39:05 +00:00
translators
beafdadde4
Update: Translations from eints
...
italian: 25 changes by Rivarossi
2023-09-26 18:39:04 +00:00
Peter Nelson
015fbafe34
Codechange: Add missing override specifiers to squirrel.
2023-09-25 21:27:45 +01:00
Peter Nelson
49dae08a3b
Codechange: Add missing override specifiers.
2023-09-25 21:27:45 +01:00
translators
a650194227
Update: Translations from eints
...
finnish: 1 change by hpiirai
2023-09-25 18:38:49 +00:00
translators
976f8c474f
Update: Translations from eints
...
chinese (simplified): 139 changes by BYXxiaonanhui
catalan: 23 changes by J0anJosep
portuguese (brazilian): 1 change by pasantoro
2023-09-24 18:36:59 +00:00
translators
f8303b0397
Update: Translations from eints
...
english (au): 1 change by krysclarke
russian: 1 change by Ln-Wolf
danish: 1 change by bscargo
dutch: 1 change by Afoklala
french: 1 change by ottdfevr
portuguese: 1 change by azulcosta
polish: 68 changes by pAter-exe
2023-09-22 18:37:34 +00:00
Peter Nelson
398c7e5f9d
Codechange: Use new function to get a bitmask of empty cargo types.
2023-09-21 18:29:02 +01:00
Peter Nelson
69ee38bd43
Codechange: Use GetAcceptanceMask() instead of duplicating it.
2023-09-21 18:29:02 +01:00
PeterN
6d675c8acf
Fix : #11329 : Don't assert vehicle list length is non-zero when only asked to set string parameter. ( #11330 )
...
Since #11321 , the vehicle list is not yet initialized when SetStringParameters is called, so a test that the vehicle list size is zero is triggered. However, doing this check in the SetStringParameters function is a bit out of its remit, so just remove it.
2023-09-21 13:24:53 +01:00
PeterN
cef6a5f79c
Fix #11326 : Update autoreplace scrollbar count after clearing engine list. ( #11327 )
2023-09-21 07:42:49 +01:00
Joan Josep
6b7537646d
Fix: Allow NewGRF inspection of road tiles. ( #11323 )
2023-09-20 22:54:34 +01:00
Peter Nelson
122bfa2afd
Codechange: Use less locals for station free names bitmask.
2023-09-20 21:57:51 +01:00
Peter Nelson
aeaa552385
Codechange: Use std::bitset instead of bool array.
...
This avoids use of C-style pointers and memset.
2023-09-20 21:57:51 +01:00
Peter Nelson
2eacf36d0a
Codechange: List fallback station names by ID instead of magic number.
...
This improves readability and intention of the station name generator.
2023-09-20 21:57:51 +01:00
frosch
f40816503f
Codechange: Add enum items for dynmically created setting dropdowns.
2023-09-20 22:35:32 +02:00
frosch
39e67b6f4c
Codechange: Use existing widget ids instead of raw numbers.
2023-09-20 22:35:32 +02:00
frosch
e0df937247
Fix b5885295: NewGRF preset dropdown was broken.
2023-09-20 22:35:32 +02:00
translators
72323ae9e6
Update: Translations from eints
...
danish: 20 changes by bscargo
2023-09-20 18:38:51 +00:00
Joan Josep
b9a1cb5d7c
Fix: Spelling of NIHAirport. ( #11322 )
2023-09-20 20:22:37 +02:00
PeterN
a0c6259e33
Codechange: Don't access cargo filter before it is initialized. ( #11321 )
...
The cargo filter list is initialized during window OnInit, but the first
build of the filtered list occurred before this.
2023-09-20 08:58:08 +01:00
PeterN
48dc4219ea
Codechange: Don't pass GUI cargo filter constants to command system. ( #11320 )
...
CMD_BUILD_VEHICLE expects CT_INVALID to indicate a new vehicle should not
be refitted on build, but the code passed CF_NONE instead. CF_NONE has the
same numeric value at CT_INVALID, so the test passed, but...
2023-09-20 08:56:53 +01:00
frosch
6b586dddad
Cleanup: TransmitNotesOff is only called with buffer==_buffer.
2023-09-19 22:49:59 +02:00
frosch
c84fd30317
Codechange: Add missing 'override'.
2023-09-19 22:49:59 +02:00
frosch
a7707302e6
Codechange: silence false warning.
2023-09-19 22:49:59 +02:00
frosch
55da426d44
Codechange: All ParagraphLayoutFactory::AppendToBuffer assume that the buffer has at least some space.
...
Assert on that.
2023-09-19 22:49:59 +02:00
frosch
baf7cc858b
Codechange: Rename ship docking tile related functions.
2023-09-19 22:49:59 +02:00
frosch
5733145c59
Cleanup: Remove unneeded parameters.
2023-09-19 22:49:59 +02:00
frosch
b5885295f0
Codechange: Use parameters, which should be used.
2023-09-19 22:49:59 +02:00
frosch
b6c8f301be
Codechange: Silence warnings about intentionally unused parameters.
2023-09-19 22:49:59 +02:00
Patric Stout
df400ef84a
Fix: only count distance traveled in vehicles for cargo payment ( #11283 )
...
No longer you can utilize the free (and instant) labour of station
workers, transporting your cargo from one part of the station to
the other. No more!
Based on patch by dP.
2023-09-19 22:16:31 +02:00
translators
710722e3c1
Update: Translations from eints
...
korean: 1 change by telk5093
2023-09-19 18:38:46 +00:00
Peter Nelson
6fb89b189f
Fix #11315 : Sort industries and cargoes by name* in industry chain window.
...
*Cargo types are sorted by the normal method so it's not strictly alphabetical.
2023-09-19 12:25:20 +01:00
Peter Nelson
106f29f761
Codechange: Use iteration to copy cargo list into CFT_CARGO.
2023-09-19 12:25:20 +01:00
Peter Nelson
4f8d06ff73
Codechange: Use uint8_t instead of byte for numeric values.
2023-09-19 12:25:20 +01:00
Peter Nelson
9457bda614
Codechange: Use std::fill instead of memset when initializing GUI cargo fields.
2023-09-19 12:25:20 +01:00
PeterN
18e75dbc88
Fix: Don't produce invalid cargo. ( #11314 )
...
Production for secondary industries did not always check that the produced cargo type isn't valid.
2023-09-18 22:43:03 +01:00
Peter Nelson
fd2dd4397f
Codechange: Use range-for and iterator to populate default cargo table.
2023-09-17 21:26:01 +01:00
Peter Nelson
280dce9543
Codechange: Reorder CargoSpec to reduce alignment padding.
2023-09-17 21:26:01 +01:00
Peter Nelson
e8cbc3c2c7
Codechange: Simplify initialization of default cargoes.
2023-09-17 21:26:01 +01:00
Rubidium
3a2509198f
Codechange: use better location for the "invalid" action sentinel value
...
It used to be a random sentinel for end-of-(widget-)list that was used to tell
that no action has taken place yet. Since the last action is practically the
widget that was pressed, add the sentinel to that enumeration.
2023-09-17 19:44:20 +02:00
Rubidium
09a7902d36
Fix 8ab0936: missed WIDGET_LIST_END removals
2023-09-17 19:44:20 +02:00
Jonathan G Rennison
3afb732c37
Fix #11307 : Incorrect GroupStatistics after selling leading wagon
...
When this results in a countable consist
2023-09-17 18:42:37 +01:00
Peter Nelson
14bcfff6f5
Codechange: Rename INVALID_CARGO to INVALID_CARGO_BITNUM
...
... to avoid future ambiguity.
2023-09-17 16:56:07 +01:00
Peter Nelson
9d1b131c44
Codechange: Use correct constant for invalid cargo type.
2023-09-17 16:56:07 +01:00
Rubidium
7ef22af2bb
Codechange: introduce and use function to raise and dirty a set of widgets when they are lowered
2023-09-17 16:03:01 +02:00
PeterN
6580ff1adb
Fix #11230 : Widget layout also failed for group-less vehicle list window. ( #11310 )
2023-09-17 10:03:24 +00:00
Rubidium
4cf88e068a
Remove: unused include of cstdarg/stdarg.h
2023-09-16 23:09:53 +02:00
Rubidium
8ab0936491
Codechange: use parameter pack/folding instead of va_arg macros for widget states
2023-09-16 23:09:53 +02:00
translators
30eba33f1e
Update: Translations from eints
...
english (us): 20 changes by 2TallTyler
2023-09-16 18:37:38 +00:00
frosch
c6f5b57f13
Fix #11297 , 4e9a871: SCC_GENDER_LIST tried to determine the gender from the wrong sub-string. ( #11299 )
2023-09-15 15:25:25 -04:00
Patric Stout
39ef4b503f
Fix: also apply cargo filters on shared groups in vehicle listing ( #11294 )
2023-09-15 21:22:58 +02:00
translators
8d90448153
Update: Translations from eints
...
romanian: 18 changes by bnegrut
turkish: 22 changes by densxd
dutch: 20 changes by Afoklala
portuguese: 21 changes by azulcosta
2023-09-15 18:37:57 +00:00
Jonathan G Rennison
42170e6c2b
Codechange: Rename RoadType parameter of MakeRoadDepot
...
See: #9642
2023-09-15 18:21:12 +02:00
frosch
a3f661cb66
Fix: compilation failed on gcc 10.2 due to missing include. ( #11300 )
...
'_exit' is defined in 'unistd.h'.
2023-09-15 09:26:03 +01:00
translators
ba51a34b4c
Update: Translations from eints
...
english (au): 20 changes by krysclarke
korean: 25 changes by telk5093
russian: 20 changes by Ln-Wolf
finnish: 20 changes by hpiirai
french: 20 changes by glx22
portuguese (brazilian): 20 changes by pasantoro
2023-09-14 18:37:08 +00:00
Patric Stout
37e2f99c09
Change: store crash logs in JSON format ( #11232 )
2023-09-14 20:13:27 +02:00
Peter Nelson
a0353af223
Codechange: Shuffle Depot members to reduce padding.
2023-09-14 09:50:58 +01:00
Peter Nelson
2fdc22e7ea
Codechange: Shuffle CargoPayment members to reduce padding.
2023-09-14 09:50:58 +01:00
PeterN
a3c70ee6fb
Codechange: Pass by reference and use emplace-at-end for CargoSummary. ( #11296 )
2023-09-14 08:41:33 +00:00
Loïc Guilloux
b4ff06b6ef
Fix: marked text was not updated during text deletion ( #11293 )
2023-09-13 20:59:34 +00:00
translators
fca62c245f
Update: Translations from eints
2023-09-13 18:38:58 +00:00
Loïc Guilloux
220f93f552
Fix: IConsoleWindow:GetTextBoundingRect() is incorrect ( #11292 )
2023-09-13 16:07:55 +00:00
Daniel Robinson
71c2878799
Fix #10600 : 'Replace Vehicles' didn't show numbers >999 ( #10680 )
2023-09-13 15:19:44 +00:00
Patric Stout
9c49a61249
Fix: base cargo payment on load/unload tile, instead of station sign location ( #11281 )
2023-09-13 14:41:09 +00:00
Patric Stout
ba67f39db6
Codechange: vendor the nlohmann-json library ( #11290 )
2023-09-13 16:11:34 +02:00
Niels Martin Hansen
41de0d46f3
Feature: Help and manuals access window
2023-09-13 16:11:08 +02:00
Niels Martin Hansen
4765d0f8c2
Change: Text Layouter support querying all lines for character at pixel
2023-09-13 16:11:08 +02:00
Patric Stout
d1a0ca67be
Codechange: simplify splitting of CargoPacket ( #11286 )
2023-09-13 09:40:01 -04:00
translators
a16aa3ef7d
Update: Translations from eints
...
swedish: 1 change by joeax910
2023-09-12 18:38:00 +00:00
translators
3fd50c2949
Update: Translations from eints
...
swedish: 2 changes by optiedev
vietnamese: 11 changes by KhoiCanDev
romanian: 5 changes by bnegrut
danish: 2 changes by bscargo
dutch: 2 changes by Afoklala
portuguese: 2 changes by azulcosta
polish: 15 changes by pAter-exe
2023-09-11 18:38:29 +00:00
PeterN
acd7d3c913
Codechange: Rename *Railtype* to *RailType* for consistency. ( #11287 )
2023-09-11 08:55:12 +00:00
PeterN
a0b2f28f9c
Codechange: Use std::copy/fill pattern to initialize rail and road specs. ( #11285 )
...
This avoids use of lengthof and array indices.
2023-09-10 23:01:08 +00:00
Patric Stout
7e3cdbaf62
Fix: mark next_station as INVALID_STATION when loading from older savegames
2023-09-11 00:25:47 +02:00
Patric Stout
9e3763cfb3
Fix b0e73277: save/load next_station for CargoPacket again
2023-09-11 00:25:47 +02:00
Patric Stout
1243c331b6
Fix: don't compare next_station when trying to merge CargoPackets
...
For vehicle packets they shouldn't be compared, and for station
packets they are already in a bucket per next_station.
2023-09-11 00:25:47 +02:00
Patric Stout
9f8c1ea552
Codechange: rename next_station to next_hop to avoid confusing with another next_station
2023-09-11 00:25:47 +02:00
Patric Stout
a0f6983be4
Codechange: remove parameter from VehicleCargoList::Reassign that is always INVALID_STATION
2023-09-11 00:25:47 +02:00
PeterN
6643c010bd
Fix: NewGRF house class mappings were not reset between games. ( #11279 )
2023-09-10 18:55:37 +01:00
Michael Lutz
1c620b349f
Feature: [NewGRF] Related Act2 objects for airports and airport tiles.
...
Airports are similar two stations and industries, both of which have the town as related object.
Airport tiles are similar to industry tiles, which have the industry as related object.
This seems a sensible structure, so let's make it Airport Tile -> Airport -> Town.
2023-09-10 19:38:18 +02:00
Michael Lutz
a6f2f3c042
Add: [NewGRF] Inspection window for airports.
...
As as the station window combines all station types, accessing the
debug view is via the parent of the airport tile only.
2023-09-10 19:38:18 +02:00
Patric Stout
e6c02ebee6
Fix b0e73277: cargodist information got lost when splitting of cargo ( #11280 )
...
During b0e73277
we removed loaded_at_xy, but I kinda forgot that
it was a union with next_station. Now next_station wasn't copied
anymore, or checked in AreMergable.
2023-09-10 15:20:58 +02:00
Tyler Trahan
701a61c9af
Codechange: Delete date_type.h
2023-09-10 08:40:25 -04:00
Tyler Trahan
77173a6a10
Codechange: Move date consts and functions to CalendarTime and TimerGameCalendar classes
2023-09-10 08:40:25 -04:00
Tyler Trahan
fca2b37726
Codechange: Move Ticks into their own class
2023-09-10 08:40:25 -04:00
Patric Stout
30172fc037
Codechange: cleanup CargoPacket in terms of variable/function names ( #11278 )
...
Over the years, things got reused and changed, making the current
names somewhat unclear in what they actually mean and do.
2023-09-09 23:21:21 +02:00
Patric Stout
b0e73277d6
Codechange: remove loaded_at_xy from CargoPacket as it was unused ( #11276 )
2023-09-09 20:24:46 +01:00
Peter Nelson
f3b4f9d640
Codechange: Reduce size of TextEffectMode and TextEffectID.
...
TextEffectID was promoted to size_t in #9235 , when it was used in loops.
However since then the relevant code uses range-for or iterators instead.
2023-09-09 19:26:47 +01:00
Peter Nelson
f6939d6c4d
Codechange: Make INVALID_TE_ID a TextEffectID instead of a TextEffectMode.
...
Type-correctness?
2023-09-09 19:26:47 +01:00
Peter Nelson
3c61c642a9
Codechange: Don't allocate a text effect with INVALID_TE_ID.
...
Previously, despite INVALID_TE_ID existing, it was not checked during allocation and there was no limit to the number of text effects.
2023-09-09 19:26:47 +01:00
Peter Nelson
78b841d14e
Codechange: Take reference to text effect instead of pointer when updating.
2023-09-09 19:26:47 +01:00
Peter Nelson
7519f7ad79
Codechange: Use std::find_if to find or assign a text effect slot.
...
This replaces an index-based loop.
2023-09-09 19:26:47 +01:00
Peter Nelson
7bd019df90
Codechange: Use std::array for TemporaryStorageArray.
...
This removes the need for initialisation with memset().
2023-09-09 15:26:03 +01:00
Peter Nelson
9040d7813d
Codechange: Use std::array and std::unique_ptr for PersistentStorageArrays.
...
This (mostly) avoids the need for manual memory management and copying.
2023-09-09 15:26:03 +01:00
Patric Stout
c3918838f6
Fix: crash when opening a damaged base-graphics ( #11275 )
2023-09-09 14:06:00 +00:00
PeterN
afc1ea8135
Codechange: Using alias and std::array for company expense storage. ( #11273 )
...
This simplifies passing yearly expenses to functions and use of std algorithms.
2023-09-09 13:15:53 +00:00
Patric Stout
00f13282a9
Codechange: keep how we convert string <-> JSON private ( #11269 )
2023-09-08 19:03:10 +02:00
Patric Stout
d725fa14a2
Fix: asserts unintentially being partially disabled in release-builds ( #11268 )
...
The nlohmann-json header file includes assert.h, which rudely resets
the assert macro to what that header thinks is right. As we set the
assert macro to be active with release builds when WITH_ASSERT is
active, this means that every file including nlohmann-json has their
asserts disabled (for release-builds) but files that don't do no.
Let's avoid this issue, by telling nlohmann to not include assert.h.
2023-09-08 10:11:37 +00:00
Rubidium
8c742b456f
Codechange: use Textbuf directly, instead via several virtual functions in Window
2023-09-06 23:07:04 +02:00
Jonathan G Rennison
0316940fe8
Fix: Inaccurate waiting cargo total in station window when using cargodist ( #11213 )
...
For stations with many flows and/or small cargo packets,
due to accumulated inaccuracies in DivideApprox.
The displayed total should match GoodsEntry::TotalCount().
2023-09-06 21:36:26 +02:00
Patric Stout
5f9b8aaa95
Codechange: [Script] use nlohmann for Squirrel <-> JSON conversion ( #11251 )
2023-09-06 13:14:12 +02:00
translators
6e8d7964ed
Update: Translations from eints
...
english (us): 4 changes by 2TallTyler
2023-09-05 18:38:17 +00:00
translators
9d2920e9c5
Update: Translations from eints
...
french: 2 changes by ottdfevr
2023-09-04 18:38:09 +00:00
Patric Stout
337b7b0c63
Fix 8c9ecde9: actually remove autosave_interval from setting window ( #11260 )
2023-09-04 11:18:47 +00:00
Peter Nelson
152b0cac34
Codechange: Return update nwid_begin instead of count.
...
This avoids needing to keep track of how many widget parts have been consumed, instead we only to ensure nwid_begin < nwid_end.
2023-09-04 10:20:45 +01:00
Peter Nelson
e8015e497d
Codechange: Use begin/end of nwidget parts of begin/length.
...
This simplifies processing nwidget parts as, unlike the remaining length, the pointer to the end of the list never changes. This is the same principle as we use(d) for tracking end instead of length for C-style strings.
And this removes 160~ instances of the lengthof() macro.
2023-09-04 10:20:45 +01:00
Peter Nelson
e4613fc04c
Codechange: Allow using more than 65536 NewGRF string IDs.
...
NewGRF string allocation allowed up to 524288 strings, however stringid was passed as uint16_t which limits to 2^16.
2023-09-04 09:49:09 +01:00
Peter Nelson
3e762af2d1
Change: Replace fixed length _grf_text array with vector.
...
Additionally reshuffle GRFTextEntry for better alignment.
This removes a mostly-unused static 20MB allocation.
2023-09-04 09:49:09 +01:00
translators
dadf5182d8
Update: Translations from eints
...
english (au): 2 changes by krysclarke
russian: 3 changes by Ln-Wolf
finnish: 2 changes by hpiirai
portuguese (brazilian): 2 changes by pasantoro
2023-09-03 18:38:15 +00:00
PeterN
bd150df914
Codechange: Reorder some high-use structs to reduce their size. ( #11201 )
...
This reduces GoodsEntry from 144 to 136 bytes (thereby reducing Station from 9704 bytes to 9192 bytes), and CargoPacket from 40 bytes to 32 bytes.
2023-09-02 20:56:36 +00:00
translators
5c2e4ee6fe
Update: Translations from eints
2023-09-02 18:38:13 +00:00
Bouke Haarsma
7e54418022
Codechange: workaround CMake/Xcode duplicate file name issue ( #11186 )
...
Having a library with files with the same name isn't supported in CMake's Xcode project file generation: https://gitlab.kitware.com/cmake/cmake/-/issues/20501 . One of the files is renamed to work around this bug.
2023-09-02 19:46:52 +02:00
Michael Lutz
0089323542
Add: [Script] Custom news message text for industry SetProductionLevel.
2023-09-02 16:20:59 +02:00
Michael Lutz
1c56991213
Add: [Script] Game script control of industry production level.
2023-09-02 16:20:59 +02:00
mrmbernardi
a5c8365aa4
Feature: Setting to disallow level crossings with competitors ( #10755 )
2023-09-02 12:46:24 +02:00
frosch
236ec41fa2
Fix #11230 : Group list widget layout failed, if dropdown widgets were higher than the font height. ( #11231 )
2023-09-02 12:45:19 +02:00
translators
6ab169fbe0
Update: Translations from eints
...
dutch: 1 change by Afoklala
2023-09-01 18:38:57 +00:00
Patric Stout
7afd686541
Codechange: add tests for GS <-> AdminPort JSON conversion ( #11252 )
...
While at it, fix a bug where booleans were made integers.
2023-08-31 19:38:15 +00:00
Patric Stout
993e7be707
Fix: [Script] GSAdmin.Send() could generate invalid JSON ( #11250 )
2023-08-31 16:52:52 +00:00
glx22
4eddec9e79
Add: [Emscripten] Support for bootstrapping
2023-08-31 12:59:12 +02:00
glx22
3d1c4a8589
Codechange: [Emscripten] Improve syncfs synchronisation on exit/abort
2023-08-31 12:59:12 +02:00
Patric Stout
502414b567
Fix: [Emscripten] config not saved on exit game ( #11248 )
...
When changing a Game Option and pressing Exit Game, the changes
were not actually stored. This because the post-mainloop code
was never executed for Emscripten.
2023-08-31 10:10:11 +01:00
Patric Stout
ecb4bb5161
Change: for surveys capture more information about the OpenTTD version ( #11244 )
2023-08-30 12:14:32 +02:00
translators
5e75afb628
Update: Translations from eints
...
catalan: 2 changes by J0anJosep
2023-08-28 18:38:07 +00:00
Patric Stout
a3d631ffed
Change: make nlohmann a mandatory library to build OpenTTD ( #11235 )
2023-08-28 19:04:36 +02:00
Patric Stout
abc060525d
Add: calendar date for Survey results
...
This means no heuristics is possible on around which date people
play the game.
2023-08-28 13:02:52 +02:00
Patric Stout
b0d7cfaa3d
Change: [Win32] don't allocate 192KiB of memory on the stack on crash ( #11240 )
...
Heap is out of the question, as it might be corrupted.
Allocating this much on stack is silly.
So instead, allocate virtual pages to write the information in.
2023-08-28 12:14:11 +02:00
Patric Stout
de5e338a76
Change: mention in MacOS / Windows crashlog popup when files couldn't be generated ( #11239 )
...
For example, if the crash.sav couldn't be created, and the TryExcept
detected an issue, write out that the file is not available in
the popup.
2023-08-27 22:49:12 +00:00
Joan Josep
be9a690f41
Fix #9642 : Keep infrastructure totals when overbuilding road depots. ( #11229 )
2023-08-28 00:20:37 +02:00
Patric Stout
d4312c59a4
Codechange: [MacOS] use backtrace() instead of our custom variant ( #11233 )
...
As mentioned in the comment, we only did it ourselves as we once
were compatible with versions before 10.5. But that time has long
gone. So let's update the code to a bit more modern approach.
2023-08-27 22:32:11 +02:00
Joan Josep
5e6b5d981f
Codechange: Use existing functions in GetMonthlyInfrastructureCosts. ( #11237 )
2023-08-27 22:12:44 +02:00
Patric Stout
b00e483b0f
Change: recover when possible from crashes during a crash ( #11238 )
2023-08-27 21:54:05 +02:00
translators
99e4a14cdf
Update: Translations from eints
...
english (au): 1 change by krysclarke
finnish: 3 changes by hpiirai
danish: 1 change by bscargo
french: 1 change by glx22
portuguese (brazilian): 1 change by pasantoro
2023-08-27 18:39:02 +00:00
Patric Stout
29a37c2e0b
Change: [Win32] unify the crashlog handler with the other OSes ( #11236 )
...
While at it, make the crash text a bit more readable, and sync
this with MacOS.
2023-08-27 17:58:31 +00:00
translators
f2841e62d9
Update: Translations from eints
...
russian: 1 change by Ln-Wolf
turkish: 1 change by densxd
portuguese: 1 change by azulcosta
polish: 3 changes by pAter-exe
2023-08-26 18:38:15 +00:00
translators
6726918ab0
Update: Translations from eints
...
catalan: 30 changes by J0anJosep
2023-08-25 18:38:04 +00:00
Richard Wheeler
96fdfb941a
Feature: Transparency option for cost and income indicators ( #11001 )
2023-08-25 16:04:40 +02:00
Joan Josep
a938067d6b
Codechange: Invalid depot value is unrelated to invalid station value. ( #11227 )
2023-08-25 14:29:51 +02:00
translators
9aef380c99
Update: Translations from eints
...
italian: 43 changes by Rivarossi
french: 1 change by ottdfevr
2023-08-24 18:38:24 +00:00
translators
4d4a046d23
Update: Translations from eints
...
polish: 2 changes by pAter-exe
2023-08-22 18:39:08 +00:00
Jonathan G Rennison
2cbd76593a
Fix #11215 : Assert in NewGRF parameters window (manual parameter mode) ( #11217 )
2023-08-21 12:42:33 +02:00
Rubidium
6635f809dd
Fix #11181 : attempting to read string as int triggers assertion
2023-08-20 23:57:42 +02:00
Jonathan G Rennison
8df4aa7979
Fix: Road stops should not draw a ground sprite of 0 ( #11214 )
2023-08-20 15:46:19 -04:00
Patric Stout
45cc3acaf5
Codechange: [Win32] unify AppendDecodedStacktrace and LogStacktrace ( #11220 )
...
AppendDecodedStacktrace was already doing the same as LogStacktrace,
just with a different name.
2023-08-20 18:57:01 +00:00
translators
bc2dfc4691
Update: Translations from eints
...
turkish: 2 changes by BeratSJ
2023-08-20 18:39:09 +00:00
Patric Stout
352ac264a5
Remove: [Win32] module-list from crash.log ( #11219 )
...
Only Windows implemented this, and it opens the files to read them
to get a CRC. Doing this in a crash-handler is strange at best.
Lastly, nobody has actually ever used this information to come to
some sort of conclusion. The module-list is used in combination
with the crash.dmp, but this information is already embedded in
there.
2023-08-20 17:09:21 +00:00
Patric Stout
f120d2beb8
Add: use breakpad to create crash.dmp on MacOS / Linux too ( #11202 )
...
Normally only the Windows platform could create a crash.dmp, making
analysing crash-reports from MacOS / Linux rather tricky.
2023-08-20 17:16:08 +02:00
Patric Stout
8f6df242c4
Remove: [Win32] (pointer-only) stack trace in crash.log ( #11211 )
...
It only contains pointers, which nobody can decipher anyway.
So instead, just report "Not supported", like other targets do
when they can't print a sane stack trace.
2023-08-20 17:08:16 +02:00
Patric Stout
a5aebeb1b5
Remove: [Win32] register values in crash.log ( #11212 )
2023-08-20 16:59:22 +02:00
Loïc Guilloux
8c9ecde964
Change: Remove autosave from settings window ( #11218 )
...
It is broken since 4f4810d
and it's also in game options.
2023-08-20 14:33:02 +00:00
translators
93f4f1e83a
Update: Translations from eints
...
german: 40 changes by Wuzzy2
2023-08-19 18:38:46 +00:00
Patric Stout
cd10ddf9ae
Remove: last remnants of SunOS ( #11210 )
...
We have no evidence SunOS has been tried in the last few years,
and the code is awkward enough to just remove.
2023-08-19 00:52:58 +02:00
translators
7f5c0aab60
Update: Translations from eints
...
dutch: 2 changes by Afoklala
2023-08-18 18:38:21 +00:00
Patric Stout
5ac333c2cc
Fix: [MacOS] screen looks blue-ish when using newer SDKs ( #11207 )
...
The define kCGBitmapByteOrder32Host changed (around SDK 12?)
into an enum, which means an old #ifndef was triggering,
overwriting the value to 0. Sadly, 0 means Order16Big, causing
RGBA to become GRAB, which results in strange colours.
As we no longer support PPC, drop that piece of code completely.
2023-08-18 13:22:00 +02:00
Loïc Guilloux
2bf3c02fbf
Fix: no fast forward in network was ensured only from GUI side ( #11206 )
2023-08-17 21:14:39 +02:00
translators
e8c49d3543
Update: Translations from eints
...
swedish: 1 change by joeax910
2023-08-17 18:38:20 +00:00
Jonathan G Rennison
9061fef59c
Fix #11203 : [ICU] Glyph to char mapping with multiple runs ( #11204 )
2023-08-16 19:17:02 +00:00
translators
db1a9f00c0
Update: Translations from eints
...
dutch: 1 change by Bouke
2023-08-16 18:38:51 +00:00
Patric Stout
07730584d7
Codechange: make explicit when a TileIndex is cast to its basetype ( #11190 )
...
This prevents people accidentially assigning a TileIndex to a Date
or any other type they shouldn't.
2023-08-15 18:12:05 +02:00
arikover
5d3f7939e2
Fix d42a78f: Show correct road speed in construction dropdowns ( #11196 )
2023-08-15 10:34:36 +02:00
Loïc Guilloux
7ef55bdfb0
Cleanup: [CMake] don't add strgen.h twice ( #11199 )
2023-08-14 21:29:03 +00:00
translators
e652cd6434
Update: Translations from eints
...
swedish: 1 change by Brickblock1
english (us): 2 changes by 2TallTyler
2023-08-14 18:38:20 +00:00
Tyler Trahan
61dfd74e44
Codechange: Use correct type for max timetable start years constant ( #11197 )
2023-08-13 21:03:45 +02:00
translators
0726835735
Update: Translations from eints
...
english (au): 2 changes by krysclarke
french: 1 change by Lishouuu
portuguese (brazilian): 2 changes by pasantoro
2023-08-13 18:38:43 +00:00
Patric Stout
9dc2fbe4fa
Fix 0238a2b5: crash when news message is displayed ( #11195 )
2023-08-13 10:16:36 +00:00
Rubidium
40195e689d
Change: improve wording of help (host instead of IP) and update man page
2023-08-12 22:01:22 +02:00
Rubidium
a8e4d35bde
Fix: crash when not passing parameter for -n
2023-08-12 22:01:22 +02:00
translators
56e0d0c7ef
Update: Translations from eints
...
korean: 3 changes by telk5093
russian: 2 changes by Ln-Wolf
portuguese: 3 changes by azulcosta
2023-08-12 18:38:26 +00:00
Patric Stout
9624017fc2
Codechange: be more type-specific about types in NPFs queue ( #11192 )
2023-08-12 18:18:22 +00:00
Patric Stout
299570b2c1
Codechange: make TimerGameCalendar Date and Year types strongly typed ( #10761 )
2023-08-12 18:14:21 +00:00
Patric Stout
0238a2b567
Codechange: use std::variant instead of using bitflags in the value ( #11191 )
2023-08-12 16:05:00 +00:00
Patric Stout
a9ed590ca7
Codechange: use TimerGameCalendar::Date for variables in linkgraph that are dates ( #11187 )
2023-08-12 16:02:38 +02:00
Patric Stout
b7acf9e50e
Codechange: use TimerGameCalendar::Year and friends when working with years ( #11188 )
2023-08-12 16:02:31 +02:00
Patric Stout
01f55eb734
Codechange: introduce week/quarter triggers for TimerGameCalendar ( #11189 )
...
This simplifies code that triggers on these periods.
2023-08-12 16:02:11 +02:00
Loïc Guilloux
02be6ab6ba
Fix #11179 , a979d9c: Don't start more competitors than allowed ( #11185 )
2023-08-11 22:30:01 +02:00
Tyler Trahan
8ea01c0bfb
Fix #11180 : Use TileVirtXY for aircraft crash tile ( #11184 )
2023-08-11 14:05:16 +00:00
Tyler Trahan
c7b51a8c3a
Codechange: Use proper date types in various places ( #11177 )
2023-08-11 13:32:42 +00:00
Patric Stout
c9c9cfa4fd
Codechange: simplify the type of loaded_at_xy / next_station ( #11182 )
...
It was TileOrStationID, most likely to make sure both types in
the union are identical. But as TileIndex is a StrongTypeDef
that becomes a bit weird. So instead, still make sure they are
of equal size, but define their individual types better.
2023-08-11 12:55:55 +00:00
Patric Stout
5fba47b0f7
Codechange: make no assumptions on how the internals of TileIndex work ( #11183 )
...
Basically, avoid ".value", and just cast it to its original type
if you want to retrieve this.
2023-08-11 14:53:51 +02:00
Tyler Trahan
6190f48df0
Codechange: Add a DateToYear function instead of dividing each time ( #11173 )
2023-08-11 08:19:54 -04:00
Tyler Trahan
4928ccf916
Fix #10478 : Clarify airport noise control setting texts ( #11169 )
2023-08-11 08:19:26 -04:00
Tyler Trahan
e4fd99a33a
Codechange: Use DateAtStartOfYear() instead of multiplying by DAYS_IN_LEAP_YEAR ( #11174 )
2023-08-11 08:18:59 -04:00
Tyler Trahan
93069066f9
Codechange: Use auto type when sorting dates ( #11175 )
2023-08-11 08:18:32 -04:00
Tyler Trahan
6f057cbe6a
Codechange: Use proper date type in ClickChangeDateCheat ( #11176 )
2023-08-11 07:52:59 -04:00
translators
c2fc2d2ed5
Update: Translations from eints
...
romanian: 48 changes by bnegrut
2023-08-09 18:40:24 +00:00
translators
4daa00c22a
Update: Translations from eints
...
slovak: 53 changes by legitalk
2023-08-07 18:38:52 +00:00
translators
2bc97fae66
Update: Translations from eints
...
swedish: 45 changes by joeax910
portuguese: 106 changes by azulcosta
2023-08-06 18:38:21 +00:00
Tyler Trahan
9a602ff304
Fix #10334 : Store separate newgrf-safe version of date_of_last_service. ( #11124 )
...
This value is not changed when the date cheat is used, which caused issues with changing properties based on service date.
Co-authored-by: Peter Nelson <peter1138@openttd.org>
2023-08-06 12:57:10 -04:00
translators
77c00dfe98
Update: Translations from eints
...
slovak: 9 changes by legitalk
dutch: 3 changes by Afoklala
2023-08-04 18:38:28 +00:00
translators
9d376dc8e0
Update: Translations from eints
...
finnish: 1 change by hpiirai
portuguese (brazilian): 1 change by pasantoro
2023-08-03 18:38:02 +00:00
translators
11ba39b435
Update: Translations from eints
...
korean: 21 changes by telk5093
polish: 1 change by pAter-exe
2023-08-02 18:38:24 +00:00
Jonathan G Rennison
6a048bc168
Fix #11164 : Duplicate town names when using the many random towns function
2023-08-02 20:07:59 +02:00
translators
4213a2c909
Update: Translations from eints
...
russian: 1 change by Ln-Wolf
turkish: 33 changes by densxd
danish: 1 change by bscargo
french: 1 change by Lishouuu
polish: 21 changes by pAter-exe
2023-08-01 18:38:22 +00:00
PeterN
4acb68e539
Fix #11162 : Get colour map of correct train part. ( #11163 )
2023-08-01 15:05:42 +01:00
translators
43559524eb
Update: Translations from eints
...
english (au): 1 change by krysclarke
english (us): 1 change by 2TallTyler
portuguese: 1 change by azulcosta
2023-07-31 18:39:05 +00:00
Tyler Trahan
9876c861e4
Remove: Unused ship pathfinder invalidation setting callback
2023-07-30 18:21:13 -04:00
Tyler Trahan
4decd2aa48
Change: Enable "Forbid 90 degree turns" setting by default
2023-07-30 18:21:13 -04:00
translators
5a2e9be9d3
Update: Translations from eints
...
vietnamese: 10 changes by KhoiCanDev
french: 15 changes by Lishouuu, 9 changes by ottdfevr
2023-07-30 18:38:12 +00:00
Tyler Trahan
f57296a033
Change: Only show platform stopping location in orders when other than default ( #11102 )
2023-07-29 17:59:02 -04:00
translators
536d2cb75b
Update: Translations from eints
...
english (au): 4 changes by krysclarke
english (us): 4 changes by 2TallTyler
vietnamese: 2 changes by KhoiCanDev
russian: 21 changes by Ln-Wolf
finnish: 37 changes by hpiirai
portuguese: 24 changes by azulcosta
portuguese (brazilian): 6 changes by pasantoro
2023-07-29 18:38:24 +00:00
Loïc Guilloux
a979d9cdda
Fix #11067 , ed83c4b: Don't start competitors during map generation ( #11069 )
2023-07-29 12:31:33 +02:00
translators
760a194d31
Update: Translations from eints
...
english (us): 19 changes by 2TallTyler
dutch: 20 changes by Afoklala
2023-07-28 18:38:29 +00:00
Tyler Trahan
6e99326ad2
Fix: Missing hyphenation in various ownership strings ( #11155 )
2023-07-27 16:40:47 -04:00
translators
41faae8c59
Update: Translations from eints
...
english (au): 19 changes by krysclarke
vietnamese: 12 changes by KhoiCanDev
danish: 19 changes by bscargo
portuguese: 20 changes by azulcosta
portuguese (brazilian): 19 changes by pasantoro
2023-07-27 18:45:51 +00:00
translators
abc3a96e9d
Update: Translations from eints
...
czech: 6 changes by JakMel
danish: 6 changes by bscargo
2023-07-26 18:38:42 +00:00
Henry Wilson
a9c65a69d0
Feature: Add config option to set default company secondary colour for new games
...
This does duplicate translation strings for the colours
2023-07-26 16:22:30 +02:00
translators
5653a94490
Update: Translations from eints
...
czech: 16 changes by JakMel
2023-07-25 18:38:34 +00:00
translators
974e6e220c
Update: Translations from eints
...
korean: 3 changes by telk5093
french: 3 changes by ottdfevr
2023-07-24 18:40:15 +00:00
translators
74fac454d0
Update: Translations from eints
...
vietnamese: 1 change by KhoiCanDev
2023-07-23 18:38:30 +00:00
translators
d9d0a2c842
Update: Translations from eints
...
english (au): 3 changes by krysclarke
portuguese (brazilian): 22 changes by pasantoro
2023-07-22 18:38:34 +00:00
PeterN
fd155dfb40
Change: Scale bridge GUI by interface scale. ( #11152 )
2023-07-22 17:10:18 +01:00
translators
96e937c6cd
Update: Translations from eints
...
norwegian (bokmal): 1 change by buzzCraft
chinese (traditional): 1 change by wpi3
spanish (mexican): 1 change by absay
english (us): 3 changes by 2TallTyler
vietnamese: 13 changes by KhoiCanDev
russian: 3 changes by Ln-Wolf
dutch: 23 changes by Afoklala
lithuanian: 1 change by devbotas
portuguese: 6 changes by azulcosta
polish: 3 changes by pAter-exe
2023-07-21 18:38:52 +00:00
PeterN
44a86e796f
Fix #11061 : Missed currency-code suffix removal for some translations. ( #11149 )
2023-07-21 06:31:04 +01:00
translators
5d27d00821
Update: Translations from eints
2023-07-20 18:39:13 +00:00
Andy
ce9305a5ee
Add: [Script] GSIndustry.GetConstructionDate() method ( #11145 )
2023-07-20 20:35:37 +02:00
MasonGulu
0be27778af
Add: alternative setting for right-click close window option to exclude pinned windows ( #10204 )
2023-07-19 23:24:22 +02:00
translators
092a3db745
Update: Translations from eints
...
finnish: 3 changes by hpiirai
polish: 15 changes by pAter-exe
2023-07-19 18:38:55 +00:00
Jonathan G Rennison
f31a25cd59
Change: Do not allow mixing road/tram types in powered road type list ( #11148 )
...
Road/tram property 0F
2023-07-19 19:51:21 +02:00
Rubidium
461b4b8861
Cleanup: remove typedefs for non _t (u)int types and WChar
2023-07-19 19:30:14 +02:00
Rubidium
eaae0bb5e7
Codechange: automatic adding of _t to (u)int types, and WChar to char32_t
...
for i in `find src -type f|grep -v 3rdparty/fmt|grep -v 3rdparty/catch2|grep -v 3rdparty/opengl|grep -v stdafx.h`; do sed 's/uint16& /uint16 \&/g;s/int8\([ >*),;[]\)/int8_t\1/g;s/int16\([ >*),;[]\)/int16_t\1/g;s/int32\([ >*),;[]\)/int32_t\1/g;s/int64\([ >*),;[]\)/int64_t\1/g;s/ uint32(/ uint32_t(/g;s/_uint8_t/_uint8/;s/Uint8_t/Uint8/;s/ft_int64_t/ft_int64/g;s/uint64$/uint64_t/;s/WChar/char32_t/g;s/char32_t char32_t/char32_t WChar/' -i $i; done
2023-07-19 19:30:14 +02:00
Patric Stout
4f4810dc28
Fix: store autosave settings under the new names
2023-07-19 13:17:50 +02:00
Patric Stout
790c1b1b02
Codechange: refactor setting conversions and make sure it only happens once
...
By forcing it only happens once, the first time you upgrade to
a newer client, means you are free to jump between older and newer
versions after that. As they will not resync, the newer setting
can take on any of the (newer) values, without breaking the old
client. And when going to an old client and back, it doesn't
change it back to the converted value anymore.
2023-07-19 13:17:50 +02:00
Patric Stout
ece50d5a1d
Codechange: use BoolSettingDesc to parse settings in conversion code
2023-07-19 13:17:50 +02:00
translators
335c7ddac7
Update: Translations from eints
...
swedish: 22 changes by Brickblock1
2023-07-18 18:40:57 +00:00
translators
61b0143c87
Update: Translations from eints
...
english (us): 21 changes by 2TallTyler
korean: 3 changes by telk5093
catalan: 27 changes by J0anJosep
turkish: 12 changes by densxd
french: 13 changes by Lishouuu
2023-07-17 18:40:04 +00:00
translators
9c262b0d92
Update: Translations from eints
...
english (au): 3 changes by krysclarke
russian: 3 changes by Ln-Wolf
portuguese: 3 changes by azulcosta
2023-07-16 18:39:47 +00:00
Jonathan G Rennison
864d2352c2
Fix: Integer overflow in LinkGraphOverlay::ShowTooltip for long links
...
In particular when fully zoomed in
This could result in tooltips not being shown at all, or being shown
when not appropriate
2023-07-16 10:10:04 +02:00
translators
756c469b8f
Update: Translations from eints
...
english (au): 20 changes by krysclarke
swedish: 2 changes by SkogisREAL
japanese: 2 changes by fmang
welsh: 1 change by Ansbaradigeidfran
english (us): 2 changes by 2TallTyler
galician: 2 changes by pvillaverde
vietnamese: 2 changes by KhoiCanDev
korean: 8 changes by telk5093
hungarian: 1 change by PstasDev
indonesian: 1 change by ecolortest
italian: 2 changes by Rivarossi
german: 2 changes by Wuzzy2
russian: 9 changes by Ln-Wolf
finnish: 2 changes by hpiirai
catalan: 2 changes by J0anJosep
turkish: 2 changes by densxd
danish: 2 changes by bscargo
dutch: 2 changes by Afoklala
french: 2 changes by ZarTek-Creole
portuguese: 28 changes by azulcosta
esperanto: 2 changes by legoscia
portuguese (brazilian): 2 changes by ericandradex
polish: 2 changes by pAter-exe
2023-07-15 18:39:54 +00:00
Rubidium
bfbdaf8723
Update: force remove outdated strings as they can still trigger #11137 for other languages
2023-07-15 06:33:12 +02:00
Rubidium
a184e7f793
Fix #11137 : assertion failure due to interpreting string as number
2023-07-15 06:33:12 +02:00
Tyler Trahan
e4be7f4a45
Change: Clean up window title and button capitalization and wording ( #11134 )
...
* Change: Use consistent window title format for industry/cargo chains
* Change: Don't capitalize dropdown entry for cargo flow legend
* Change: Use consistent window titles for AI and GS settings
* Change: Use consistent window title for company value graph
* Change: Use consistent window title for industry funding
* Change: Use consistent button title to display industry chain
* Change: Use consistent button capitalization for local authority button on town window
* Fix: Don't capitalize random words in vehicle list management dropdown
* Fix: Use title case for Frame Rate window caption
* Fix: Use title case for Detailed Performance Rating window caption
2023-07-14 10:25:01 -04:00
glx22
46b504a700
Fix: ini_key issues reported by the script
2023-07-14 14:32:46 +02:00
Björn Wärmedal
7de37e07b6
Change: make Exclusive Transport Rights more exclusive ( #11076 )
...
Now, exclusive transport rights can only be bought if no company
currently owns them. A successful bribe will void any exclusive
transport rights that any *other* company currently has in the town.
2023-07-14 14:00:28 +02:00
merni-ns
fc9afb2d32
Fix #11115 : Focus the abandon game/exit game windows ( #11125 )
2023-07-14 13:57:45 +02:00
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