Commit Graph

28012 Commits (429a6f58e763f83c94ea57b48c77bc18ac9b7013)
 

Author SHA1 Message Date
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.
8 months ago
Peter Nelson 90351578a6 Codechange: Use std::map instead of fixed array to store refit options.
This simplifies handling of available refit options.
8 months ago
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.
8 months ago
Peter Nelson bc8e26f4e7
Codechange: Simplify usage of GRFFile cargo_map. (#11349) 8 months ago
Peter Nelson 69e20e79ab Codechange: Add const versions of GetItem/GetGroup, and sprinkle liberally.
Non-const version of GetItem is not needed.
8 months ago
Peter Nelson 17ba9d8c96 Codechange: Use range-for instead of nullptr-terminated list in settingsgen.
This simplifies iteration and avoids use of pointers.
8 months ago
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.
8 months ago
Peter Nelson ec1cf96b62 Codechange: Move initialization of group-type to CreateGroup function. 8 months ago
Peter Nelson 8bd06807e4 Codechange: Pass initializer list instead of null-terminated list of group types. 8 months ago
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.
8 months ago
Peter Nelson c47a0e1578 Codechange: Correct scope of IniItem for for-loop. 8 months ago
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.
8 months ago
Peter Nelson 54b1a067eb Codechange: Test for nullptr instead of treating pointer as boolean. 8 months ago
Peter Nelson d3c5ae2648 Codechange: Add CreateGroup/CreateItem methods for ini files.
This abstracts the internals a bit.
8 months ago
Peter Nelson 0c85ce29ea Codechange: Pass ini file by reference and prefer automatic storage.
This avoids new/delete operations, and (not) checking for nullptr.
8 months ago
Peter Nelson 3961318974 Codechange: Accept std::string in RemoveGroup(). 8 months ago
Peter Nelson bb6fa9bf3b
Change: Display cargo lists in sorted cargo order. (#11383) 8 months ago
Tyler Trahan 088db62dba
Change: Always allow expanding towns in Scenario Editor to build new roads (#11377) 8 months ago
Jonathan G Rennison 4df2640f87 Fix: Tile slope missing from road stops varact2 variable 0x42 8 months ago
Peter Nelson e1c83869ed
Fix: Scale minimum width for server name by interface scale. (#11381) 8 months ago
Peter Nelson 9602de474d Codechange: Use iterators and/or range-for on cargo related loops. 8 months ago
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.
8 months ago
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
8 months ago
Loïc Guilloux ab805c4e9e
Fix #11375, 7c37dcb: Use STRING2 when the passed string can have 2 parameters (#11376) 9 months ago
Tyler Trahan f49ffaaaea
Fix e4fd99a, Fix #11270: Vehicle max age is not subject to leap years (#11372) 9 months ago
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.
9 months ago
translators 2be1b72a5b Update: Translations from eints
hungarian: 50 changes by Norodix
9 months ago
translators a73ef95a2b Update: Translations from eints
chinese (simplified): 5 changes by WenSimEHRP
9 months ago
Rubidium adad078b55 Fix #11367, 7c37dcb: use STRING1 when the passed string can have a parameter 9 months ago
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.
9 months ago
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.
9 months ago
Peter Nelson cda6f24fe8
Change: Filter duplicate paths from valid search path list. (#11363) 9 months ago
Loïc Guilloux 0458c15060
Cleanup: [MacOS] Remove unneeded WITH_SDL checks (#11360) 9 months ago
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.
9 months ago
translators 84201a8520 Update: Translations from eints
chinese (traditional): 80 changes by wpi3
chinese (simplified): 1 change by WenSimEHRP
9 months ago
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.
9 months ago
translators 89acfc7ff9 Update: Translations from eints
chinese (simplified): 1 change by WenSimEHRP
indonesian: 12 changes by liimee
9 months ago
Peter Nelson d1a94d75e1
Fix: Incorrect include path for timers. (#11351) 9 months ago
translators 7145b7060a Update: Translations from eints
romanian: 3 changes by bnegrut
9 months ago
merni-ns c794676928
Fix #10763, Fix #11168: Display variant groups that consist only of unavailable sub-groups (#11342) 9 months ago
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.
9 months ago
merni-ns 077b08bbfa
Fix #11261: Set number of items correctly when choosing available airport set (#11344) 9 months ago
frosch 82c8720814 Fix #8846: When upgrading NewGRF presets, copy NewGRF parameters only if the NewGRF are compatible. Otherwise reset to defaults. 9 months ago
frosch d75a5e1a9a Fix: Upgrading NewGRF presets could result in incomplete display of NewGRF parameters until restart. 9 months ago
translators c84219a42e Update: Translations from eints
english (us): 1 change by 2TallTyler
vietnamese: 21 changes by KhoiCanDev
9 months ago
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.
9 months ago
translators fd79d34ba9 Update: Translations from eints
korean: 1 change by telk5093
9 months ago
translators beafdadde4 Update: Translations from eints
italian: 25 changes by Rivarossi
9 months ago
Peter Nelson 890146fecb Codechange: Add -Wsuggest-override compilation flag. 9 months ago
Peter Nelson 015fbafe34 Codechange: Add missing override specifiers to squirrel. 9 months ago