1
0
Fork 0
Commit Graph

23685 Commits (ee45c8ec1d75e67466cf70e9d732eea8841f9c75)

Author SHA1 Message Date
Peter Nelson f1b683b372 Change: Show the type of land covered by snow. 2025-02-25 08:22:46 +00:00
Peter Nelson 3cf9b15959 Codechange: Handle SnowTile state separately from ClearGround.
This removes the need for ClearGround to pretend that CLEAR_SNOW exists.
2025-02-25 08:22:46 +00:00
translators 02a1f59a6c Update: Translations from eints
english (au): 39 changes by krysclarke
chinese (traditional): 66 changes by KogentaSan
spanish (mexican): 65 changes by absay
chinese (simplified): 97 changes by WenSimEHRP
greek: 39 changes by gh658804
russian: 42 changes by Ln-Wolf
finnish: 39 changes by hpiirai
portuguese (brazilian): 39 changes by pasantoro
polish: 52 changes by pAter-exe
2025-02-25 04:43:08 +00:00
Loïc Guilloux c06f5cff09
Codefix b2c5712: [Script] Properly check sq_instanceof return value (#13657) 2025-02-24 21:09:04 +00:00
Rubidium 02f040b22a Codechange: remove unused alloc_func.hpp includes 2025-02-24 20:00:19 +01:00
Rubidium f6ce8d1b10 Codechange: replace C-style memory management in MacOS code 2025-02-24 16:04:22 +01:00
translators 416f6d54d2 Update: Translations from eints
spanish (mexican): 5 changes by absay
french: 6 changes by ottdfevr
portuguese: 1 change by azulcosta
polish: 6 changes by pAter-exe
2025-02-24 04:43:16 +00:00
Peter Nelson 96f260e718 Codechange: Pass TileDesc by reference. 2025-02-23 23:00:51 +00:00
Peter Nelson 012daaa3d9 Codechange: Use member initialisation for TileDesc members. 2025-02-23 23:00:51 +00:00
Peter Nelson 6e10584b91
Codechange: Use EncodedStrings for News messages. (#13654) 2025-02-23 20:24:02 +00:00
Rubidium 0afae7c546 Codechange: explicitly initialise member variables of Windows 2025-02-23 14:53:42 +01:00
Peter Nelson 1b6a77a190 Codechange: Update translations for parameter changes. 2025-02-23 13:52:13 +00:00
Peter Nelson 7fd0e6c27d Codechange: Use local string parameters for order and timetable windows.
Order display is now composed of concatenated strings instead of a complex 10-parameter format string, which simplifies things and fixes duplicate spaces.
2025-02-23 13:52:13 +00:00
Rubidium 23ba18ada7 Codechange: remove SimpleSpriteAllocator 2025-02-23 14:44:11 +01:00
Rubidium b50cf8f252 Codechange: rework OpenGL backend to not need emplacement new and manual deconstructor calls 2025-02-23 14:44:11 +01:00
SamuXarick 718a45b845
Fix 11a8b71: Set direction and rotation of ships upon building (#13625) 2025-02-22 23:33:25 +00:00
Peter Nelson b28dca2222
Codechange: Preprocess text ref stack parameters. (#13642)
NewGRF text ref stack is now processed in advance, creating parameters as necessary, and then encoding this into an EncodedString.
2025-02-22 22:03:38 +00:00
Peter Nelson 4ac81656ee
Codechange: Simplify some calls to DrawStringMultiLine(). (#13643)
Sometimes the bottom is passed as UINT16_MAX for no reason. In this case just pass the rect.

Other times it's to extend the window height; in that case just extend the rect itself.
2025-02-22 20:41:40 +00:00
Rubidium b264a4864b Codechange: make statistics from CompanyEconomyEntry use C++ constructs 2025-02-22 16:33:05 +01:00
Rubidium 24a7cde9cc Codechange: explicitly initialise Company member variables 2025-02-22 16:33:05 +01:00
Rubidium 8b7c92dfe3 Codechange: explicitly initialise NewGRF-pool-object member variables 2025-02-22 15:34:44 +01:00
Rubidium b64e8c0aea Codechange: use std::vector/std::span over MallocT for NewGRF bridge sprites 2025-02-22 15:34:32 +01:00
Rubidium 7121bc9f31 Codechange: remove ZeroedMemoryAllocator from OpenGLBackend 2025-02-22 15:22:44 +01:00
Rubidium 3e511f2ce7 Codechange: remove ZeroedMemoryAllocator from GRFFile 2025-02-22 14:58:26 +01:00
Rubidium 5cee804f98 Codechange: remove ZeroedMemoryAllocator from NWidgetBase 2025-02-22 14:38:33 +01:00
Peter Nelson bb4ac915ff
Fix 8f14894024: Badge widths were not updated on interface scale change. (#13630)
Prepare GUI badge class lists in OnInit() method of Windows, so that they handle scaling changes.
2025-02-22 13:29:52 +00:00
Jonathan G Rennison 8566030c53
Cleanup: Adjustments to comments to match code changes (#13636) 2025-02-22 13:28:35 +00:00
Peter Nelson 2b80812922
Codechange: Use parameterised GetString() in network-related windows. (#13635) 2025-02-22 13:16:47 +00:00
SamuXarick 847fbe3348
Fix: [Script] Set DummyAI Api version to last available (#13610) 2025-02-22 12:58:29 +01:00
Peter Nelson b13922fb48 Codechange: Update translations for parameter position changes. 2025-02-22 10:33:22 +00:00
Peter Nelson 24d327a30b Codechange: Use parameterised-GetString for vehicle related windows. 2025-02-22 10:33:22 +00:00
Peter Nelson 0428f8c667 Codechange: Add AppendStringWithArgsInPlace() function. 2025-02-22 10:33:22 +00:00
Peter Nelson 04a16a6b68 Codechange: Add GetParamMaxDigits/Value() functions.
Similar to SetDParamMaxDigits/Value(), except the value is returned instead of being set into a parameter.
2025-02-22 10:33:22 +00:00
Peter Nelson 4c99b5b368 Codechange: Return pair from GetBroadestDigit instead of out parameters. 2025-02-22 10:33:22 +00:00
translators 9a8d9e4e48 Update: Translations from eints
spanish (mexican): 9 changes by absay
galician: 30 changes by pvillaverde
chinese (simplified): 1 change by WenSimEHRP
catalan: 1 change by J0anJosep
latvian: 30 changes by lexuslatvia
dutch: 4 changes by Afoklala
2025-02-22 04:44:59 +00:00
translators cc93699459 Update: Translations from eints
english (au): 1 change by krysclarke
chinese (traditional): 1 change by KogentaSan
spanish (mexican): 3 changes by absay
greek: 1 change by gh658804
russian: 1 change by Ln-Wolf
finnish: 1 change by hpiirai
portuguese: 1 change by azulcosta
portuguese (brazilian): 1 change by pasantoro
polish: 1 change by pAter-exe
2025-02-21 04:45:52 +00:00
Peter Nelson f4b1bd30f2 Codechange: Codestyle changes for Script League table window. 2025-02-20 22:41:50 +00:00
Peter Nelson 17a4fcefde Fix: League table window ignored the minimal size in its widget description. 2025-02-20 22:41:50 +00:00
Peter Nelson 9b65786055
Fix: Incorrect snow density when making rocks snowy. (#13626)
Rocks do not use density, but snowy rocks use snow density. Therefore it should start at zero like non-rocky land.
2025-02-20 18:57:17 +00:00
Rubidium d0ba6ed1f4 Codechange: explicitly initialise network pool item related member variables 2025-02-20 16:58:51 +01:00
translators f89924a727 Update: Translations from eints
spanish (mexican): 12 changes by absay
2025-02-20 04:42:49 +00:00
Peter Nelson 2f8be54567
Fix cb23bc5e2a: Cargo types not initialised for house picker produced display. (#13624)
Instead of using a CargoArray and passing to BuildCargoAcceptanceString, use the simpler CargoTypes with {CARGO_LIST}.
2025-02-19 19:01:03 +00:00
glx22 a577229e95 Revert d7bd67cda3: [Scripts] "_typeof" metamethod negatively affects old scripts 2025-02-19 19:21:50 +01:00
Peter Nelson 3d5083218d
Fix #13621: Incorrect Owner text in land area info. (#13622)
An if-condition was accidentally inverted in 2d7d085e8e, and an empty parameter is required.
2025-02-19 09:14:03 +00:00
translators f4b75213d8 Update: Translations from eints
spanish (mexican): 76 changes by absay
korean: 4 changes by telk5093
catalan: 4 changes by J0anJosep
2025-02-19 04:45:02 +00:00
Peter Nelson 9de913dd21
Codechange: Use helper to set grf_prop's grffile and grfid together. (#13612) 2025-02-18 22:33:13 +00:00
Rubidium 37d549d395 Codefix 35e58f68e4: afterload did not properly set airport rotation 2025-02-18 23:09:02 +01:00
Rubidium 704f5e2500 Codechange: explicitly initialise Sign member variables 2025-02-18 22:41:20 +01:00
Rubidium 11a8b71504 Codechange: explicitly initialise Vehicle related member variables 2025-02-18 22:11:04 +01:00
Rubidium 6327fa4623 Codechange: explicitly initialise StoryPage and StoryPageElement member variables 2025-02-18 22:10:43 +01:00
Rubidium 8a4493f990 Codechange: explicitly initialise Town member variables 2025-02-18 22:10:31 +01:00
Rubidium ce2ae07233 Codechange: explicitly initialise Subsidy member variables 2025-02-18 22:10:10 +01:00
glx22 d7bd67cda3 Add: [Scripts] "_typeof" metamethod 2025-02-18 21:19:15 +01:00
Rubidium 35e58f68e4 Codechange: explicitly initialise (Base)Station related member variables 2025-02-18 20:02:23 +01:00
Rubidium 5ccbaa6990 Codechange: explicitly initialise OrderBackup and OrderList member variables 2025-02-18 20:02:09 +01:00
Rubidium 0a285e1a86 Codechange: explicitly initialise Goal member variables 2025-02-18 20:01:58 +01:00
Rubidium 8682f39966 Codechange: explicitly initialise Object member variables 2025-02-18 18:51:44 +01:00
Rubidium 6eb2dec338 Codechange: explicitly initialise LinkGraph and LinkGraphJob member variables 2025-02-18 18:41:31 +01:00
Rubidium 35e7255a5a Codechange: explicitly initialise LeaugeTable and LeagueTableElement member variables 2025-02-18 18:41:14 +01:00
Rubidium 7e471bf04d Codechange: explicitly initialise Industry member variables 2025-02-18 18:18:14 +01:00
Rubidium 63e99871c1 Codechange: explicitly initialise Group member variables 2025-02-18 18:17:56 +01:00
Rubidium b4a4ca83ff Codechange: explicitly initialise EngineRenew member variables 2025-02-18 07:21:11 +01:00
Rubidium 0449dc48c8 Codechange: explicitly initialise Depot member variables 2025-02-18 07:21:04 +01:00
Rubidium 1f3198a395 Codechange: explicitly initialise Engine member variables 2025-02-18 07:20:58 +01:00
Rubidium bb81139c1f Codechange: explicitly initialise CargoPayment member variables 2025-02-18 07:20:49 +01:00
translators 53dd1258a7 Update: Translations from eints
english (au): 3 changes by krysclarke
norwegian (bokmal): 4 changes by eriksorngard
chinese (traditional): 4 changes by KogentaSan
spanish (mexican): 67 changes by absay
english (us): 4 changes by 2TallTyler
chinese (simplified): 54 changes by WenSimEHRP
arabic (egypt): 77 changes by ImMorrow
greek: 3 changes by gh658804
russian: 3 changes by Ln-Wolf
finnish: 3 changes by hpiirai
portuguese: 3 changes by azulcosta
portuguese (brazilian): 3 changes by pasantoro
polish: 3 changes by pAter-exe
2025-02-18 04:43:06 +00:00
Peter Nelson 370c702549
Add: Show badges in NewGRF debug window. (#13597) 2025-02-17 22:15:45 +00:00
Peter Nelson 7a23bfa747
Add: Filter purchase lists by badge text. (#13588) 2025-02-17 17:28:26 +00:00
Peter Nelson 5e43aaff35
Add: Also show badges in fund industry list. (#13590) 2025-02-17 17:27:57 +00:00
Peter Nelson af7054dcb6
Fix 8f14894024: Badge name list did not use translatable separator. (#13591) 2025-02-17 17:27:22 +00:00
translators 2f66f74035 Update: Translations from eints
english (au): 1 change by krysclarke
chinese (traditional): 1 change by KogentaSan
spanish (mexican): 264 changes by absay
greek: 1 change by gh658804
russian: 2 changes by Ln-Wolf
finnish: 1 change by hpiirai
portuguese: 1 change by jcteotonio
portuguese (brazilian): 1 change by pasantoro
polish: 4 changes by pAter-exe
2025-02-17 04:43:27 +00:00
Peter Nelson ed57b9c297
Fix faa845398f: Crash when loading tile layout with no building sprites. (#13589)
Tile layouts are permitted to have no building sprites, therefore the test for an empty sequence of sprites is not valid.
2025-02-16 22:29:56 -05:00
Peter Nelson 13944222f3
Fix d13b0e0813: "New vehicle now available!" message is wrong colour. (#13586) 2025-02-16 23:00:24 +00:00
Peter Nelson 8f14894024 Add: NewGRF Badges. 2025-02-16 22:24:25 +00:00
Peter Nelson ca3b5ed6c1 Codechange: Allow iterating a BaseBitSet. 2025-02-16 22:24:25 +00:00
Peter Nelson 0af5d5a9e6 Codechange: Make non-generic GRF string ids unique per feature.
This prevents engine name strings conflicting with generic strings if more than 53,248 engines are defined.
2025-02-16 22:24:25 +00:00
Peter Nelson 154896ce55
Codechange: Use GetString() with local parameters in script functions. (#13585) 2025-02-16 21:27:25 +00:00
Rubidium fd4adc55e3 Codechange: replace INVALID_X with XID::Invalid() for PoolIDs 2025-02-16 20:23:00 +01:00
Peter Nelson d13b0e0813
Codechange: Build engine preview strings from separate strings. (#13579)
This replaces stuffing substrings and parameters in various global parameters and uses local parameters instead.
2025-02-16 19:02:02 +00:00
Rubidium af00b835a1 Codechange: remove transitional supports from the pool 2025-02-16 19:31:37 +01:00
Rubidium 576a96c685 Codechange: let the ReusableBuffer use std::vector as storage 2025-02-16 19:31:13 +01:00
Rubidium 59df0ff496 Codechange: strongly type StationID 2025-02-16 18:25:51 +01:00
Patric Stout 155aaa5967 Fix fd2949d: use std::prev() to walk back from a possible string::end() 2025-02-16 16:36:25 +01:00
Patric Stout 2eb32ece6d Fix fd2949d: std::string can reallocate on insert() 2025-02-16 16:36:25 +01:00
Peter Nelson 3ade64954c
Change: Restore wider spacers in main toolbars. (#12039)
Width for all spacers was included only due to an off-by-one from counting buttons and not excluding the normally hidden switcher button.

Spacer width of quarter the button width is now included explicitly,
2025-02-16 14:51:07 +00:00
Rubidium 70c9f3963c Codechange: strongly type VehicleID 2025-02-16 14:50:15 +01:00
Rubidium 1003967267 Codechange: strongly type TownID 2025-02-16 14:50:15 +01:00
Rubidium d3408a4542 Codechange: strongly type IndustryID 2025-02-16 14:50:15 +01:00
Rubidium 7e04651220 Codechange: strongly type EngineID 2025-02-16 14:50:15 +01:00
Rubidium 17b97e5d1b Codechange: introduce ConvertibleThroughBase helper 2025-02-16 14:50:15 +01:00
Rubidium 380e7b48ce Codechange: use std::variant instead of a custom version for news references 2025-02-16 14:50:15 +01:00
Rubidium 2cb59b1856 Codechange: make VehicleID an enum 2025-02-16 14:50:15 +01:00
Rubidium c25c3e8710 Codechange: make IndustryID an enum 2025-02-16 14:50:15 +01:00
Rubidium 9015c3651f Codechange: make EngineID an enum 2025-02-16 14:50:15 +01:00
Rubidium ab8177ea77 Codechange: strongly type CompanyID 2025-02-16 14:02:18 +01:00
Rubidium 5401ab1f7b Codechange: use ReferenceThroughBaseContainer for containers that are index by CompanyID 2025-02-16 14:02:18 +01:00
Rubidium 1ffc950e22 Codechange: use prefix operator++ for CompanyID iterations 2025-02-16 14:02:18 +01:00
Rubidium b0eb8fe4db Codechange: introduce ConvertibleThroughBase helpers 2025-02-16 14:02:18 +01:00
Rubidium bdd14063a0 Codechange: move vehicle name to LoadgameState and change to std::vector 2025-02-16 13:45:07 +01:00
Rubidium 11d48aa47c Codechange: do not use ZeroedMemoryAllocator for NewGRFSpriteLayout 2025-02-16 13:44:46 +01:00
Rubidium 2d30df8110 Codefix: 'Declaration hides variable' 2025-02-16 13:44:37 +01:00
Peter Nelson 443d7ece29
Codefix 75387b9e2b: Prefer using EnumBitSet.base() instead of shifting StationFacility. (#13575) 2025-02-16 11:52:40 +00:00
Rubidium e8beb0eff3 Codechange: add support for std::variant in EndianBuffer 2025-02-16 12:44:10 +01:00
Rubidium a50c953854 Codefix: Clone should make a clone, not copy some data to another instance 2025-02-16 12:31:25 +01:00
Rubidium faa845398f Codechange: use std::vector for NewGRFSpriteLayout registers 2025-02-16 12:31:25 +01:00
Rubidium e7595c6c85 Codechange: pass oldloader LoadgameState by reference instead of pointer 2025-02-16 12:31:14 +01:00
Rubidium 44506ebc86 Codechange: use span size over terminator object 2025-02-16 11:19:12 +01:00
Peter Nelson 2d7d085e8e
Codechange: Use EncodedString for error messages. (#13569) 2025-02-16 10:04:32 +00:00
Peter Nelson 43c7865ca2
Fix #13570: Query window's caption was no longer visible. (#13572) 2025-02-16 10:00:50 +00:00
translators 6283631155 Update: Translations from eints
spanish (mexican): 24 changes by absay
vietnamese: 2 changes by KhoiCanDev
french: 14 changes by glx22
2025-02-16 04:42:07 +00:00
Rubidium 8b7460759a Codechange: rework StringFilter to not need MallocT anymore 2025-02-15 23:43:57 +01:00
Su 4a37b6448f
Change: Make tree placement at world generation look more organic (#13515)
Trees are now placed in irregular blob shapes instead of repetitive diamond shapes.

---------

Co-authored-by: Susan <su+git@angel-island.zone>
Co-authored-by: Peter Nelson <peter1138@openttd.org>
2025-02-15 20:54:02 +00:00
Rubidium fd2949d559 Codechange: use std::string as backing for textbuf 2025-02-15 21:52:55 +01:00
Rubidium ad8f394835 Codechange: introduce string::iterator aware Utf8Decode, Utf8Encode and Utf8PrevChar 2025-02-15 21:52:55 +01:00
Rubidium 672c5f0d98 Codefix: 'Short global name' 2025-02-15 21:06:28 +01:00
Peter Nelson cb23bc5e2a
Add: Show cargo types produced by building in house picker. (#13561) 2025-02-15 15:06:58 +00:00
Peter Nelson 04708736d9
Codechange: Use EnumBitSet for CommandFlags. (#13560) 2025-02-15 09:36:20 +00:00
translators f620ba9d05 Update: Translations from eints
dutch: 25 changes by Afoklala
2025-02-15 04:44:38 +00:00
Peter Nelson ff7eb996e6
Codechange: Use variable storage for GrfProps with cargo-type groups. (#13557)
Slots are only allocated when used instead of being reserved.

Array-based GrfProps are still used when the number of options is more limited.
2025-02-14 18:30:17 +00:00
Rubidium 4fe3f0ccdd Codechange: simplify management of temporary Engine in saveload 2025-02-14 18:35:12 +01:00
Rubidium 069ff846e4 Codechange: use std::vector/std::span for DrawTileSprites over malloc-ed table 2025-02-14 16:01:45 +01:00
Peter Nelson 6cf7a899e9
Codechange: Use EnumBitSet for PauseMode. (#13553) 2025-02-14 08:30:04 +00:00
translators 3518d7e0f1 Update: Translations from eints
chinese (traditional): 4 changes by KogentaSan
2025-02-14 04:42:55 +00:00
merni-ns b678e5ddd1 Fix #12925: Prevent cost estimates for settings changes 2025-02-14 04:36:24 +01:00
Peter Nelson 20e57a02a2
Codechange: Use GetString() with argument parameters in simple cases. (#13551)
Avoids using global string parameters.
2025-02-14 00:10:56 +00:00
Rubidium c3d5e6d2a0 Codechange: Use EnumBitSet for DoCommandFlags 2025-02-14 00:28:57 +01:00
Peter Nelson f309b90a1d Codechange: Use EnumBitSet for Airport blocks. 2025-02-13 22:02:02 +00:00
Peter Nelson 9049710051 Codechange: Allow (Re)setting a range of values in a BaseBitSet. 2025-02-13 22:02:02 +00:00
Peter Nelson f0777737af Fix #13459, Fix #13546: Crash when changing NewGRFs in game with picker window open. 2025-02-13 21:07:37 +00:00
Peter Nelson 71dafdb21e Codechange: Use EnumBitSet for picker window invalidation flags. 2025-02-13 21:07:37 +00:00
Peter Nelson 75387b9e2b Codechange: Use EnumBitSet for StationFacility. 2025-02-13 18:03:13 +00:00
Peter Nelson 8d38308ebb Codechange: Allow ConvertibleThroughBase to be used as One/ManyOfManySetting. 2025-02-13 18:03:13 +00:00
Peter Nelson 7975145080
Codechange: Use EnumBitSet for TownActions. (#13542) 2025-02-13 18:02:39 +00:00
Loïc Guilloux b2c5712319
Fix: [Script] Improve type checking of parameters (#13522) 2025-02-13 13:46:21 +01:00
Loïc Guilloux dc311d7c38
Fix: [Script] Report errors happening during 'Load()' (#13537) 2025-02-13 12:41:39 +01:00
translators 47fca6d8e6 Update: Translations from eints
spanish (mexican): 1 change by absay
2025-02-13 04:44:12 +00:00
Jonathan G Rennison d06b371254 Cleanup: Fix various spelling errors 2025-02-12 22:44:51 +01:00
Jonathan G Rennison 4d0682d034
Fix 1d04d402: Inverted visibility state in SettingsPage::UpdateFilterState (#13543) 2025-02-12 21:34:59 +00:00
translators 3bbc80f1d9 Update: Translations from eints
norwegian (bokmal): 23 changes by eriksorngard
spanish (mexican): 1 change by absay
korean: 14 changes by telk5093
catalan: 13 changes by J0anJosep
2025-02-12 04:43:37 +00:00
Peter Nelson 1d04d4027a
Codechange: Use EnumBitSet for SettingEntryFlags. (#13534) 2025-02-11 22:18:06 +00:00
Peter Nelson 0d5708ba86
Codechange: Use EnumBitSet for AirportFTAClass::Flags (#13535) 2025-02-11 21:49:18 +00:00
Peter Nelson 9cdf740097
Codechange: Use ProviderManager to define screenshot generators. (#13526) 2025-02-11 21:38:20 +00:00
Jonathan G Rennison 23dc393822
Codechange: Compile fmt internals in a separate translation unit (#13527)
Instead of defining FMT_HEADER_ONLY to include fmt internals
in the headers included by all fmt-using translation units.
2025-02-11 20:11:50 +01:00
Peter Nelson 984da2455b
Codechange: Use EncodedString for Query window. (#13528)
This removes the need to separately capture and store global parameters.
2025-02-11 17:30:16 +00:00
translators 08e451e6d9 Update: Translations from eints
english (au): 14 changes by krysclarke
chinese (traditional): 14 changes by KogentaSan
english (us): 14 changes by 2TallTyler
vietnamese: 3 changes by KhoiCanDev
greek: 14 changes by gh658804
russian: 16 changes by Ln-Wolf
finnish: 14 changes by hpiirai
portuguese: 14 changes by azulcosta
portuguese (brazilian): 15 changes by pasantoro
polish: 12 changes by pAter-exe
2025-02-11 04:43:06 +00:00
Peter Nelson 7c1898eaf1 Codechange: Store EncodedString for text effects.
This replaces capturing and storing string parameters.
2025-02-10 22:49:14 +00:00
Peter Nelson 2cb9f55183 Codechange: Store EncodedString for tooltip text.
This replaces capturing and storing string parameters.
2025-02-10 22:49:14 +00:00
Peter Nelson 1f21e9dc74 Codechange: String parameter encoding for regular strings.
This allows a string and its parameters to be encoded and stored as just one string, instead of juggling with capturing and restoring string parameters.

The advantage of EncodedStrings over raw strings is they use current language and parameter values at the point of decoding.
2025-02-10 22:49:14 +00:00
Peter Nelson 4010313180 Codechange: String parameters can now be explicitly not initialised.
As the visitor is now more complex this requires an unspecialised GetNextParameter() to avoid it being repeated for each return type.
2025-02-10 22:49:14 +00:00
Peter Nelson 0c0e7606d9
Codechange: Use unique_ptr for UDP client/server sockets handlers. (#13524) 2025-02-10 22:41:56 +00:00
Peter Nelson e80992fc47
Codefix: Change method to take const pointer instead of using const_cast. (#13525) 2025-02-10 22:10:36 +00:00
Loïc Guilloux 7fbfaa1b54
Fix #13520: [Script] doxygen ignored 'constexpr' constants (#13523) 2025-02-10 23:05:31 +01:00
Peter Nelson 687829fa14
Codechange: Use std::unique_ptr for ScriptList::sorter. (#13517)
Avoids manual pointer management.
2025-02-10 19:20:52 +00:00
translators faadf00a6a Update: Translations from eints
czech: 25 changes by JakMel
2025-02-10 04:45:03 +00:00
Rubidium 77bf3084da Codefix f60b3d7f79: compilation failure using GCC-12 2025-02-09 22:51:02 +01:00
Rubidium 37c215f1fd Fix #13513, ec492cb267: std::numeric_limits<CompanyMask> not working causes no vehicles to exist
std::numeric_limits<T>::max() returns 0 instead of an error when the type is unknown.
Solve it by implementing and using Set() and All() in BaseBitSet in same way as std::bitset.
2025-02-09 22:50:55 +01:00
Tyler Trahan 521b860394
Feature: Prevent towns from upgrading individually-placed houses (#13270) 2025-02-09 20:37:06 +00:00
Peter Nelson 1ed685b5c1
Codechange: Use EnumBitSet.Any(). (#13512) 2025-02-09 20:16:16 +00:00
Patric Stout 86841ba1f0
Codechange: no longer add "src" to the include-path (#13511) 2025-02-09 19:43:15 +00:00
Peter Nelson 588597805d
Feature: Place rocks on "too steep" tiles when fixing slopes. (#13462)
When generating maps or loading heightmaps, the terrain height is altered to prevent slopes that can't be represented.

During this, there is now a chance of these tiles being turned into a rocky tile.

Chance of placing rocks is based on the height. This gives a rocky mountain appearance without affecting all peaks.
2025-02-09 18:37:25 +00:00
Peter Nelson ba20ea5d18
Codechange: Use EnumBitSet for SpriteComponent. (#13509) 2025-02-09 18:37:01 +00:00
Tyler Trahan b2f5a4901b
Add: Setting to allow placing houses manually in-game (#13266) 2025-02-09 18:34:31 +00:00
Rubidium 01b639bb23 Codechange: replace instance of raw uint16_t with CompanyMask 2025-02-09 19:24:51 +01:00
Rubidium ec492cb267 Codechange: make CompanyMask a BaseBitSet implementation 2025-02-09 19:24:51 +01:00
Rubidium e972033e11 Codechange: introduce BaseBitSet as base for EnumBitSet 2025-02-09 19:24:51 +01:00
Rubidium b9777269ce Codechange: strongly type SignID 2025-02-09 18:05:01 +01:00
Rubidium 42d6a12874 Codechange: replace union with std::variant for ViewportSignKdtreeItem::id 2025-02-09 18:05:01 +01:00
Rubidium cd4482b5df Codechange: make TownID an enum 2025-02-09 18:05:01 +01:00
Rubidium cda9c2759e Codechange: make SignID an enum 2025-02-09 18:05:01 +01:00
Rubidium 1e24b41f22 Codechange: strongly type GroupID 2025-02-09 16:52:21 +01:00
Rubidium 798e9f229c Codechange: strongly type DepotID 2025-02-09 16:52:21 +01:00
Rubidium d55b9cff9d Codechange: strongly type ClientPoolID
Also remove some of the artifical documented limits as they are not true; the
ClientPoolID was not sent over the network, so its size isn't of concern.
2025-02-09 16:52:21 +01:00
Rubidium 47721edb1d Codechange: strongly type AdminID 2025-02-09 16:52:21 +01:00
Rubidium 6535fc1f80 Codechange: add helpers to VehicleListIdentifier for ConvertibleThroughBase 2025-02-09 16:52:21 +01:00
Patric Stout f60b3d7f79
Codechange: [Script] rework how compat-scripts work and are loaded (#13504)
- compat_NNN.nut files now only defines what is needed to downgrade from API NNN + 1 to NNN.
- Automatically load all required compatibility files based on the API version of the script, starting with the latest.
2025-02-09 15:04:04 +00:00
Peter Nelson 2824e790ec
Codechange: Use EnumBitSet for SortListFlags. (#13506) 2025-02-09 14:38:35 +00:00
kg 1786e1b80e
Add: Press Ctrl to build diagonal canals in game mode (#13432) 2025-02-09 15:30:00 +01:00
Rubidium 155d7de132 Codechange: change Source into a class with conversion helpers
A Source is either a CompanyID (Headquarters), IndustryID or TownID.
When making those types stronger a lot of casts would be needed, but
with these simple helpers the intent is shown more clearly.
2025-02-09 15:28:35 +01:00
Rubidium 2929411130 Codechange: introduce ReferenceThroughBaseContainer
This provides support for ConvertibleThroughBase positions passed to the
functions of a container that return a reference, specifically 'at(pos)'
and 'operator[](pos)'.
2025-02-09 15:28:03 +01:00
Rubidium 44a979559a Codechange: strongly type Subsidy 2025-02-09 15:07:29 +01:00
Rubidium 3aa60fd479 Codechange: strongly type StoryPageID and StoryPageElementID 2025-02-09 15:07:29 +01:00
Rubidium 5ca5790ac8 Codechange: strongly type SpriteGroupID 2025-02-09 15:07:29 +01:00
Rubidium f9f19de8c2 Codechange: strongly type RoadStopID 2025-02-09 15:07:29 +01:00
Rubidium d10499f2f1 Codechange: strongly type PersistentStorageID 2025-02-09 15:07:29 +01:00
Rubidium 9ab36b594d Codechange: strongly type OrderID and OrderListID 2025-02-09 15:07:29 +01:00
Rubidium d61d643906 Codechange: strongly type OrderBackupID 2025-02-09 15:07:29 +01:00
Rubidium cb3db3cedd Codechange: strongly type ObjectID 2025-02-09 15:07:29 +01:00
Rubidium c311e6e4a9 Codechange: strongly type LinkGraphID and LinkGraphJobID 2025-02-09 15:07:29 +01:00
Rubidium 6c8915fdbc Codechange: strongly type LeagueTableID and LeagueTableElementID 2025-02-09 15:07:29 +01:00
Rubidium 6aada55e96 Codechange: strongly type GoalID 2025-02-09 15:07:29 +01:00
Rubidium 7cc194e745 Codechange: strongly type EngineRenew 2025-02-09 15:07:29 +01:00
Rubidium b575d5b8e4 Codechange: strongly type CargoPacket 2025-02-09 15:07:29 +01:00
Rubidium 4803ca7462 Codechange: strongly type CargoPayment 2025-02-09 15:07:29 +01:00
Rubidium 07dd5bf01d Codechange: support strongly typed pool element IDs in squirrel/saveload 2025-02-09 15:07:29 +01:00
Rubidium 30127dfe90 Codechange: prepare the pool for strongly typed pool element IDs 2025-02-09 15:07:29 +01:00
Patric Stout 82c5e37b46
Change: have a better title for the Online Content window (#13505) 2025-02-09 13:55:16 +00:00
Rubidium 0f5f5714b3 Codechange: add unit test against over optimisation of enum-bitmasks 2025-02-09 14:44:23 +01:00
Rubidium ce07ea00b8 Codechange: add and use GetDepotDestinationIndex map accessor 2025-02-09 14:27:51 +01:00
Peter Nelson dccc6185b9
Codechange: Change internal format of encoded strings to improve robustness and allow expansion. (#13499) 2025-02-09 12:45:50 +00:00
Rubidium 1193852007 Codechange: do not use ScriptCompany::CompanyID outside of the script API 2025-02-09 12:04:42 +01:00