english (au): 7 changes by krysclarke
chinese (traditional): 12 changes by KogentaSan
english (us): 13 changes by 2TallTyler
korean: 17 changes by telk5093
greek: 7 changes by gh658804
hungarian: 4 changes by vargaviktor
russian: 13 changes by Ln-Wolf
finnish: 18 changes by hpiirai
maori (new zealand): 17 changes by Kyle-McDangersword
turkish: 34 changes by jnmbk
portuguese: 8 changes by jcteotonio
esperanto: 18 changes by slashdevslashurandom
portuguese (brazilian): 7 changes by pasantoro
english (au): 6 changes by krysclarke
swedish: 20 changes by joeax910
chinese (traditional): 6 changes by KogentaSan
greek: 6 changes by gh658804
maori (new zealand): 10 changes by Kyle-McDangersword
portuguese: 6 changes by jcteotonio
portuguese (brazilian): 6 changes by pasantoro
polish: 4 changes by Rito13
english (au): 4 changes by krysclarke
chinese (traditional): 4 changes by KogentaSan
english (us): 4 changes by 2TallTyler
greek: 4 changes by gh658804
russian: 4 changes by Ln-Wolf
danish: 15 changes by bscargo
portuguese: 4 changes by jcteotonio
portuguese (brazilian): 3 changes by pasantoro, 1 change by jcteotonio
english (au): 4 changes by krysclarke
swedish: 4 changes by Brickblock1
chinese (traditional): 5 changes by KogentaSan
greek: 4 changes by gh658804
russian: 1 change by Ln-Wolf
finnish: 4 changes by hpiirai
maori (new zealand): 16 changes by Kyle-McDangersword
portuguese: 4 changes by jcteotonio
portuguese (brazilian): 4 changes by pasantoro
polish: 4 changes by pAter-exe
* Update: change wording for driving side setting
* Fix: [NewGRF] Make 'signals on traffic side' consistent with explicit settings
Previously this TTDPatchFlag returned 'true' when the 'train signal side'
setting was 'road vehicle driving side'. Now it will also return 'true' when
both the settings are the same, i.e. both are 'left' or both are 'right'.
chinese (simplified): 1 change by wensimehrp
korean: 1 change by telk5093
indonesian: 180 changes by q1t0
finnish: 1 change by hpiirai
maori (new zealand): 18 changes by Kyle-McDangersword
swedish: 4 changes by joeax910
norwegian (bokmal): 6 changes by eriksorngard
english (us): 1 change by 2TallTyler
esperanto: 1 change by slashdevslashurandom
english (au): 1 change by krysclarke
czech: 34 changes by vladoschreiner
greek: 1 change by gh658804
russian: 1 change by Ln-Wolf
portuguese: 1 change by jcteotonio
portuguese (brazilian): 1 change by pasantoro
Both the GRF version <7 and >=7 are supported, but the decoding assumes the
latter version. This means that for decoding custom errors a GRF version <7
with German will be using the Spanish plural/cases.
Both the GRF version < 7 and >= 7 are supported, but the debug message assumes
the latter. Also, use the same 'default' language for decoding the string as
is done for the part name later in the function.
english (au): 15 changes by krysclarke
czech: 69 changes by adamek0202
greek: 5 changes by gh658804
russian: 5 changes by Ln-Wolf
finnish: 5 changes by hpiirai
portuguese: 5 changes by jcteotonio
portuguese (brazilian): 5 changes by pasantoro
english (us): 3 changes by 2TallTyler
esperanto: 3 changes by slashdevslashurandom
portuguese (brazilian): 1 change by jcteotonio
polish: 1 change by Rito13
english (au): 3 changes by krysclarke
greek: 3 changes by gh658804
russian: 3 changes by Ln-Wolf
finnish: 3 changes by hpiirai
portuguese: 3 changes by jcteotonio
portuguese (brazilian): 82 changes by pasantoro
chinese (traditional): 4 changes by KogentaSan
english (us): 4 changes by 2TallTyler
korean: 4 changes by telk5093
hungarian: 4 changes by vargaviktor
portuguese: 4 changes by jcteotonio
english (au): 4 changes by krysclarke
greek: 4 changes by gh658804
russian: 4 changes by Ln-Wolf
finnish: 4 changes by hpiirai
portuguese (brazilian): 4 changes by pasantoro
polish: 4 changes by pAter-exe
english (au): 1 change by krysclarke
chinese (traditional): 1 change by KogentaSan
english (us): 6 changes by 2TallTyler
russian: 2 changes by Ln-Wolf
finnish: 1 change by hpiirai
portuguese: 5 changes by jcteotonio
esperanto: 6 changes by slashdevslashurandom
portuguese (brazilian): 1 change by pasantoro
polish: 1 change by Rito13
english (au): 8 changes by krysclarke
chinese (traditional): 7 changes by KogentaSan
russian: 5 changes by Ln-Wolf
finnish: 5 changes by hpiirai
portuguese: 5 changes by jcteotonio
portuguese (brazilian): 5 changes by pasantoro
polish: 3 changes by Rito13
swedish: 36 changes by joeax910
english (us): 3 changes by 2TallTyler
chinese (simplified): 58 changes by WenSimEHRP
hungarian: 3 changes by vargaviktor
polish: 3 changes by pAter-exe
swedish: 27 changes by joeax910
chinese (traditional): 5 changes by KogentaSan
luxembourgish: 42 changes by phreeze83
korean: 3 changes by telk5093
greek: 3 changes by gh658804
russian: 3 changes by Ln-Wolf
finnish: 4 changes by hpiirai
portuguese: 5 changes by jcteotonio
esperanto: 3 changes by slashdevslashurandom
portuguese (brazilian): 3 changes by pasantoro
chinese (traditional): 1 change by KogentaSan
english (us): 2 changes by 2TallTyler
hungarian: 5 changes by vargaviktor
portuguese: 2 changes by jcteotonio
esperanto: 2 changes by slashdevslashurandom
portuguese (brazilian): 5 changes by pasantoro, 1 change by jcteotonio
english (au): 2 changes by krysclarke
chinese (traditional): 3 changes by KogentaSan
greek: 2 changes by gh658804
finnish: 2 changes by hpiirai
esperanto: 61 changes by slashdevslashurandom
portuguese (brazilian): 4 changes by pasantoro
polish: 2 changes by pAter-exe
english (au): 1 change by krysclarke
english (us): 1 change by 2TallTyler
greek: 1 change by gh658804
finnish: 1 change by hpiirai
catalan: 7 changes by J0anJosep
portuguese: 1 change by jcteotonio
esperanto: 23 changes by slashdevslashurandom
portuguese (brazilian): 6 changes by pasantoro
polish: 1 change by pAter-exe
english (au): 2 changes by krysclarke
chinese (traditional): 2 changes by KogentaSan
greek: 2 changes by gh658804
russian: 2 changes by Ln-Wolf
finnish: 2 changes by hpiirai
portuguese: 2 changes by jcteotonio
portuguese (brazilian): 2 changes by pasantoro
polish: 1 change by Rito13
Update API docs to clarify distance is Manhattan tiles, rename days_in_transit unit to economy-days, update its max from 637 to 163838, and add a reference to ScriptEconomyTime.
english (au): 1 change by krysclarke
english (us): 1 change by 2TallTyler
greek: 1 change by gh658804
russian: 1 change by Ln-Wolf
finnish: 1 change by hpiirai
latvian: 4 changes by lexuslatvia
esperanto: 14 changes by slashdevslashurandom
portuguese (brazilian): 1 change by pasantoro
polish: 1 change by pAter-exe
maori (new zealand): 5 changes by Kyle-McDangersword
catalan: 26 changes by J0anJosep
esperanto: 107 changes by slashdevslashurandom
polish: 8 changes by Rito13
norwegian (bokmal): 5 changes by eriksorngard
chinese (traditional): 1 change by KogentaSan
greek: 2 changes by gh658804
russian: 2 changes by Ln-Wolf
finnish: 3 changes by hpiirai
maori (new zealand): 80 changes by Kyle-McDangersword
portuguese: 1 change by jcteotonio
esperanto: 187 changes by slashdevslashurandom
portuguese (brazilian): 1 change by pasantoro
chinese (traditional): 10 changes by KogentaSan
korean: 438 changes by telk5093
maori (new zealand): 26 changes by Kyle-McDangersword
danish: 9 changes by bscargo
esperanto: 147 changes by slashdevslashurandom
polish: 35 changes by Rito13, 2 changes by pAter-exe
swedish: 46 changes by robert-i
chinese (traditional): 11 changes by KogentaSan
maori (new zealand): 1 change by Kyle-McDangersword
polish: 42 changes by Rito13, 19 changes by pAter-exe
english (au): 435 changes by krysclarke
chinese (traditional): 264 changes by KogentaSan
english (us): 2 changes by 2TallTyler
greek: 436 changes by gh658804
maori (new zealand): 15 changes by Kyle-McDangersword
polish: 33 changes by Rito13
DiagDirection is the enum that comes closest. A new enum doesn't make sense
for just one function, especially if you get sort-of overlapping behaviour.
It would be X::EastToSouth, X::SouthToWest where either can be chosen in case
of the dragging being in the southern direction.
chinese (traditional): 179 changes by KogentaSan
english (us): 438 changes by 2TallTyler
russian: 438 changes by Ln-Wolf
finnish: 438 changes by hpiirai
maori (new zealand): 516 changes by Kyle-McDangersword
french: 452 changes by glx22
portuguese: 437 changes by jcteotonio
esperanto: 452 changes by slashdevslashurandom
portuguese (brazilian): 479 changes by pasantoro, 1 change by jcteotonio
polish: 250 changes by Rito13
english (au): 2 changes by krysclarke
chinese (traditional): 3 changes by KogentaSan
english (us): 2 changes by 2TallTyler
french: 52 changes by ottdfevr
Fixes 14 doxygen warnings.
The `head` parameter of `GroundVehicle::GetPoweredPartPower` virtual method is removed as it's always the same as the object it's called on.
swedish: 2 changes by robert-i
greek: 2 changes by gh658804
hungarian: 2 changes by titanicbobo
russian: 2 changes by Ln-Wolf
finnish: 2 changes by hpiirai
maori (new zealand): 4 changes by Kyle-McDangersword
latvian: 15 changes by lexuslatvia
portuguese: 2 changes by jcteotonio
portuguese (brazilian): 2 changes by pasantoro
polish: 2 changes by pAter-exe
swedish: 2 changes by robert-i
chinese (traditional): 5 changes by KogentaSan
english (us): 2 changes by 2TallTyler
chinese (simplified): 14 changes by WenSimEHRP
italian: 4 changes by quasimagia
maori (new zealand): 37 changes by Kyle-McDangersword
danish: 2 changes by bscargo
polish: 3 changes by pAter-exe
Turns out the block flag was in Reset mode instead of Set.
Move the Set block logic earlier to make it repeatedly set for as long as the zeppeliner exists.
english (au): 2 changes by krysclarke
greek: 2 changes by gh658804
hungarian: 2 changes by vargaviktor
russian: 2 changes by Ln-Wolf
finnish: 2 changes by hpiirai
maori (new zealand): 3 changes by Kyle-McDangersword
portuguese: 2 changes by jcteotonio
esperanto: 2 changes by slashdevslashurandom
portuguese (brazilian): 2 changes by pasantoro
polish: 13 changes by Rito13
english (au): 11 changes by krysclarke
swedish: 11 changes by robert-i
chinese (traditional): 11 changes by KogentaSan
english (us): 11 changes by 2TallTyler
korean: 11 changes by telk5093
greek: 11 changes by gh658804
russian: 11 changes by Ln-Wolf
finnish: 11 changes by hpiirai
maori (new zealand): 11 changes by Kyle-McDangersword
esperanto: 11 changes by slashdevslashurandom
portuguese (brazilian): 11 changes by pasantoro
When creating vehicles and sorting the list, additional vehicle details are shown for the field being sorted by. For example, when sorting by running cost, the running cost of every vehicle is shown in the vehicle list at the top-level.
Co-authored-by: rubidium42 <rubidium42@users.noreply.github.com>
Co-authored-by: Charles Pigott <charlespigott@googlemail.com>
Microsoft expects a .msixbundle these days, which is effectively identical to .appxbundle, but needs a newer version of Windows 10, so bump our minimum version requirement too.
english (au): 1 change by krysclarke
swedish: 1 change by robert-i
english (us): 1 change by 2TallTyler
korean: 1 change by telk5093
greek: 2 changes by gh658804
hungarian: 6 changes by vargaviktor
russian: 1 change by Ln-Wolf
finnish: 8 changes by hpiirai
maori (new zealand): 1 change by Kyle-McDangersword
portuguese (brazilian): 1 change by pasantoro
polish: 1 change by pAter-exe
swedish: 2 changes by robert-i
chinese (traditional): 23 changes by KogentaSan
chinese (simplified): 26 changes by WenSimEHRP
hungarian: 2 changes by vargaviktor
russian: 6 changes by Ln-Wolf
portuguese: 1 change by jcteotonio
This patch adds support for next/prev railtype hotkeys which select
previous next, first or last available railtype.
If user selected any widget in railway build toolbox it will be
preserved.
Such behaviour is useful for players who use PURR, Useless Tracks,
U&ReRMM and similar NewGRFs for quick selection.
I use PURR with semantic tracks coloring (e.g. white purr for waiting
bays, red purr for prio zones etc).
Current patch binds this feature to `[`, `]`, `CTRL+[` and `CTRL+]`.
Initialy by Konstantin Gribov <grossws@gmail.com>.
english (au): 8 changes by krysclarke
greek: 8 changes by gh658804
russian: 2 changes by Ln-Wolf
finnish: 7 changes by hpiirai
danish: 7 changes by bscargo
portuguese: 27 changes by jcteotonio
esperanto: 8 changes by slashdevslashurandom
portuguese (brazilian): 8 changes by pasantoro
polish: 9 changes by pAter-exe
chinese (traditional): 18 changes by KogentaSan
english (us): 18 changes by 2TallTyler
maori (new zealand): 49 changes by Kyle-McDangersword
danish: 18 changes by bscargo
english (au): 18 changes by krysclarke
greek: 23 changes by gh658804
hungarian: 25 changes by vargaviktor
russian: 18 changes by Ln-Wolf
finnish: 18 changes by hpiirai
esperanto: 18 changes by slashdevslashurandom
portuguese (brazilian): 18 changes by pasantoro
polish: 18 changes by pAter-exe
Old combined cargo/industry sets may set up cargo types with labels and expect them to be usable without a translation table.
Install a fallback table if the NewGRF does not install one to give them a better chance of working.
english (au): 7 changes by krysclarke
chinese (traditional): 7 changes by KogentaSan
greek: 7 changes by gh658804
russian: 6 changes by Ln-Wolf
finnish: 6 changes by hpiirai
portuguese: 3 changes by jcteotonio
portuguese (brazilian): 6 changes by pasantoro
polish: 7 changes by pAter-exe
english (au): 9 changes by krysclarke
norwegian (bokmal): 20 changes by eriksorngard
chinese (traditional): 12 changes by KogentaSan
english (us): 9 changes by 2TallTyler
czech: 18 changes by justidan4
greek: 9 changes by gh658804
russian: 9 changes by Ln-Wolf
finnish: 11 changes by hpiirai
portuguese: 9 changes by jcteotonio
portuguese (brazilian): 9 changes by pasantoro
* Add: Cmake otion to hide line numbers in doxygen warnings.
* Add: Cmake options to specify output file for doxygen warnings.
Adds 3 options each one for each docs target, because doxygen deletes
content of the specified file before it begins to write into it.
* Add 3ebedec: [Script] Test implicit conversion from bool to integer in lists
* Codefix 333249c: Don't print the inverse of IsEnd in regression
It is more natural to print the value as is.
* Add: [Script] Several more ScriptList regression tests
* Add: [Script] ScriptList regression tests for KeepBelowValue, KeepAboveValue, KeepValue
english (au): 9 changes by krysclarke
chinese (traditional): 28 changes by KogentaSan
english (us): 9 changes by 2TallTyler
korean: 8 changes by telk5093
greek: 9 changes by gh658804
russian: 7 changes by Ln-Wolf
finnish: 9 changes by hpiirai
portuguese: 9 changes by jcteotonio
portuguese (brazilian): 7 changes by pasantoro, 2 changes by jcteotonio
This avoids complicating languages and translations trying to compose a string from multiple parts.
Also makes these dropdown buttons more consistent with other dropdown buttons.
Fix script list sorter to correctly retarget iterator when swapping lists.
Each sorter implementation now updates its internal iterator to remain valid after attaching to a new list, avoiding undefined behaviour.
english (au): 1 change by krysclarke
chinese (traditional): 3 changes by KogentaSan
english (us): 1 change by 2TallTyler
vietnamese: 1 change by KhoiCanDev
greek: 1 change by gh658804
hungarian: 5 changes by vargaviktor
russian: 1 change by Ln-Wolf
finnish: 1 change by hpiirai
portuguese: 4 changes by jcteotonio
portuguese (brazilian): 1 change by pasantoro
polish: 1 change by Rito13
maori (new zealand): 2 changes by Kyle-McDangersword
- Enclose "Presence and direction of bridge above" within <li> </li>
- Several missing closing </li> tags
- A few missing closing </td></tr> tags
- Consistent lower case <br> tags
- A big table misalignment by one space in "m5 bits 7..4: Water tile type:" with an incorrect closing </li> tag at the end
greek: 1 change by superuser-does
ukrainian: 33 changes by StepanIvasyn
turkish: 3 changes by jnmbk
portuguese: 12 changes by jcteotonio
portuguese (brazilian): 1 change by jcteotonio
maori (new zealand): 30 changes by Kyle-McDangersword
If the small font is set larger than the normal font, both name and version text disappeared.
Take account of the height of the small font when setting the resize height.
welsh: 67 changes by Ansbaradigeidfran
czech: 47 changes by LubosKolouch
greek: 9 changes by superuser-does
serbian: 47 changes by nkrs
ukrainian: 16 changes by StepanIvasyn
swedish: 2 changes by robert-i
vietnamese: 9 changes by KhoiCanDev
greek: 226 changes by superuser-does
catalan: 9 changes by J0anJosep
esperanto: 1 change by legoscia
english (au): 9 changes by krysclarke
norwegian (bokmal): 9 changes by eriksorngard
chinese (traditional): 9 changes by KogentaSan
english (us): 7 changes by 2TallTyler
serbian: 43 changes by nkrs
german: 12 changes by Wuzzy2
irish: 33 changes by temuchie
turkish: 59 changes by jnmbk
portuguese (brazilian): 6 changes by pasantoro
english (us): 2 changes by 2TallTyler
chinese (simplified): 9 changes by WenSimEHRP
korean: 2 changes by telk5093
greek: 9 changes by gh658804
russian: 6 changes by Ln-Wolf
finnish: 9 changes by hpiirai
french: 26 changes by glx22
portuguese: 24 changes by jcteotonio
portuguese (brazilian): 3 changes by pasantoro
polish: 9 changes by Rito13
vietnamese: 41 changes by KhoiCanDev
ukrainian: 3 changes by StepanIvasyn
spanish: 135 changes by MontyMontana
maori (new zealand): 27 changes by Kyle-McDangersword
Add convenience helpers to correctly retrieve goods entry cargo available/totals.
Avoids having to check if cargo data is available before accessing it, which was missing for autorefit.
chinese (traditional): 30 changes by KogentaSan
czech: 121 changes by jacobczsk
luxembourgish: 6 changes by phreeze83
russian: 11 changes by Ln-Wolf
turkish: 145 changes by jnmbk
dutch: 48 changes by Afoklala
portuguese: 21 changes by jcteotonio
english (au): 2 changes by krysclarke
chinese (traditional): 2 changes by KogentaSan
english (us): 2 changes by 2TallTyler
chinese (simplified): 8 changes by WenSimEHRP
greek: 2 changes by gh658804
russian: 2 changes by Ln-Wolf
finnish: 6 changes by hpiirai
portuguese: 28 changes by jcteotonio
portuguese (brazilian): 2 changes by pasantoro
polish: 2 changes by pAter-exe
norwegian (bokmal): 6 changes by eriksorngard
hungarian: 1 change by vargaviktor
hebrew: 48 changes by yair-bn
portuguese: 2 changes by jcteotonio
polish: 7 changes by Rito13, 4 changes by pAter-exe
english (au): 4 changes by krysclarke
swedish: 6 changes by joeax910
chinese (traditional): 1 change by KogentaSan
english (us): 1 change by 2TallTyler
greek: 1 change by gh658804
russian: 2 changes by Ln-Wolf
finnish: 1 change by hpiirai
turkish: 30 changes by jnmbk
danish: 38 changes by bscargo
portuguese: 10 changes by jcteotonio
portuguese (brazilian): 4 changes by pasantoro
polish: 1 change by pAter-exe
swedish: 5 changes by robert-i
chinese (traditional): 7 changes by KogentaSan
english (us): 3 changes by 2TallTyler
korean: 5 changes by telk5093
greek: 3 changes by gh658804
hungarian: 5 changes by vargaviktor
russian: 3 changes by Ln-Wolf
finnish: 3 changes by hpiirai
turkish: 147 changes by jnmbk
portuguese: 28 changes by jcteotonio
portuguese (brazilian): 6 changes by jcteotonio
polish: 10 changes by Rito13
english (au): 2 changes by krysclarke
english (us): 2 changes by 2TallTyler
greek: 2 changes by gh658804
russian: 2 changes by Ln-Wolf
finnish: 2 changes by hpiirai
catalan: 18 changes by J0anJosep
portuguese: 10 changes by jcteotonio
portuguese (brazilian): 2 changes by pasantoro
polish: 2 changes by pAter-exe
Order Load and Unload flags have complex logic to ensure that invalid combinations aren't used. In fact, apart from FullLoad and FullLoadAny, all mixed combinations are invalid.
Simplify logic by removing the use of bit values and treat each option as a value.
The NewGRF spec does not mention that sprite group `type` and the `num-ent1` fields are the same.
Reserve all unrecognised special types in case they are wanted at some point.
english (au): 9 changes by krysclarke
swedish: 17 changes by robert-i
english (us): 17 changes by 2TallTyler
greek: 9 changes by gh658804
russian: 9 changes by Ln-Wolf
finnish: 9 changes by hpiirai
portuguese (brazilian): 9 changes by pasantoro
polish: 9 changes by pAter-exe
english (au): 8 changes by krysclarke
greek: 8 changes by gh658804
russian: 8 changes by Ln-Wolf
finnish: 8 changes by hpiirai
portuguese: 8 changes by jcteotonio
portuguese (brazilian): 8 changes by pasantoro
polish: 10 changes by pAter-exe
ProcessRegisters must be called even if the sprite resolve result
is not valid.
A zero-length ResultSpriteGroup is valid because the output value
is an offset, not a sprite ID within the ResultSpriteGroup.
Replaces the fixed-size array for company sorting with a std::vector and updates sorting to use std::ranges::sort. This removes the need for manual count management.
The logic in ConNetworkAuthorizedKey for the `authorized_key` command was inverted.
The check `if (StrEqualsIgnoreCase(type, name)) continue;` caused the action (add/remove) to be incorrectly executed on the first key type encountered that *did not* match the requested type, rather than the intended one. This resulted in keys specified for 'admin' being added to 'rcon', for example.
This commit inverts the condition to ensure the action is performed only when the requested type matches the iterated key name.
english (au): 4 changes by krysclarke
english (us): 4 changes by 2TallTyler
greek: 4 changes by gh658804
hungarian: 4 changes by vargaviktor
russian: 4 changes by Ln-Wolf
finnish: 4 changes by hpiirai
portuguese: 4 changes by jcteotonio
portuguese (brazilian): 4 changes by pasantoro
english (au): 11 changes by krysclarke
swedish: 11 changes by robert-i
chinese (traditional): 11 changes by KogentaSan
greek: 11 changes by gh658804
russian: 13 changes by Ln-Wolf
finnish: 15 changes by hpiirai
portuguese: 44 changes by jcteotonio
portuguese (brazilian): 11 changes by pasantoro, 1 change by jcteotonio
polish: 10 changes by Rito13, 1 change by pAter-exe
swedish: 1 change by robert-i
norwegian (bokmal): 4 changes by eriksorngard
chinese (simplified): 4 changes by WenSimEHRP
catalan: 1 change by J0anJosep
danish: 4 changes by bscargo
latvian: 8 changes by lexuslatvia
dutch: 4 changes by Afoklala
french: 5 changes by ottdfevr
* Use `iter->` instead of `(*iter).`
* Use prefix instead of postfix operators
* Use `auto` instead of explicit iterator type.
* Use `std::next()` instead of assignment then increment.
* Use range-for where possible.
english (au): 1 change by krysclarke
greek: 1 change by gh658804
hungarian: 4 changes by vargaviktor
russian: 1 change by Ln-Wolf
finnish: 1 change by hpiirai
portuguese: 1 change by jcteotonio
portuguese (brazilian): 1 change by pasantoro
Instead of calculating and storing which buttons to display for each
line and then further calculating what each line should be when
displaying it, store everything on one pass.
This simplifies/deduplicates logic.
english (au): 3 changes by krysclarke
swedish: 3 changes by robert-i
korean: 3 changes by telk5093
greek: 3 changes by gh658804
russian: 3 changes by Ln-Wolf
finnish: 3 changes by hpiirai
catalan: 3 changes by J0anJosep
portuguese: 3 changes by jcteotonio
portuguese (brazilian): 3 changes by pasantoro
polish: 3 changes by pAter-exe
When building a custom station, the callback-derived tile layout is ignored during the bridge height test. This caused a discrepancy between building a station under a bridge vs building a bridge over the same station.
Test the station tile layout callback during the bridge height test.
`HandleScrollbarHittest` returns min and max coordinates, not x and y.
Also avoid referring to the min and max coordinates as top and bottom, as these functions are used for both vertical and horizontal scrollbars.
_setting_circle_size and (the incorrectly named) SETTING_HEIGHT variables are now static members of BaseSettingEntry.
Neither of these are constants, so they no longer use constant naming style.
* ShowDropDownList() now issues a beep, so individual toolbar buttons no longer need to do it.
* HandleButtonClick() may be called twice for some buttons, as it is called by automatically for PUSH buttons.
This caused some beeps to sound louder than others.
Replace OS-dependent interface scaling with scaling dependent on the window size.
This works on all platforms and should provide a more comfortable experience for new players. Manual interface scale setting works as before.
swedish: 2 changes by robert-i
norwegian (bokmal): 4 changes by eriksorngard
chinese (traditional): 5 changes by KogentaSan
english (us): 5 changes by 2TallTyler
greek: 2 changes by gh658804
russian: 2 changes by Ln-Wolf
finnish: 2 changes by hpiirai
danish: 2 changes by bscargo
portuguese: 6 changes by jcteotonio
portuguese (brazilian): 9 changes by pasantoro
polish: 12 changes by pAter-exe
english (au): 1 change by krysclarke
swedish: 1 change by robert-i
chinese (traditional): 1 change by KogentaSan
chinese (simplified): 2 changes by WenSimEHRP
korean: 1 change by telk5093
greek: 1 change by gh658804
finnish: 1 change by hpiirai
portuguese: 9 changes by jcteotonio
portuguese (brazilian): 1 change by pasantoro
polish: 1 change by Rito13
* Compare against the size of the array instead of the constant used to define the array.
* `type_map` alias now uses auto to avoid defining the type each time.
* `_cur_gps.grffile->railtype_map` is now aliased to `type_map` to simplify and standardise.
english (us): 1 change by 2TallTyler
korean: 1 change by telk5093
hungarian: 1 change by vargaviktor
danish: 2 changes by New-Authentication
dutch: 1 change by nicobresseleers
portuguese: 12 changes by jcteotonio
english (au): 1 change by krysclarke
swedish: 1 change by robert-i
chinese (traditional): 1 change by KogentaSan
vietnamese: 1 change by KhoiCanDev
greek: 1 change by gh658804
russian: 1 change by Ln-Wolf
finnish: 1 change by hpiirai
portuguese: 76 changes by jcteotonio
portuguese (brazilian): 1 change by pasantoro
polish: 4 changes by pAter-exe
# Our GUI code tends to use switches for OnClick handlers, DrawWidget, and UpdateWidgetSize. Sometimes GUIs just don't have many elements, but we want to keep consistency.
You may also want the guide to [compiling OpenTTD](./COMPILING.md).
## Use of AI
OpenTTD is a labour of love, created by people.
Please refrain from submitting issues or pull requests that have been generated by an LLM or other fully-automated tools.
Any submission that is in violation of this policy will be closed, and the submitter may be blocked from this repository without warning.
If you submit an issue, you need to understand what your issue description is saying.
You need to be able to answer questions about your bug report or feature request.
Using an AI tool to _proofread_ your issue/comment text is acceptable. Using an AI tool to _write_ your issue/comment text is not.
If you submit a pull request, you need to understand what every line of code you've changed does.
If you can't explain why your PR is doing something, then do not submit it.
Using an AI tool to generate entire lines of code is unacceptable.
The rationale behind this policy is that automated contributions are a waste of the maintainers' time.
Humans spend their time and brainpower reviewing every submission.
Issues or pull requests generated by automation tools create an imbalance of effort between the submitter and the reviewer.
Nobody learns anything when a maintainer reviews code written by an LLM.
Additionally, AI-generated code conflicts with this project's license (GPL v2), since you cannot truly release code for use if you didn't author it yourself.
# OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
# OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
# See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <https://www.gnu.org/licenses/old-licenses/gpl-2.0>.
# Doxyfile 1.9.4
@@ -45,7 +45,9 @@ PYTHON_DOCSTRING = YES
INHERIT_DOCS = YES
SEPARATE_MEMBER_PAGES = NO
TAB_SIZE = 2
ALIASES =
ALIASES = important="@attention" # @important is available in newer versions of doxygen.
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <https://www.gnu.org/licenses/old-licenses/gpl-2.0>.
*/
/* This file contains code to downgrade the API from 1.0 to 0.7. */
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <https://www.gnu.org/licenses/old-licenses/gpl-2.0>.
*/
/* This file contains code to downgrade the API from 1.1 to 1.0. */
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <https://www.gnu.org/licenses/old-licenses/gpl-2.0>.
*/
/* This file contains code to downgrade the API from 1.2 to 1.1. */
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <https://www.gnu.org/licenses/old-licenses/gpl-2.0>.
*/
/* This file contains code to downgrade the API from 1.11 to 1.10. */
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <https://www.gnu.org/licenses/old-licenses/gpl-2.0>.
*/
/* This file contains code to downgrade the API from 12 to 1.11. */
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <https://www.gnu.org/licenses/old-licenses/gpl-2.0>.
*/
/* This file contains code to downgrade the API from 1.3 to 1.2. */
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <https://www.gnu.org/licenses/old-licenses/gpl-2.0>.
*/
/* This file contains code to downgrade the API from 1.4 to 1.3. */
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <https://www.gnu.org/licenses/old-licenses/gpl-2.0>.
*/
/* This file contains code to downgrade the API from 1.5 to 1.4. */
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <https://www.gnu.org/licenses/old-licenses/gpl-2.0>.
*/
/* This file contains code to downgrade the API from 1.6 to 1.5. */
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <https://www.gnu.org/licenses/old-licenses/gpl-2.0>.
*/
/* This file contains code to downgrade the API from 1.7 to 1.6. */
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <https://www.gnu.org/licenses/old-licenses/gpl-2.0>.
*/
/* This file contains code to downgrade the API from 1.8 to 1.7. */
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <https://www.gnu.org/licenses/old-licenses/gpl-2.0>.
*/
/* This file contains code to downgrade the API from 1.9 to 1.8. */
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <https://www.gnu.org/licenses/old-licenses/gpl-2.0>.
*/
/* This file contains code to downgrade the API from 1.10 to 1.9. */
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <https://www.gnu.org/licenses/old-licenses/gpl-2.0>.
*/
/* This file contains code to downgrade the API from 13 to 12. */
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <https://www.gnu.org/licenses/old-licenses/gpl-2.0>.
*/
/* This file contains code to downgrade the API from 14 to 13. */
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <https://www.gnu.org/licenses/old-licenses/gpl-2.0>.
*/
/* This file contains code to downgrade the API from 15 to 14. */
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <https://www.gnu.org/licenses/old-licenses/gpl-2.0>.
*/
/* This file contains code to downgrade the API from 16 to 15. */
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <https://www.gnu.org/licenses/old-licenses/gpl-2.0>.
*/
/* This file contains code to downgrade the API from 1.11 to 1.10. */
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <https://www.gnu.org/licenses/old-licenses/gpl-2.0>.
*/
/* This file contains code to downgrade the API from 12 to 1.11. */
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <https://www.gnu.org/licenses/old-licenses/gpl-2.0>.
*/
/* This file contains code to downgrade the API from 1.3 to 1.2. */
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <https://www.gnu.org/licenses/old-licenses/gpl-2.0>.
*/
/* This file contains code to downgrade the API from 1.4 to 1.3. */
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <https://www.gnu.org/licenses/old-licenses/gpl-2.0>.
*/
/* This file contains code to downgrade the API from 1.5 to 1.4 */
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <https://www.gnu.org/licenses/old-licenses/gpl-2.0>.
*/
/* This file contains code to downgrade the API from 1.6 to 1.5. */
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <https://www.gnu.org/licenses/old-licenses/gpl-2.0>.
*/
/* This file contains code to downgrade the API from 1.7 to 1.6. */
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <https://www.gnu.org/licenses/old-licenses/gpl-2.0>.
*/
/* This file contains code to downgrade the API from 1.8 to 1.7. */
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <https://www.gnu.org/licenses/old-licenses/gpl-2.0>.
*/
/* This file contains code to downgrade the API from 1.9 to 1.8. */
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <https://www.gnu.org/licenses/old-licenses/gpl-2.0>.
*/
/* This file contains code to downgrade the API from 1.10 to 1.9. */
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <https://www.gnu.org/licenses/old-licenses/gpl-2.0>.
*/
/* This file contains code to downgrade the API from 13 to 12. */
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <https://www.gnu.org/licenses/old-licenses/gpl-2.0>.
*/
/* This file contains code to downgrade the API from 14 to 13. */
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <https://www.gnu.org/licenses/old-licenses/gpl-2.0>.
*/
/* This file contains code to downgrade the API from 15 to 14. */
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <https://www.gnu.org/licenses/old-licenses/gpl-2.0>.
*/
/* This file contains code to downgrade the API from 16 to 15. */
/*
* These window/widget related enumerations have never been stable, but breaking anything using them
* is a really big ask when restructuring code. If in the future things are removed from the underlying
* enumerations, feel free to remove them from this compatibility script.
<tr><td><tt>0F</tt></td><tdalign=left>a town owns the tile</td></tr>
<tr><td><tt>10</tt></td><tdalign=left>nobody owns the tile</td></tr>
@@ -152,8 +155,8 @@
<li>m4 bits 7..5: type of hedge on the SW border of the tile (1 through 6, or 0=none)</li>
<li>m4 bits 4..2: same as 7..5, but for the SE border</li>
<li>m5 bits 7..5: update counter, incremented on every periodic processing for tile types,
other than <tt>03</tt>, <tt>07</tt>, <tt>0B</tt>, <tt>10</tt> and above.<BR>
on wraparound, the tile is updated (for fields, the type of fields in m3 is increased, for other types the tile type in m5 is increased).<BR>
other than <tt>03</tt>, <tt>07</tt>, <tt>0B</tt>, <tt>10</tt> and above.<br>
on wraparound, the tile is updated (for fields, the type of fields in m3 is increased, for other types the tile type in m5 is increased).<br>
For snow and desert, these bits are not used, tile is updated on every periodic processing.</li>
<li>m5 bits 4..2: tile type:
<table>
@@ -390,7 +393,7 @@
</tr>
</table>
</li>
<li>m5 bit 6 set = with signals:<BR>
<li>m5 bit 6 set = with signals:<br>
There are at most 4 signals on a tile. The signals 0..3 belong to the directions:
<table>
<tr>
@@ -562,7 +565,7 @@
<td>
<ul>
<li>m2: Index into the array of towns (owning town for town roads; closest town otherwise, INVALID_TOWN if there is no town or we are creating a town)</li>
<li>m3 bits 7..4: <ahref="#OwnershipInfo">owner</a> of road type 1 (tram); OWNER_NONE (<tt>10</tt>) is stored as OWNER_TOWN (<tt>0F</tt>)
<li>m3 bits 7..4: <ahref="#OwnershipInfo">owner</a> of road type 1 (tram); OWNER_NONE (<tt>10</tt>) is stored as OWNER_TOWN (<tt>0F</tt>)</li>
<li>m1 bits 6..5 : Water class (sea, canal, river or land)
<li>m1 bits 6..5 : Water class (sea, canal, river or land)</li>
<li>m1 bits 3..2: construction counter, for buildings under construction incremented on every periodic tile processing</li>
<li>m1 bits 1..0: stage of construction (<tt>3</tt> = completed), incremented when the construction counter wraps around<br>
the meaning is different for some animated tiles which are never under construction (types <tt>01</tt>, <tt>1E</tt>..<tt>20</tt>, <tt>30</tt>, <tt>58</tt>; see above)</li>
@@ -1323,7 +1326,8 @@
<tdnowrapvalign=top><tt>58</tt> </td>
<tdalign=left>wheel tower when animated; animation state in m7 bits 5..0; m7 bit 6 set = sound already generated</td>
@@ -92,7 +92,7 @@ the array so you can quickly see what is used and what is not.
<tr>
<tdclass="caption">farmland</td>
<tdclass="bits"><spanclass="pool"title="Industry index on pool">XXXX XXXX XXXX XXXX</span></td>
<tdclass="bits"><spanclass="used"title="Type of hedge on NE border">XXX</span><spanclass="used"title="Field production stage">XXXXX</span></td>
<tdclass="bits"><spanclass="used"title="Type of hedge on NE border">XXX</span><spanclass="used"title="Snow presence">X</span><spanclass="used"title="Field production stage">XXXX</span></td>
</tr>
<tr>
<tdrowspan=3>1</td>
@@ -165,14 +165,14 @@ the array so you can quickly see what is used and what is not.
</tr>
<tr>
<tdclass="caption">house under construction</td>
<tdclass="bits"><spanclass="used"title="House is complete/in construction (see m5)">O</span><spanclass="used"title="House type (m4 + m3[6])">X</span><spanclass="used"title="The house is protected from the town upgrading it.">X</span><spanclass="usable"title="Activated triggers (bits 2..4 don't have a meaning)">X XX</span><spanclass="used"title="Activated triggers (bits 2..4 don't have a meaning)">XX</span></td>
<tdclass="bits"><spanclass="used"title="House is complete/in construction (see m5)">O</span><spanclass="free">O</span><spanclass="used"title="The house is protected from the town upgrading it.">X</span><spanclass="usable"title="Activated triggers (bits 2..4 don't have a meaning)">X XX</span><spanclass="used"title="Activated triggers (bits 2..4 don't have a meaning)">XX</span></td>
<tdclass="bits"><spanclass="used"title="Number of trees on tile (+1)">XX</span><spanclass="free">OO O</span><spanclass="used"title="Tree growth">XXX</span></td>
// OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
// OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
// See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
// See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <https://www.gnu.org/licenses/old-licenses/gpl-2.0>.
//
// This is the DOS 2CC translation map which OpenTTD translates if needed upon loading.
// OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
// OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
// See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
// See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <https://www.gnu.org/licenses/old-licenses/gpl-2.0>.
// OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
// OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
// See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
// See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <https://www.gnu.org/licenses/old-licenses/gpl-2.0>.
// OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
// OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
// See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
// See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <https://www.gnu.org/licenses/old-licenses/gpl-2.0>.
//
-1 * 0 0C "Aqueduct graphics by Jonathan G. Rennison / PaulC"
// OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
// OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
// See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
// See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <https://www.gnu.org/licenses/old-licenses/gpl-2.0>.
// OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
// OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
// See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <https://www.gnu.org/licenses/old-licenses/gpl-2.0>.
//
-1 * 0 0C "Bridge decks"
-1 * 0 07 83 01 \7= 03 19
-1 * 3 05 1B 18
-1 sprites/bridge_decks.png 8bpp 96 16 64 31 -31 0 normal
-1 sprites/bridge_decks.png 8bpp 16 16 64 31 -31 0 normal
-1 sprites/bridge_decks.png 8bpp 176 16 64 39 -31 -8 normal
-1 sprites/bridge_decks.png 8bpp 256 16 64 23 -31 0 normal
-1 sprites/bridge_decks.png 8bpp 336 16 64 23 -31 0 normal
-1 sprites/bridge_decks.png 8bpp 416 16 64 39 -31 -8 normal
-1 sprites/bridge_decks.png 8bpp 96 71 64 31 -31 0 normal
-1 sprites/bridge_decks.png 8bpp 16 71 64 31 -31 0 normal
-1 sprites/bridge_decks.png 8bpp 176 71 64 39 -31 -8 normal
-1 sprites/bridge_decks.png 8bpp 256 71 64 23 -31 0 normal
-1 sprites/bridge_decks.png 8bpp 336 71 64 23 -31 0 normal
-1 sprites/bridge_decks.png 8bpp 416 71 64 39 -31 -8 normal
-1 sprites/bridge_decks.png 8bpp 96 126 64 31 -31 0 normal
-1 sprites/bridge_decks.png 8bpp 16 126 64 31 -31 0 normal
-1 sprites/bridge_decks.png 8bpp 176 126 64 39 -31 -8 normal
-1 sprites/bridge_decks.png 8bpp 256 126 64 23 -31 0 normal
-1 sprites/bridge_decks.png 8bpp 336 126 64 23 -31 0 normal
-1 sprites/bridge_decks.png 8bpp 416 126 64 39 -31 -8 normal
// X and Y axis are swapped for road surface.
-1 sprites/bridge_decks.png 8bpp 16 181 64 31 -31 0 normal
-1 sprites/bridge_decks.png 8bpp 96 181 64 31 -31 0 normal
-1 sprites/bridge_decks.png 8bpp 176 181 64 39 -31 -8 normal
-1 sprites/bridge_decks.png 8bpp 256 181 64 23 -31 0 normal
-1 sprites/bridge_decks.png 8bpp 336 181 64 23 -31 0 normal
-1 sprites/bridge_decks.png 8bpp 416 181 64 39 -31 -8 normal
// Toyland bridge decks, skip if not toyland.
-1 * 0 07 83 01 \7! 03 19
-1 * 3 05 1B 18
-1 sprites/bridge_decks_toyland.png 8bpp 96 16 64 31 -31 0 normal
-1 sprites/bridge_decks_toyland.png 8bpp 16 16 64 31 -31 0 normal
-1 sprites/bridge_decks_toyland.png 8bpp 176 16 64 39 -31 -8 normal
-1 sprites/bridge_decks_toyland.png 8bpp 256 16 64 23 -31 0 normal
-1 sprites/bridge_decks_toyland.png 8bpp 336 16 64 23 -31 0 normal
-1 sprites/bridge_decks_toyland.png 8bpp 416 16 64 39 -31 -8 normal
-1 sprites/bridge_decks_toyland.png 8bpp 96 71 64 31 -31 0 normal
-1 sprites/bridge_decks_toyland.png 8bpp 16 71 64 31 -31 0 normal
-1 sprites/bridge_decks_toyland.png 8bpp 176 71 64 39 -31 -8 normal
-1 sprites/bridge_decks_toyland.png 8bpp 256 71 64 23 -31 0 normal
-1 sprites/bridge_decks_toyland.png 8bpp 336 71 64 23 -31 0 normal
-1 sprites/bridge_decks_toyland.png 8bpp 416 71 64 39 -31 -8 normal
-1 sprites/bridge_decks_toyland.png 8bpp 96 126 64 31 -31 0 normal
-1 sprites/bridge_decks_toyland.png 8bpp 16 126 64 31 -31 0 normal
-1 sprites/bridge_decks_toyland.png 8bpp 176 126 64 39 -31 -8 normal
-1 sprites/bridge_decks_toyland.png 8bpp 256 126 64 23 -31 0 normal
-1 sprites/bridge_decks_toyland.png 8bpp 336 126 64 23 -31 0 normal
-1 sprites/bridge_decks_toyland.png 8bpp 416 126 64 39 -31 -8 normal
// X and Y axis are swapped for road surface.
-1 sprites/bridge_decks_toyland.png 8bpp 16 181 64 31 -31 0 normal
-1 sprites/bridge_decks_toyland.png 8bpp 96 181 64 31 -31 0 normal
-1 sprites/bridge_decks_toyland.png 8bpp 176 181 64 39 -31 -8 normal
-1 sprites/bridge_decks_toyland.png 8bpp 256 181 64 23 -31 0 normal
-1 sprites/bridge_decks_toyland.png 8bpp 336 181 64 23 -31 0 normal
-1 sprites/bridge_decks_toyland.png 8bpp 416 181 64 39 -31 -8 normal
// OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
// OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
// See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
// See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <https://www.gnu.org/licenses/old-licenses/gpl-2.0>.
// OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
// OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
// See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
// See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <https://www.gnu.org/licenses/old-licenses/gpl-2.0>.
//
-1 * 0 0C "Font characters by PaulC, Bilbo and Jasper Vries"
// OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
// OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
// See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
// See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <https://www.gnu.org/licenses/old-licenses/gpl-2.0>.
// OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
// OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
// See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
// See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <https://www.gnu.org/licenses/old-licenses/gpl-2.0>.
//
-1 * 0 0C "Foundations. Non-halftile ones by Marcin Grzegorczyk"
-1 * 6 07 83 01 \7! 00 5B
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.