Commit Graph

28315 Commits

Author SHA1 Message Date
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