Peter Nelson
fa1849b855
Codechange: Use std::range::find_if where possible.
2024-11-24 10:36:03 +00:00
Peter Nelson
059a4b22f7
Codechange: Use projection-based std::range::find where possible.
...
This simplifies matching by class members and avoids wordy lambdas.
2024-11-24 10:36:03 +00:00
Peter Nelson
876d53282e
Codechange: Use std::ranges::count(_if).
2024-11-24 10:36:03 +00:00
Peter Nelson
3be0166801
Codechange: Use std::ranges::find where possible.
...
Replace `std::find(range.begin(), range.end(), ...)` with `std::ranges::find(range, ...)`.
2024-11-24 10:36:03 +00:00
Peter Nelson
1f18894408
Change: Determine industry directory width only on visible rows. ( #13097 )
...
When rebuilding the industry directory list, the width of every item in the list is obtained to get the maximum width required for the horizontal scrollbar. This can take considerable time if there are a lot of industries.
Instead, calculate only for the visible rows, and grow as needed.
2024-11-24 06:51:58 +00:00
translators
9399a92a4f
Update: Translations from eints
...
english (au): 2 changes by krysclarke
swedish: 4 changes by joeax910
chinese (traditional): 2 changes by KogentaSan
chinese (simplified): 3 changes by WenSimEHRP
greek: 4 changes by gh658804
russian: 3 changes by Ln-Wolf
finnish: 4 changes by hpiirai
portuguese (brazilian): 3 changes by pasantoro
polish: 46 changes by pAter-exe
2024-11-24 04:46:32 +00:00
Loïc Guilloux
681b1928b4
Fix #13110 : [Script] convert table keys to string when generating JSON ( #13113 )
2024-11-23 13:46:33 +01:00
Peter Nelson
b890dab2b4
Change: Treat recolour sprites as regular sprites in the SpriteCache. ( #13107 )
...
Recolour sprites are loaded when seen, instead of being loaded when needed. This could result in the sprite cache being filled up with recolour sprites, and also mean that replacing recolour sprites didn't release the previously allocated memory.
Instead, allow recolour sprites to be loaded as needed and freed when unneeded, like regular sprites.
2024-11-23 12:14:46 +00:00
Peter Nelson
00ae20fa02
Codechange: Tidy up GRFParameterInfo. ( #13114 )
...
Use member-initialisation, reorder members to reduce space, and prefer references.
SetValue/GetValue are moved to GRFConfig as they set the config's parameter values.
2024-11-23 12:13:52 +00:00
Jonathan G Rennison
b84a164590
Codechange: Avoid unnecessary re-reads/seeks in RandomAccessFile::ReadBlock
2024-11-23 21:48:22 +10:00
Peter Nelson
653e5e8b63
Codechange: Use std::visit for formatting script strings.
2024-11-23 10:55:41 +00:00
Peter Nelson
43da3e7693
Codechange: Use std::visit for ScriptDataVariant.
2024-11-23 10:55:41 +00:00
Peter Nelson
d875ac8947
Add: const operator->() for ScirptObjectRef.
2024-11-23 10:55:41 +00:00
translators
26ae50baf9
Update: Translations from eints
...
english (au): 1 change by krysclarke
chinese (traditional): 1 change by KogentaSan
korean: 5 changes by telk5093
greek: 1 change by gh658804
dutch: 1 change by KevinHeijsteeg2
2024-11-23 04:47:22 +00:00
Peter Nelson
a4b4095232
Codechange: Shuffle Engine members around to reduce size. ( #13115 )
...
Reduces overall size of Engine from 752 to 720 bytes.
2024-11-22 23:58:13 +00:00
Peter Nelson
16038879e4
Codechange: Speed up industry generation using industry-type checks. ( #13094 )
...
Store a list of industries per industry type. This allows industry generation checks which only consider a specific industry type to check a reduced set of industries, leading to a potential performance increase.
This also removes the need to track industry type counts as well.
2024-11-22 23:17:24 +00:00
Peter Nelson
a951896364
Add: Add cargo transported to industry production graph.
2024-11-22 20:47:51 +00:00
Peter Nelson
22035a4f2a
Add: Ability to show and filter different datasets on the same graph.
2024-11-22 20:47:51 +00:00
Peter Nelson
598fdf04a4
Codechange: Use vector instead of fixed array for graph data.
2024-11-22 20:47:51 +00:00
felixprigge
67a0fccfad
Fix: [Timetable] Use days as precision in day mode for accurate timetable syncing ( #12683 )
...
Co-authored-by: flowprint <61750128+flowprint@users.noreply.github.com>
2024-11-21 22:27:07 +00:00
Peter Nelson
6d3adc6169
Codechange: Remove ZeroedMemoryAllocator from ScriptText. ( #13108 )
...
ScriptText is much simplified from its original design. Use member initialisation instead.
2024-11-20 22:16:14 +00:00
Peter Nelson
13da98dab8
Fix: Error message not set when unable load an old save. ( #13106 )
2024-11-20 18:24:07 +00:00
translators
1b6a6f1cd2
Update: Translations from eints
...
chinese (simplified): 4 changes by WenSimEHRP
danish: 19 changes by bscargo
2024-11-20 04:46:40 +00:00
Peter Nelson
b730f8783e
Fix d450d4743: Division by zero when larger_towns is set to 0. ( #13104 )
...
Universe ended.
2024-11-20 00:09:02 +00:00
Peter Nelson
9b6b6d50c3
Fix: Network clients incorrectly truncated all strings to NETWORK_COMPANY_NAME_LENGTH. ( #13102 )
...
This should no longer be necessary since we used std::strings.
2024-11-19 23:44:54 +00:00
SamuXarick
85e9f5745a
Codefix: Replace magic number in Kdtree ( #13098 )
2024-11-19 20:34:25 +00:00
Peter Nelson
6c09dcdd66
Codechange: Use reference for non-optional StationList parameter. ( #13092 )
2024-11-19 20:33:32 +00:00
Peter Nelson
640a270ed6
Codefix: Use correct type for IndustryType in several industry functions. ( #13096 )
2024-11-19 20:32:06 +00:00
Peter Nelson
fcac5479f1
Codechange: Use std::visit for SetupCargoForClimate. ( #13103 )
2024-11-19 20:30:16 +00:00
Peter Nelson
fc8685d618
Codechange: Use functor for Kdtree's XYFunc. ( #13074 )
...
Kdtree uses a function pointer and incorrectly calls it a functor. The function pointer needs to be passed on instantiaton.
Instead, use an actual functor. This simplifies instantiation.
2024-11-19 20:29:56 +00:00
Koen Bussemaker
369ea29e1e
Codechange: Remove redundant checks in FindClosestTrainDepot
2024-11-19 20:42:43 +01:00
Peter Nelson
f9b5f78b8a
Codechange: Use std::visit for GetActiveCargoLabel.
2024-11-19 18:27:19 +00:00
Peter Nelson
25c5a64d39
Codechange: Use std::visit instead of std::get_if for string parameters. ( #13100 )
...
It's tidier and ensures all cases are handled, and doesn't use pointers.
2024-11-19 18:17:41 +00:00
SamuXarick
60ae50e016
Codechange: Make kdtree member functions const for const-correctness ( #13099 )
2024-11-19 12:36:56 +00:00
Michael Lutz
d2496b6ec4
Add: [NewGRF] Callback for custom refit mask for engines/vehicles.
2024-11-18 22:10:38 +01:00
Michael Lutz
a3ee05737f
Add: [NewGRF] Vehicle prop that allows refittability based on cargo class intersection.
2024-11-18 22:10:38 +01:00
Peter Nelson
c39810ff6a
Codechange: Replace path cache queues with vectors.
...
Ship and RoadVehicle path caches use a std::deque, which is quite memory hungry, especially for RoadVehicle which has two.
std::deque was used to be able to push/pop from either end.
Change to use a single std::vector each, which is now push/popped from the back.
2024-11-18 08:59:41 +00:00
Peter Nelson
d4f8453c22
Codefix: Clear and reserve storage when loading vectors from savegames.
2024-11-18 08:59:41 +00:00
translators
b8f3d0dd68
Update: Translations from eints
...
norwegian (bokmal): 4 changes by eriksorngard
2024-11-18 04:49:46 +00:00
Peter Nelson
d903806e59
Codechange: Add VectorSaveLoadHandler to simplify handlers for vectors. ( #13093 )
...
This reduces the duplication needed for each saved complex vector.
2024-11-17 23:46:32 +00:00
translators
a6c526cfa0
Update: Translations from eints
...
bulgarian: 4 changes by Alexandar83
2024-11-17 04:46:16 +00:00
Peter Nelson
04b6dfae48
Cleanup: Remove now-unneeded includes from yapf. ( #13088 )
2024-11-16 23:23:06 +00:00
Peter Nelson
ec1dc434ac
Codechange: Shuffle CommandCost members to reduce size. ( #13087 )
...
Prefer member initialisation as well.
2024-11-16 21:49:49 +00:00
Jonathan G Rennison
71ea58c6de
Codechange: Remove unused CYapfDestinationTileT ( #13086 )
2024-11-16 16:12:18 +00:00
Peter Nelson
57ac1cbe0c
Fix: Don't allow right-click to close world generation progress window. ( #13084 )
2024-11-16 13:54:47 +00:00
translators
8c395ed67c
Update: Translations from eints
...
vietnamese: 4 changes by KhoiCanDev
2024-11-16 04:48:13 +00:00
Peter Nelson
14e2839087
Codechange: Let's use this new emplace_back() thing. ( #13081 )
2024-11-15 20:28:17 +00:00
Peter Nelson
98c8445519
Codechange: Limit house default cargo label lists to original slot counts. ( #13079 )
...
Same as for IndustrySpec and IndustryTileSpec.
2024-11-15 08:07:02 +00:00
translators
d6c2f9edf1
Update: Translations from eints
...
polish: 5 changes by pAter-exe
2024-11-15 04:48:47 +00:00
Peter Nelson
61aff3fa49
Codechange: Limit industry default cargo label lists to original slot counts. ( #13072 )
...
IndustrySpec and IndustryTileSpec cargo label lists are only used for original industries. Original industries can only have up to 2 inputs and 3 outputs. Therefore having space for 16 input/outputs slots is unnecessary
This saves 216 bytes per industry type, and 164 bytes per industry tile type.
2024-11-14 19:05:18 +00:00
translators
9742038b68
Update: Translations from eints
...
chinese (simplified): 2 changes by WenSimEHRP
2024-11-13 04:45:59 +00:00
Koen Bussemaker
6faf4fa70a
Codechange: Simplified YAPF ship region node
2024-11-12 23:17:56 +01:00
Koen Bussemaker
3e195df3c7
Codechange: Cleaned up and renamed NodeList
2024-11-12 21:06:17 +01:00
Peter Nelson
bbc1f7b3dc
Add: Show and toggle follow vehicle state in vehicle view window. ( #13076 )
...
* After double-clicking on a location button to follow a vehicle, show that state by drawing the location button in a lowered state.
* Allow cancelling the follow state by clicking on the location button again.
2024-11-12 17:36:24 +00:00
translators
ce64d5f5d9
Update: Translations from eints
...
japanese: 56 changes by akaregi
2024-11-11 04:45:41 +00:00
translators
66198dea46
Update: Translations from eints
...
japanese: 50 changes by akaregi
german: 4 changes by SecretIdetity
french: 4 changes by ottdfevr
2024-11-10 04:45:21 +00:00
translators
5e4f8db7d6
Update: Translations from eints
...
latvian: 4 changes by lexuslatvia
2024-11-09 04:45:00 +00:00
translators
80f628063a
Update: Translations from eints
...
tamil: 7 changes by merni-ns
2024-11-08 04:45:16 +00:00
Thomas Winwood
b1bba967a1
Add: Improving town-owned bridges increases company rating ( #13036 )
2024-11-07 08:14:04 -05:00
Jonathan G Rennison
7b3525954c
Fix: x-axis direction of industry production graph ( #13062 )
2024-11-07 08:13:21 -05:00
translators
c9bd21d579
Update: Translations from eints
...
chinese (traditional): 4 changes by KogentaSan
2024-11-07 04:45:57 +00:00
Peter Nelson
d54341318e
Fix: VF_LOADING_FINISHED and VF_STOP_LOADING flags tested on wrong vehicle part. ( #13063 )
...
These flags are only set on the front part of a vehicle as they apply to the whole consist.
2024-11-07 00:25:05 +00:00
Charles Pigott
884b93c4c0
Add: Set application name for SDL2 ( #13061 )
2024-11-06 19:51:03 +00:00
Peter Nelson
465df3bab1
Change: Don't try to flood buoys or dock tiles.
...
This reduces the active flooding water tiles a little more.
2024-11-06 19:44:14 +00:00
Peter Nelson
8f9836793f
Change: Store water tile flooding state in the map.
...
This allows water tiles which cannot flood any further to not even try to flood.
On a large map with lots of water tiles this can noticeably reduce game loop processing time.
Mostly ported from JGRPP.
2024-11-06 19:44:14 +00:00
Tyler Trahan
4cd46e54aa
Fix #12940 : Use specific error when overbuilding station on signals ( #12943 )
2024-11-06 14:13:04 -05:00
Tyler Trahan
c3bb512bd9
Remove: Hidden setting for adjacent stations ( #12862 )
2024-11-06 14:11:07 -05:00
Joan Josep
5d7a7b2955
Codechange: Simplify IsCompanyBuildableVehicleType. ( #12868 )
2024-11-06 19:09:09 +00:00
Peter Nelson
3b6d3080f2
Add: Apply rail/road type conversion when NewGRFs are updated mid-game.
...
This will update the rail/road type of tiles on the map, taking account of tram state, if types are moved around.
2024-11-06 19:04:44 +00:00
Peter Nelson
8bb6572943
Add: Implement missing road type label conversion.
...
This was implemented for rail types but missed for road types.
This lets road type labels to be reordered, allowing for upgrades of NewGRF.
2024-11-06 19:04:44 +00:00
Peter Nelson
157d028915
Codechange: Simplify testing for railtype map conversion.
...
Build the list of railtype conversions at the same time as testing if conversion is needed.
This avoids having two similar loops which need to compare the same things.
2024-11-06 19:04:44 +00:00
Jonathan G Rennison
36c735ebfa
Codefix: Nullptr dereference in industry var 0xB4 when no cargoes accepted ( #13060 )
2024-11-06 18:53:48 +00:00
Jonathan G Rennison
59c399c795
Codefix: Documentation comment in IndustryDirectoryWindow ( #13059 )
2024-11-06 18:52:30 +00:00
translators
29df467d27
Update: Translations from eints
...
swedish: 4 changes by joeax910
2024-11-06 04:47:50 +00:00
translators
9da6cd4817
Update: Translations from eints
...
catalan: 4 changes by J0anJosep
2024-11-05 04:45:21 +00:00
translators
362db76e13
Update: Translations from eints
...
norwegian (nynorsk): 32 changes by Abaksle
2024-11-04 04:47:31 +00:00
Peter Nelson
f0f62961e1
Codechange: Make two water functions static. ( #13057 )
2024-11-03 23:25:51 +00:00
Peter Nelson
a91d889646
Fix #13053 : Payment transfers incorrect for non-passenger cargos. ( #13054 )
...
CargoPayment required cargo type to be set as state via SetCargo(). This was error prone as CargoPayment is per consist but cargo type can vary per vehicle part. Additionally if SetCargo was not called then the default "uninitialised" state was cargo slot 0, passengers.
Instead of trying to make sure it is set correctly, remove cargo type from CargoPayment and always pass it explicitly to the PayTransfer/PayFinalDelivery methods.
2024-11-03 18:53:01 +00:00
translators
cbde825785
Update: Translations from eints
...
korean: 5 changes by telk5093
finnish: 4 changes by hpiirai
2024-11-03 04:45:28 +00:00
Peter Nelson
a1233ee8a1
Codechange: Use span instead of marker terminated array for indexed sprite loading. ( #13050 )
2024-11-02 14:47:49 +00:00
translators
9193d69e0b
Update: Translations from eints
...
english (au): 4 changes by krysclarke
english (us): 4 changes by 2TallTyler
chinese (simplified): 4 changes by WenSimEHRP
greek: 4 changes by gh658804
russian: 4 changes by Ln-Wolf
dutch: 4 changes by Afoklala
portuguese: 4 changes by jcteotonio
portuguese (brazilian): 4 changes by pasantoro
2024-11-02 04:47:18 +00:00
translators
3a76af0909
Update: Translations from eints
2024-11-01 04:46:43 +00:00
Anatoly Eltsov
3fca0cf3ee
Feature: Industry production graph ( #10541 )
2024-10-31 22:35:04 +00:00
Peter Nelson
db1a1c5dd9
Change: Invalidate build toolbars when NewGRFs are changed.
...
If NewGRFs are changed while a rail or road toolbar is open, the toolbar could refer to an invalid rail/road type. If so, close it.
2024-10-31 09:10:01 +00:00
Peter Nelson
6d2b93d3b3
Codechange: Set up rail/road toolbar buttons during window's OnInit event.
...
This ensures the buttons are configured without extra initialisation methods.
2024-10-31 09:10:01 +00:00
Peter Nelson
0e3fdfb1b5
Codechange: Don't store pointer to RoadTypeInfo in road toolbar.
...
Always look up via stored RoadType instead. This matches out the rail toolbar behaves, and avoids keeping an non-owned pointer lying around.
2024-10-31 09:10:01 +00:00
Peter Nelson
552cf72b98
Codefix: Immediately return invalid rail/road type when looking for label 0. ( #13045 )
...
Looking for label 0 would incorrectly return the first undefined type instead of INVALID_RAIL/ROADTYPE, which could potentially cause incorrect behaviour.
2024-10-31 00:11:16 +00:00
Loïc Guilloux
9dae626237
Codefix: restore _generating_world and nearest town cache when failing to fund a random town ( #13042 )
2024-10-29 19:56:15 +01:00
Jonathan G Rennison
883be19865
Codefix a6f412c6: Missing this-> in YAPF
2024-10-29 19:07:14 +01:00
Jonathan G Rennison
07e8547eb5
Fix: Terraform of road waypoint tiles ( #13040 )
2024-10-29 14:08:15 +01:00
Koen Bussemaker
0200bc3720
Codechange: Renamed CHashTableT to HashTable and corrected code style
2024-10-29 08:35:47 +01:00
Peter Nelson
0e13a7d124
Fix 3f81124: Invalid data used for height map curves after first run. ( #13039 )
...
Static variable depended on other non-static variables.
2024-10-28 23:18:05 +00:00
SamuXarick
a96a83e330
Codechange: Code style issues in water regions ( #13019 )
2024-10-28 10:29:26 -04:00
translators
abd89b0748
Update: Translations from eints
...
german: 19 changes by Wuzzy2
2024-10-28 04:47:39 +00:00
Peter Nelson
e076aaf740
Codefix: Use SpriteID when passing sprite IDs. ( #13037 )
2024-10-27 18:54:49 +00:00
Peter Nelson
e1697a6ad1
Codechange: Don't use enums for non-enumerated values. ( #13031 )
...
In the past we have used enums to hold an arbitrary values. These values
are not enumerated types, so make them constants instead.
2024-10-27 18:02:49 +00:00
SamuXarick
a86f9dba0f
Codefix: Correct handling of GetDepotOrderType() comparison ( #13023 )
...
In the function where we check the depot order type, using `!=` with GetDepotOrderType() is not ideal because the function can return flag bits.
2024-10-27 18:47:22 +01:00
Peter Nelson
9cf47e69d6
Fix bb8a0c7641: Skip control codes when sorting strings. ( #13035 )
...
Now that SkipGarbage doesn't skip all multi-byte utf-8 characters, string control codes are not skipped either. This gave unintended sorting when NewGRF names start with colour codes.
Make SkipGarbage UTF-8 aware so that it is able to skip some unicode ranges as well.
2024-10-27 15:49:09 +00:00
translators
233ee16c44
Update: Translations from eints
...
bulgarian: 18 changes by Alexandar83
2024-10-27 04:47:27 +00:00
Peter Nelson
bb8a0c7641
Fix: SkipGarbage() skipped all multi-byte utf-8 characters. ( #13032 )
...
`char` is signed so `str[0] < '0'` applies to all characters higher than 127.
2024-10-26 21:01:33 +01:00
Peter Nelson
1191efa581
Fix #12914 : Fix use of invalidated pointer in viewport drawer. ( #12918 )
...
Use index of last child instead of pointer to update next_child element.
In case there is no child sprite yet, the most recent parent sprite's first_child is updated instead.
2024-10-26 15:24:41 +01:00
Peter Nelson
4f9c10d35f
Codechange: Simplify storage of WaterTileType in map. ( #13030 )
2024-10-26 10:17:44 +01:00
Peter Nelson
e50c1774fc
Codechange: Remove some unnecessary local variables.
2024-10-25 19:01:39 +01:00
Peter Nelson
c39554a210
Codechange: Simplify selection between pathfinder functions.
2024-10-25 19:01:39 +01:00
Peter Nelson
1403a55e5d
Codechange: Use uppercase naming for YAPF cost constant.
2024-10-25 19:01:39 +01:00
Peter Nelson
a171939ec3
Codechange: Remove `m_` prefix from pathfinders.
2024-10-25 19:01:39 +01:00
Peter Nelson
a496e9397c
Codechange: Prefer member-initialization.
2024-10-25 19:01:39 +01:00
Peter Nelson
a6f412c615
Codechange: Add `this->` to YAPF.
2024-10-25 19:01:39 +01:00
Peter Nelson
5b73654f94
Codechange: Add includes to YAPF .hpp files.
2024-10-25 19:01:39 +01:00
Peter Nelson
009e57ee03
Codechange: Use member initializer list.
2024-10-25 19:01:39 +01:00
Rubidium
ea6aa4653a
Codechange: replace magic numbers with enumeration
2024-10-25 18:37:11 +02:00
Rubidium
4a4c77ff04
Codechange: use functions described in documentation, instead of related other functions
2024-10-25 18:37:11 +02:00
Jonathan G Rennison
8ed983b3cd
Codechange: Re-order load update for SLV_139
...
It is no longer required to be performed before the first phase
of vehicle updates
2024-10-25 17:05:59 +02:00
Jonathan G Rennison
f19829d029
Fix #12831 : Delay vehicle cache init to after map upgrades in load
...
Split AfterLoadVehicles into two functions.
Vehicle cache init and other functionality requiring an upgraded and
valid map is now performed later in the load process.
2024-10-25 17:05:59 +02:00
Rubidium
dfb74e25f7
Codechange: remove parameter which value can always be deduced
2024-10-24 22:02:50 +02:00
SamuXarick
d5a13fb9f4
Codechange: Use TileOffsByAxis(...) in more places ( #13026 )
2024-10-24 15:58:15 -04:00
Rubidium
c9819f8957
Codechange: split GetRoadDir as bays have DiagDir and drive throughs have Axis
2024-10-24 20:40:32 +02:00
Da-W1nn3r
d6aa09f96a
Fix #12973 : Don't exclude high score after using sandbox
2024-10-24 08:38:16 +02:00
Rubidium
ce641af6a9
Codechange: use StationGfx over RoadStopDir + optional offset for drive through stop
2024-10-23 18:19:32 +02:00
Rubidium
38c9eb76a0
Codechange: add and use TileOffsByAxis(...) over TileOffsByDir(DiagDirToAxis(...))
2024-10-23 18:19:17 +02:00
Peter Nelson
7a71df2952
Codechange: Use fmt::format to convert value to binary string representation. ( #13016 )
...
Avoids manually iterating bits into an array.
2024-10-22 13:59:08 +01:00
translators
51ffb2a1a3
Update: Translations from eints
...
arabic (egypt): 3 changes by Alaadel
2024-10-22 04:47:27 +00:00
Peter Nelson
01807fa753
Change: Use Markdown for changelog.
...
Includes minor changes to how version changes are limited for display.
2024-10-22 00:34:16 +01:00
Peter Nelson
e98407973f
Fix #12993 : Replace known-bugs text with markdown version.
...
This allows a little bit better formatting/display in game.
(No attempt to check if these are still valid known-bugs...)
2024-10-22 00:34:16 +01:00
Peter Nelson
e3bfe2b668
Fix: Don't invalidate water regions on the other side of the map. ( #13012 )
...
When invalidating water regions with a tile at the very edge of the map, the region on the opposite side of the map would also be invalidated.
2024-10-22 00:33:29 +01:00
Peter Nelson
3eb7901ad9
Codechange: Use template parameter of SetBitIterator instead of casting later. ( #13015 )
...
This removes some manual casting.
2024-10-21 17:54:54 +01:00
Jonathan G Rennison
6ca9ddcffa
Codefix: [Win32] String handling in OTTDStringCompare, Win32StringContains
...
Avoid truncation if CompareStringEx is missing
Fix handling of zero length inputs
2024-10-21 17:34:30 +02:00
Jonathan G Rennison
d7a2efd623
Codefix: [Win32] Truncated stack trace symbols were not null-terminated
...
SymGetSymFromAddr64/IMAGEHLP_SYMBOL64 do not null-terminate
symbols with lengths >= the name buffer size
2024-10-21 17:34:03 +02:00
Rubidium
18e8a34081
Codechange: replace "magic" trick with simpler straight forward code
2024-10-20 15:49:32 +02:00
Rubidium
392bcf5c9a
Codechange: simplify ToTileIndexDiff by just calling TileDiffXY
2024-10-20 15:49:32 +02:00
Rubidium
1998e94ae7
Codechange: create the TileIndexDiff of the whole translation we want to execute
2024-10-20 15:49:32 +02:00
Rubidium
a6b7593a52
Codechange: use TileDiffXY(0, 0) over magic 0
2024-10-20 15:49:32 +02:00
Rubidium
3b0fcf442f
Codefix: use actual type instead of int for TileIndexDiff
2024-10-20 15:49:32 +02:00
Jonathan G Rennison
3105f6391c
Fix #13002 : Crash due to use of dangling types in picker GUI used/saved lists ( #13008 )
2024-10-20 09:37:17 +01:00
translators
582f37dc15
Update: Translations from eints
...
luxembourgish: 84 changes by phreeze83
2024-10-20 04:46:58 +00:00
Rubidium
4a359a4aed
Fix 8ca417b: drying of (edge) tiles should consider MP_VOID tiles
2024-10-19 23:32:34 +02:00
Peter Nelson
147ac56f11
Fix: ScriptTile::PlantTreeRectangle does not check that the end tile is in bounds. ( #13004 )
...
If the starting tile is near the edge of the map, the width and height could overflow the map boundary.
In some cases this might result in a different area being planted than expected.
2024-10-19 20:52:02 +01:00
Rubidium
9d2e07b1f6
Codechange: simplify terraform recursion logic
2024-10-19 15:40:36 +02:00
Rubidium
8ca417baa9
Codefix: do not wrap-around the map when flooding tiles
2024-10-19 09:00:21 +02:00
translators
5e8da0479a
Update: Translations from eints
...
luxembourgish: 23 changes by phreeze83
2024-10-19 04:45:07 +00:00
Jonathan G Rennison
ffcc594ea3
Codefix: Incorrect documentation comments in StringBuilder
2024-10-18 22:29:28 +02:00
Rubidium
b074a4d3ce
Codefix: remove duplicate typedef
2024-10-18 16:43:17 +02:00
translators
35d37d4768
Update: Translations from eints
...
norwegian (nynorsk): 2 changes by Abaksle
luxembourgish: 33 changes by phreeze83
2024-10-18 04:47:11 +00:00
Peter Nelson
2fda7d8297
Codechange: Simplify Station::train_station iteration when marking tiles dirty. ( #13003 )
2024-10-17 23:01:04 +01:00
translators
ae4a723889
Update: Translations from eints
...
norwegian (nynorsk): 8 changes by Abaksle
2024-10-17 04:47:13 +00:00
Peter Nelson
bacd3e83c6
Codechange: Use ScriptObjectRef to handle Event reference counting.
...
This removes manual reference counting.
2024-10-16 21:52:00 +01:00
Peter Nelson
8360fab18a
Codechange: Remove CCountedPtr.
...
This was originally generic and used by YAPF, but now it is used only by script objects.
CCountedPtr provided much more (untested) functionality than used.
ScriptObjectRef already exists for script objects and does the same thing, so use this instead.
2024-10-16 21:52:00 +01:00
Koen Bussemaker
d8029b1d84
Fix: CHashTableT's Clear function doesn't set number of items back to zero
2024-10-16 22:36:26 +02:00
Peter Nelson
d5b57a56f4
Codechange: Use std::unique_ptr for link graph schedule handlers. ( #12988 )
...
This removes manual memory management.
2024-10-15 02:11:06 +01:00
Rubidium
4a6ac52d8c
Cleanup: remove some unused #defines
2024-10-14 21:37:00 +02:00
translators
c2d58bb88f
Update: Translations from eints
...
vietnamese: 43 changes by KhoiCanDev
italian: 4 changes by Boh132Boh
2024-10-14 04:46:49 +00:00
translators
79c8eac2ee
Update: Translations from eints
...
vietnamese: 106 changes by KhoiCanDev
polish: 1 change by translators
2024-10-13 04:46:13 +00:00
translators
c813b2b42d
Update: Translations from eints
...
swedish: 19 changes by joeax910
french: 6 changes by ottdfevr
2024-10-10 04:45:29 +00:00
Peter Nelson
446db2c826
Codechange: Remove redundant NewsStringData data. ( #12983 )
...
Since SetDParamStr() always owns a copy of the string, there is no need to make another copy of it to keep it around while the news item exists.
This also fixes a leak in `CmdIndustrySetProduction` as the allocated data wasn't passed to AddIndustryNewsItem.
2024-10-08 19:48:55 +01:00
Jonathan G Rennison
d53b681cf7
Codefix f481c9fc: Incorrect references to previous items in DumpTarget
2024-10-08 20:23:08 +02:00
Peter Nelson
14b986609b
Add: AppendStringInPlace() to append translated string ID into an existing string. ( #12969 )
...
This allows avoiding a string copy when building strings.
2024-10-07 19:05:38 +01:00
Peter Nelson
3cd1200668
Fix #12976 : Incorrect widget rect scrolling for RTL languages. ( #12978 )
...
Industry directory, AS/GS and Textfile window did not consider RTL when applying horizontal scrolling.
2024-10-05 08:02:59 +01:00
translators
114c28e69c
Update: Translations from eints
...
korean: 1 change by telk5093
latvian: 6 changes by lexuslatvia
2024-10-05 04:45:35 +00:00
translators
26c2255897
Update: Translations from eints
...
norwegian (bokmal): 15 changes by eriksorngard
french: 1 change by FiglidiGP
2024-10-03 04:47:03 +00:00
Jonathan G Rennison
22b4a77e37
Codefix: Debug fmt strings in ItemizeBidi (ICU layout) ( #12965 )
2024-10-01 14:28:40 +01:00
Peter Nelson
ccced859f5
Codechange: Mark some water region functions static. ( #12964 )
...
These functions are not used elsewhere. This may affect how compilers generate code.
2024-10-01 14:28:16 +01:00
Jonathan G Rennison
386dbb7c80
Codefix: First format argument of IConsolePrint not passed by reference ( #12966 )
2024-10-01 14:12:19 +01:00
translators
7a0e50002b
Update: Translations from eints
...
galician: 5 changes by pvillaverde
2024-09-30 04:47:06 +00:00
translators
3ed2afa68e
Update: Translations from eints
...
catalan: 5 changes by J0anJosep
2024-09-29 04:45:28 +00:00
translators
b4f96f54df
Update: Translations from eints
...
danish: 14 changes by bscargo
dutch: 5 changes by Afoklala
2024-09-28 04:44:33 +00:00
translators
b42c4fa7ca
Update: Translations from eints
...
chinese (traditional): 4 changes by KogentaSan
english (us): 5 changes by 2TallTyler
korean: 6 changes by telk5093
italian: 16 changes by ciampix
2024-09-26 04:45:59 +00:00
translators
1251638508
Update: Translations from eints
...
chinese (simplified): 8 changes by WenSimEHRP
portuguese: 5 changes by azulcosta
polish: 13 changes by pAter-exe
2024-09-25 04:45:43 +00:00
translators
528f047242
Update: Translations from eints
...
english (au): 4 changes by krysclarke
chinese (traditional): 18 changes by KogentaSan
greek: 4 changes by gh658804
italian: 11 changes by Boh132Boh
russian: 4 changes by Ln-Wolf
finnish: 5 changes by hpiirai
portuguese (brazilian): 4 changes by pasantoro
polish: 78 changes by pAter-exe
2024-09-24 04:45:19 +00:00
Peter Nelson
51bd344f10
Change: Use default NewGRF cargo translation table. ( #12646 )
...
Instead of falling back to bitnum lookup or climate-dependent cargo types, install a default cargo translation table that performs either of these functions instead.
This allows better mapping of climate-dependent or bitnum cargo slots, falling back to INVALID_CARGO if they are not defined, and reduces special-casing.
2024-09-23 23:48:03 +01:00
Peter Nelson
e60c5f30a3
Fix ddf1510a23: House animation random data flag ignored. ( #12963 )
...
In the refactor to unified tile animation code, the test for `CALLBACK_1A_RANDOM_BITS` incorrectly got changed to a `HasBit()` test preventing it from working.
Use `HasFlag()` instead.
2024-09-23 17:18:28 +00:00
Peter Nelson
f149d84d4c
Fix: Crash when exiting game with end game window open. ( #12962 )
...
Caused by the end game window opening the highscore window on close, which `UnInitWindowSystem()` does not expect.
2024-09-23 17:58:44 +01:00
translators
856ee2aaca
Update: Translations from eints
...
english (au): 1 change by krysclarke
chinese (simplified): 1 change by WenSimEHRP
greek: 1 change by gh658804
russian: 1 change by Ln-Wolf
portuguese (brazilian): 1 change by pasantoro
2024-09-23 04:45:32 +00:00
Jonathan G Rennison
c1db57840e
Fix: DepotWindow::GetVehicleFromDepotWndPt not refreshing vehicle list ( #12907 )
2024-09-22 18:13:43 +01:00
Peter Nelson
eafee92476
Fix 3d4b98845a: TC_FORCED no longer working. ( #12961 )
...
Since initial colour is no longer passed to the text layout, TC_FORCED flag is not seen by the layouter, so it had no effect.
Instead, check for TC_FORCED when drawing and avoid using the string's colours if set.
2024-09-22 18:08:22 +01:00
Peter Nelson
0340e19e04
Codechange: Add to_underlying() to convert enum to underlying type. ( #12958 )
...
This simplifies and replaces static_cast and C-style casts doing the same.
`std::to_underlying()` exists in C++23 but not C++20.
2024-09-22 18:07:42 +01:00
Peter Nelson
376e882a14
Codechange: Add HasFlag() to test if a value is present in a bitset enum type. ( #12959 )
...
This simplifies tests for `(x & y) != y` with enum classes by reducing repetition, similar to HasBit(), and also makes the intent of the expression clearer.
2024-09-22 14:51:37 +01:00
Peter Nelson
d450d4743e
Fix #12957 : 1-in-X proportion of towns being cities is unnecessarily random. ( #12960 )
...
Using an actual random chance to generate cities means that there may be far less or far more than 'expected' towns being made as cities.
While this is the point of randomness, the wording of the setting is "Proporation of towns that will become cities: 1 in X" and does not mention randomness at all.
2024-09-22 14:42:01 +01:00
Peter Nelson
e45e8a39c8
Add: Overlay cargo icon in vehicle/depot list when holding shift+ctrl. ( #12938 )
2024-09-22 10:33:44 +01:00
translators
9404a03663
Update: Translations from eints
...
chinese (simplified): 1 change by WenSimEHRP
polish: 8 changes by pAter-exe
2024-09-22 04:47:22 +00:00
Jonathan G Rennison
a7d405b02d
Fix: ICUParagraphLayout line wrapping ( #12956 )
...
In the case where the overflow run is not the start run,
and the start run had a partial offset
2024-09-21 22:14:41 +01:00
Peter Nelson
16b4e737a3
Fix 3d8d0e0d26: Don't assume plural parameter is valid. ( #12954 )
...
A crash can occur if the parameter used for a plural isn't a numeric value.
2024-09-21 15:04:35 +01:00
Jeremy Gao
2eac527439
Fix: server menu tooltip shouldn't show language info ( #12955 )
2024-09-21 15:04:13 +01:00
Jonathan G Rennison
78c7dd1303
Fix #12945 : Relative paths passed to -c were not made absolute ( #12946 )
2024-09-21 13:58:28 +01:00
translators
6175a6b78a
Update: Translations from eints
...
dutch: 9 changes by Afoklala
2024-09-21 04:44:57 +00:00
translators
96000fc4ea
Update: Translations from eints
...
english (au): 1 change by krysclarke
english (us): 9 changes by 2TallTyler
galician: 13 changes by pvillaverde
korean: 9 changes by telk5093
greek: 1 change by gh658804
finnish: 1 change by hpiirai
lithuanian: 6 changes by isigitas
portuguese: 1 change by azulcosta
portuguese (brazilian): 1 change by pasantoro
polish: 1 change by aefoes
2024-09-20 04:45:13 +00:00
Peter Nelson
6e940af08d
Fix #12952 : Incorrect string parameters passed for social plugin titles.
...
When no option is selected (i.e. during SetupSmallestSize), a different string parameter layout was used that did not match the visible layout.
2024-09-19 18:44:23 +01:00
Peter Nelson
719d063bd4
Fix d1463f415f: Wrong type of exception thrown by invalid string parameters.
...
`FormatString()` only catches `std::out_of_range`, but `GetNextParameter()` threw `std::runtime_error`.
2024-09-19 18:44:23 +01:00
Peter Nelson
3bfd9de68d
Fix: Highscore/Endgame window can disappear offscreen if game window is resized. ( #12951 )
2024-09-19 09:18:25 +01:00
translators
df0233f4c2
Update: Translations from eints
...
chinese (simplified): 9 changes by WenSimEHRP
catalan: 9 changes by J0anJosep
latvian: 1 change by lexuslatvia
french: 13 changes by glx22
portuguese: 9 changes by azulcosta
2024-09-19 04:45:53 +00:00
Jonathan G Rennison
1e3855c9c3
Fix: Crash when pressing arrow keys in bootstrap mode ( #12948 )
2024-09-18 16:41:54 -04:00
Peter Nelson
fe49dec527
Fix 33a7e9e512: Linker failure with release build. ( #12949 )
2024-09-18 20:18:49 +00:00
Peter Nelson
25a8abcd8e
Fix fcf8693c4f: Remove 100 byte limit for parsing string command parameters. ( #12950 )
...
This allows longer parameters to be used in plural and gender commands.
Each individual word list parameter is now limited to 253 bytes, allowing for a trailing NUL and leaving 0xFF reserved.
2024-09-18 20:55:36 +01:00
Heikki Piirainen
66c5a21d8f
Fix: erroneous error message
2024-09-18 06:50:06 +02:00
Jonathan G Rennison
9f1bb055b7
Change: Exclude parent item from directory sort in FiosGetFileList
2024-09-18 06:49:30 +02:00
translators
fcf8693c4f
Update: Translations from eints
...
english (au): 9 changes by krysclarke
greek: 9 changes by gh658804
russian: 9 changes by Ln-Wolf
finnish: 9 changes by hpiirai
latvian: 8 changes by lexuslatvia
portuguese (brazilian): 9 changes by pasantoro
2024-09-18 04:45:22 +00:00
Peter Nelson
a241ef8da0
Fix #12917 : Write to negative array index for some string patterns.
...
Don't popped closed pair from the parenthesis stack a second time.
2024-09-17 11:06:17 +01:00
Peter Nelson
33a7e9e512
Add: Unit test for ICU ScriptRun.
...
This is based on srtest from the ICU codebase.
2024-09-17 11:06:17 +01:00
translators
9ab0a47812
Update: Translations from eints
...
norwegian (bokmal): 4 changes by eriksorngard
2024-09-17 04:41:16 +00:00
Peter Nelson
4be3361aa3
Fix ad020759: Update town data loader for FileHandle change. ( #12942 )
...
A non-conflicting merge conflict...
2024-09-16 17:52:24 +01:00
Peter Nelson
74910d3d14
Fix 908ee729: Inverted condition prevented actually writing data to files. ( #12941 )
2024-09-16 13:45:23 +00:00
Tyler Trahan
ad020759c7
Feature: Import town data from JSON file ( #10409 )
2024-09-16 09:29:10 -04:00
Peter Nelson
908ee7292b
Codechange: Replace all FILE * with FileHandle RAII class. ( #12718 )
...
This removes the need to manually ensure all files are closed.
2024-09-16 08:45:26 +01:00
translators
3784a3d3d6
Update: Translations from eints
...
latvian: 5 changes by lexuslatvia
portuguese: 4 changes by azulcosta
2024-09-15 04:44:28 +00:00
Peter Nelson
9623c28f4d
Change: [NewGRF] Place all 8 bits of station tile layout in var 40/41. ( #12890 )
2024-09-14 21:37:40 +01:00
Jonathan G Rennison
2a5a0b0990
Codechange: No longer allow saving of incorrect string container table fields
...
See: 1250ce8f
2024-09-14 15:32:48 +01:00
Jonathan G Rennison
c277ff121e
Fix #12901 : Savegame format of company allow lists
2024-09-14 15:32:48 +01:00
Peter Nelson
d1463f415f
Codechange: Treat reading incorrect parameter type as a string error.
...
Previously reading a string as a number would return 0 instead.
2024-09-14 15:31:05 +01:00
Peter Nelson
3d8d0e0d26
Codechange: Use std::variant to store string parameter data.
...
This avoids storing two separate values and makes the test for which type is held clearer.
This replaces use of unique_ptr for conditionally storing a string, and is also used in place of StringParameterBackup.
2024-09-14 15:31:05 +01:00
Peter Nelson
b449839538
Codechange: Pass span instead of vector to HaveDParamChanged.
2024-09-14 15:31:05 +01:00
Peter Nelson
9eb28def57
Codechange: Return reference from GetNextParameterPointer.
...
GetNextParameterPointer can no longer return nullptr, and the callers do not check for nullptr, so return a reference instead.
2024-09-14 15:31:05 +01:00
translators
59b18560d4
Update: Translations from eints
...
english (us): 4 changes by 2TallTyler
dutch: 4 changes by Afoklala
2024-09-14 04:44:59 +00:00
translators
45a5868bb8
Update: Translations from eints
...
chinese (simplified): 4 changes by WenSimEHRP
korean: 4 changes by telk5093
italian: 9 changes by dominiccoletti
catalan: 4 changes by J0anJosep
2024-09-13 04:44:38 +00:00
Peter Nelson
ad5da0c924
Codechange: Use `__VA_OPT__(,)` instead of `, ##` ( #12921 )
...
`__VA_OPT__` is a C++20 standard, `##` is, apparently, a GNU extension.
MSVC needs /Zc:preprocessor adding for whatever reason.
2024-09-12 07:06:15 +01:00
Peter Nelson
7f5a3eaf83
Codefix: Avoid type-casting function pointer with incorrect type. ( #12929 )
...
Make `AutolengthProc` take `int` instead of `void *`, avoiding pointer parameters.
2024-09-12 06:49:45 +01:00
Peter Nelson
9631c68ce6
Codefix: Implement explicit ByteReader::PeekDWord() instead of type-punning pointer. ( #12928 )
2024-09-12 06:49:20 +01:00
Peter Nelson
6deee5e5e2
Fix: Train curve detection did not take shortened parts into account. ( #12910 )
...
Only the number of parts between curves was counted, which with shortened parts would be higher than full length parts and fail to limit as expected.
2024-09-12 06:47:54 +01:00
translators
bed2a060ce
Update: Translations from eints
...
english (au): 4 changes by krysclarke
greek: 4 changes by gh658804
russian: 4 changes by Ln-Wolf
finnish: 4 changes by hpiirai
polish: 4 changes by pAter-exe
2024-09-12 04:46:09 +00:00
Peter Nelson
2d51659ed2
Fix d8c36536: \u200B is not allowed in translations. ( #12935 )
2024-09-10 14:25:36 +01:00
Jonathan G Rennison
e477706bf5
Codechange: Add AssignBit function to assign the value of a single bit ( #12934 )
...
* Codechange: Add AssignBit function to assign the value of a single bit
* Codechange: Replace various uses of SB with AssignBit
* Codechange: Replace various uses of SB with a constant with SetBit
2024-09-10 08:36:58 -04:00
Tyler Trahan
27efa57b7b
Change: Standardize filter button strings ( #12847 )
2024-09-10 08:33:06 -04:00
Jonathan G Rennison
d0b3e0c47e
Fix: Crash in GetGameStringPtr when there are no GS strings ( #12933 )
2024-09-10 13:20:38 +01:00
translators
d8c36536be
Update: Translations from eints
...
danish: 20 changes by bscargo
2024-09-10 04:44:28 +00:00
Jonathan G Rennison
81b684aa42
Codefix: StationUsesDefaultType always returned false for rail waypoints
2024-09-07 14:58:28 +01:00
Jonathan G Rennison
cb2f4f319c
Fix: Picker window 'used' filter for rail waypoints
...
The first two field of struct PickerItem were not populated.
These are required for set operations.
2024-09-07 14:58:28 +01:00
Peter Nelson
29ff3d7b90
Fix: DupSprite did not copy the control_flags field ( #12906 )
...
Co-authored-by: Jonathan G Rennison <j.g.rennison@gmail.com>
2024-09-07 14:57:44 +01:00
Jonathan G Rennison
5c243ee8f0
Fix: Road stop availability callback ( #12931 )
2024-09-07 14:57:04 +01:00
Jonathan G Rennison
d5ff6b4156
Fix 8d62a8f0: Road stop variable 6B crashing for road stop preview in GUI ( #12930 )
2024-09-06 11:14:34 +01:00
translators
92cbf7ae43
Update: Translations from eints
...
french: 6 changes by glx22
2024-09-06 04:44:06 +00:00
translators
c1f8569587
Update: Translations from eints
...
galician: 1 change by pvillaverde
vietnamese: 1 change by myquartz
french: 1 change by FiglidiGP
2024-09-05 04:44:59 +00:00
translators
1d907611d1
Update: Translations from eints
...
polish: 1 change by pAter-exe
2024-09-04 04:44:39 +00:00
translators
34c09b3596
Update: Translations from eints
...
bulgarian: 3 changes by Alexandar83
2024-09-03 04:44:13 +00:00
Rubidium
f2a8e18792
Fix 208952f: incorrect truncation in string setting validation
2024-09-02 22:16:26 +02:00
translators
b80f205967
Update: Translations from eints
...
italian: 4 changes by Boh132Boh
bulgarian: 505 changes by Alexandar83
2024-09-02 04:45:08 +00:00
translators
ef7ad2606c
Update: Translations from eints
...
bulgarian: 161 changes by Alexandar83
2024-09-01 04:45:11 +00:00
translators
2eb3e77207
Update: Translations from eints
...
chinese (simplified): 2 changes by WenSimEHRP
bulgarian: 116 changes by Alexandar83
2024-08-31 04:44:42 +00:00
translators
bb770b7b56
Update: Translations from eints
...
norwegian (bokmal): 1 change by eriksorngard
2024-08-29 04:44:23 +00:00
translators
9eaa00cd89
Update: Translations from eints
...
czech: 1 change by JsSusenka
2024-08-26 04:45:38 +00:00
Peter Nelson
cb23651f43
Codechange: Replace BmpBuffer with RandomAccessFile.
2024-08-24 22:11:04 +01:00
Peter Nelson
719763dfcb
Codechange: Store start and end position in RandomAccessFile.
...
This allows callers to do more bounds checking.
2024-08-24 22:11:04 +01:00
Peter Nelson
b5264a72ae
Codechange: [NewGRF] Use reference to unique_ptr instead of .get() ( #12919 )
...
This allows assignment to reference when creating a new spec instead of setting and refetching.
2024-08-24 22:10:39 +01:00
Jonathan G Rennison
4070cf9968
Codefix: LinkGraphOverlay::dirty was never initialised
2024-08-24 21:06:33 +02:00
translators
3be96c6816
Update: Translations from eints
...
english (us): 1 change by 2TallTyler
2024-08-24 04:43:57 +00:00
translators
d3252315d3
Update: Translations from eints
...
bulgarian: 28 changes by DeyanVNikolov
spanish: 1 change by SeveralCircles
2024-08-23 04:43:15 +00:00
Peter Nelson
2327b7030d
Codechange: Use std::string to load ini file comments. ( #12909 )
...
This removes realloc/free and some funky old manual memory management.
2024-08-21 22:09:51 +01:00
Peter Nelson
4224d08e72
Codechange: Replace malloc/free with vector for TGP heightmap processing.
2024-08-20 22:15:30 +01:00
Peter Nelson
c4a638dfe1
Codechange: Replace malloc/free with vector for screenshot buffers.
2024-08-20 22:15:30 +01:00
Peter Nelson
059462814e
Codechange: Replace malloc/free with vector when loading heightmap data.
2024-08-20 22:15:30 +01:00
Peter Nelson
9a037fe5ae
Codechange: Replace malloc/free with vector when padding sprites.
2024-08-20 22:15:30 +01:00
Peter Nelson
0f0f3d74ca
Codefix: Delete PersistentStorage when a town is deleted. ( #12903 )
2024-08-19 08:18:01 +01:00
translators
e4c04e86c0
Update: Translations from eints
...
catalan: 1 change by J0anJosep
french: 1 change by ottdfevr
portuguese: 1 change by azulcosta
2024-08-18 04:42:47 +00:00