Tyler Trahan
e8d2ebb016
Fix: Add missing includes to timers from script implementation files ( #11604 )
2023-12-19 14:09:46 +00:00
SamuXarick
fddcaef74a
Codechange: Use town zone constants instead of magic numbers
2023-12-18 22:12:43 +01:00
translators
9b7a5bc876
Update: Translations from eints
...
vietnamese: 1 change by KhoiCanDev
danish: 4 changes by bscargo
2023-12-18 18:39:11 +00:00
Peter Nelson
b19a6c3b81
Fix: Window width/height was doubly-scaled with automatic DPI switch. ( #11598 )
2023-12-18 13:05:06 +00:00
SamuXarick
c05ffb22bd
Fix #10452 : Don't let AyStar max_search_nodes unattended when initializing ( #11544 )
...
Add a constant with the default value of 10000 and have the pathfinding settings refer to it.
Add a preventative method to AyStar when it's initializing, to limit the number of max_search_nodes if left unattended.
2023-12-17 22:50:53 +01:00
translators
8ab3838387
Update: Translations from eints
...
vietnamese: 20 changes by KhoiCanDev
italian: 5 changes by Rivarossi
2023-12-17 18:37:38 +00:00
Peter Nelson
661e0cd82d
Fix: Make compact picker windows expand to fill if necessary. ( #11591 )
2023-12-16 23:08:42 +00:00
translators
651343d69e
Update: Translations from eints
...
english (au): 17 changes by krysclarke
english (us): 17 changes by 2TallTyler
italian: 30 changes by Rivarossi
russian: 17 changes by Ln-Wolf
french: 36 changes by ottdfevr
portuguese (brazilian): 30 changes by pasantoro
2023-12-16 18:36:51 +00:00
translators
0e6038f0e5
Update: Translations from eints
...
english (us): 19 changes by 2TallTyler
vietnamese: 14 changes by KhoiCanDev
turkish: 26 changes by BeratSJ
dutch: 19 changes by Afoklala
2023-12-15 18:38:09 +00:00
Tyler Trahan
8816c9dd26
Change: Improve and standardize wording of World Generation helptexts
2023-12-15 09:57:44 -05:00
Tyler Trahan
1343d7e25a
Change: Don't mention TerraGenesis in setting helptexts
...
We no longer show the land generator in the World Generation GUI, so this is less important to explain in tooltips.
2023-12-15 09:57:44 -05:00
Tyler Trahan
1e8aa9ce22
Add: Use more tooltips in World Generation GUI
2023-12-15 09:57:44 -05:00
Peter Nelson
302e8852c1
Fix: Crash if squirrel compatibility scripts cannot be parsed. ( #11589 )
2023-12-15 01:25:36 +00:00
Loïc Guilloux
7726f8f245
Fix: [Script] Properly store the previous AsyncMode state ( #11587 )
2023-12-14 21:29:44 +00:00
Peter Nelson
bbf3028f89
Fix #11585 : Crash when cleaning AI/GS with nested AsyncMode.
...
Do not throw sanity check when in_shutdown is true. This is also applied to
ExecMode and TestMode as they follow the same pattern.
2023-12-14 20:54:31 +00:00
Peter Nelson
47dd04d16c
Fix: Don't crash when saving a crashlog save with no main window open.
2023-12-14 20:54:31 +00:00
Peter Nelson
da2d21f5b0
Fix: Left-over printf-style format passed to fmt. ( #11584 )
2023-12-14 19:35:35 +00:00
translators
63c006a174
Update: Translations from eints
...
korean: 20 changes by telk5093
danish: 13 changes by bscargo
portuguese (brazilian): 18 changes by pasantoro
2023-12-14 18:38:27 +00:00
Jonathan G Rennison
97b86b7147
Codechange: Use MakeParameters with GetNextParameter in FormatString ( #11583 )
...
Instead of StringParameters subspan, to avoid GSs being able to
cause subspan boundary assertion failures
2023-12-14 10:41:31 -05:00
Peter Nelson
12bb750128
Codechange: Cargo filters no longer take an index. ( #11582 )
...
Update naming of functions to reflect that parameter is now a cargoid.
2023-12-14 01:48:45 +00:00
Peter Nelson
d6515d6c98
Fix 0a8bcdd: Scaling non-sprite fonts does not depend on _font_zoom changing. ( #11579 )
2023-12-13 19:51:44 +00:00
translators
8e05001001
Update: Translations from eints
...
english (au): 18 changes by krysclarke
russian: 18 changes by Ln-Wolf
2023-12-13 18:38:37 +00:00
Peter Nelson
6c5aeae01b
Fix #11577 : Extra viewport opened in wrong location. ( #11578 )
...
ExtraViewportWindow calls IninitializeViewport() with focus as 0, which is ambiguous as focus should be either a TileIndex or a VehicleID.
Instead, pass the tile and let InitializeViewport() handle setting all the coordinates.
2023-12-13 02:19:16 +00:00
Peter Nelson
0a8bcdd344
Change: Be selective about clearing sprite/font caches on interface scale change. ( #11576 )
...
Sprite cache contains all zoom levels anyway, so does not need to be reloaded.
Font cache does not need to be clear if the font zoom hasn't changed, i.e. when changing the max sprite zoom level setting.
2023-12-11 21:03:54 +00:00
translators
b62fafc5d4
Update: Translations from eints
...
english (au): 1 change by krysclarke
italian: 1 change by Rivarossi
german: 7 changes by SecretIdetity
russian: 1 change by Ln-Wolf
danish: 1 change by bscargo
french: 1 change by glx22
2023-12-11 18:39:36 +00:00
Peter Nelson
dc27f1649a
Fix e2425b7: Sprites no longer refreshed if max zoom level changed.
...
Handle this via AdjustGUIZoom() instead.
2023-12-11 14:16:49 +00:00
Peter Nelson
162ffc288d
Fix e2425b7: WidgetDimensions and depot sizes not set up if blitter forced.
...
Set up WidgetDimensions and depot sizes during InitWindowSystem().
2023-12-11 14:16:49 +00:00
Tyler Trahan
2bada59193
Feature: Mode to display timetable in seconds
2023-12-11 07:12:45 -05:00
Tyler Trahan
2a62caa30b
Codechange: Use Ticks for BaseConsist timetable fields
2023-12-11 07:12:45 -05:00
Tyler Trahan
051abb2fad
Change: Don't show scoring year in high score table ( #11546 )
2023-12-10 18:05:51 -05:00
Peter Nelson
6e8c27b8e5
Change: Hide bevel for resizeable sparse layout windows. ( #11572 )
...
When clicked, the button is still highlighted to show that it is active.
The bevel is controlled with widget_data by RWV_SHOW_BEVEL or RWV_HIDE_BEVEL values.
2023-12-10 17:25:36 +00:00
SamuXarick
a3d56e2c6e
Fix: Prevent overflow when calculating max town noise ( #11564 )
...
Max town noise could overflow if the population was high enough. The value is now clamped.
2023-12-10 15:42:55 +00:00
Peter Nelson
09251d993c
Change: Use sparse padding for network server list. ( #11571 )
2023-12-10 14:48:58 +00:00
Peter Nelson
102fc6a9d1
Cleanup: iif should be iff (if-and-only-if) ( #11570 )
2023-12-10 12:05:28 +00:00
Peter Nelson
8186182e4c
Codechange: Set displayed plane earlier to avoid ReInit.
2023-12-10 12:01:55 +00:00
Peter Nelson
fb60f8f2f5
Codechange: Simplify BuildRailStationWindow initialization.
2023-12-10 12:01:55 +00:00
Peter Nelson
66b064cbad
Codechange: Use return value of SetDisplayedPlane to simplify CompanyWindow.
2023-12-10 12:01:55 +00:00
Peter Nelson
ebf299e1b4
Codechange: Make SetDisplayedPlane return whether the plane changed or not.
2023-12-10 12:01:55 +00:00
Peter Nelson
d6060a4d47
Change: Use sparse padding for start network server window. ( #11569 )
2023-12-09 23:35:46 +00:00
Peter Nelson
a759d35f26
Fix #11352 : Draw all network server info as multiline strings. ( #11567 )
...
This also allows the 'header' (which is not actually a widget) to grow
as necessary to fit the server name.
2023-12-09 20:43:36 +00:00
Peter Nelson
c0ea0589b4
Fix: AirportGetNearestTown incorrectly assumed first TileIterator result was origin. ( #11565 )
...
Not all TileIterators are equal, and some do not start at the top-corner, so the perimeter check was wrong. As the caller already has thie origin tile, use that instead.
2023-12-09 09:47:41 +00:00
Peter Nelson
10f94fb0dd
Codechange: Remove runtime variable size assertion.
2023-12-09 08:13:03 +00:00
Peter Nelson
9f853c10b0
Codechange: Add compile-time check that variable size matches saveload entry.
2023-12-09 08:13:03 +00:00
Peter Nelson
cb53fed229
Codechange: Move VarType helpers to allow earlier use.
2023-12-09 08:13:03 +00:00
Peter Nelson
a05d6ee404
Fix: Ensure saveload type match variable type.
...
This either changes the saveload definition or changes the variable depending on which makes more sense.
2023-12-09 08:13:03 +00:00
Peter Nelson
54d45a6047
Codechange: Don't keep autosave_interval in std::chrono::minutes.
...
This variable is saved as a setting which requires the variable type to be known, but std::chrono::minutes may vary depending on system type.
Instead, keep as uint32_t and convert to std::chrono::minutes only when setting the timer.
2023-12-09 08:13:03 +00:00
Peter Nelson
a29766d6cc
Codechange: Move dropdown list size and position calculation to window.
...
This simplifies initialization of DropdownWindow, as instead of both the caller code and the class needing to know about list sizes and available space, only the DropdownWindow needs to know.
2023-12-09 08:12:34 +00:00
Peter Nelson
f1cceb43a1
Codechange: Move initialization of DropdownWindow members.
2023-12-09 08:12:34 +00:00
Peter Nelson
52b121942b
Codechange: DropdownWindow's selected_index is not actually an index.
2023-12-09 08:12:34 +00:00
translators
2dcb00a79a
Update: Translations from eints
...
galician: 88 changes by pvillaverde
chinese (simplified): 4 changes by WenSimEHRP
italian: 6 changes by Rivarossi
turkish: 2 changes by densxd
dutch: 5 changes by Afoklala
2023-12-08 18:38:34 +00:00
Peter Nelson
3317e29847
Fix #11516 : Adjust window size by interface scale during ReInit.
...
To simplify this and ensure that scaling only occurs once, regardless of
resize nesting, each window now remembers interface scale.
2023-12-07 23:58:32 +00:00
Peter Nelson
e2425b72c1
Fix: Don't implicitly ReInit all windows after updating the character width cache.
...
This caused duplicate ReInit when changing interface scale.
2023-12-07 23:58:32 +00:00
Peter Nelson
54ba757910
Fix #11556 : Missing saveload change for OrderBackup. ( #11557 )
...
Apply the saveload change from #11468 to OrderBackup and bump again.
2023-12-07 19:31:30 +00:00
Jonathan G Rennison
2cbe91c312
Fix #11551 , aab580e0a: Link graph job results were incorrectly applied ( #11558 )
...
Edge flows were incorrectly restricted because the restricted
instead of unrestricted last update date was checked
See also: #10314
2023-12-07 18:38:43 +00:00
Peter Nelson
60565da8f9
Codechange: Add specific WidgetDimension for dropdown list window. ( #11554 )
...
This avoids contorting fullbevel dimensions.
2023-12-07 16:10:09 +00:00
Peter Nelson
89461b5561
Codechange: Don't highlight unselectable dropdown item. ( #11553 )
2023-12-07 16:09:45 +00:00
Peter Nelson
90e386acaa
Codechange: Vertical spacing for caption is captiontext, not framerect. ( #11550 )
...
This does not really matter as the caption height is sized correctly later anyway, so this just avoids confusion.
2023-12-06 21:36:51 +00:00
Peter Nelson
bdef9b451c
Codechange: Remove unnecessary SetMinimalTextLines for text buttons alongside captions. ( #11549 )
2023-12-06 21:14:09 +00:00
translators
d8f989a1f5
Update: Translations from eints
...
danish: 3 changes by bscargo
portuguese (brazilian): 5 changes by pasantoro
2023-12-06 18:39:07 +00:00
Loïc Guilloux
2a22063d77
Change: Remember the active game option window tab ( #11547 )
2023-12-06 14:44:38 +00:00
Peter Nelson
58c252b81a
Cleanup: Remove unnecessary pressed button offset code.
2023-12-05 21:12:35 +00:00
Peter Nelson
884b9e6690
Change: Revert pressed-button content shifting introduced in r2161.
...
This restores original behaviour, and prevents all image buttons being slightly too large.
2023-12-05 21:12:35 +00:00
translators
a92d0da8b4
Update: Translations from eints
...
finnish: 5 changes by hpiirai
polish: 5 changes by pAter-exe
2023-12-05 18:38:33 +00:00
translators
7d0ce826db
Update: Translations from eints
...
english (au): 5 changes by krysclarke
english (us): 5 changes by 2TallTyler
korean: 5 changes by telk5093
russian: 5 changes by Ln-Wolf
catalan: 5 changes by J0anJosep
french: 5 changes by glx22
2023-12-04 18:38:44 +00:00
Peter Nelson
e749bbefe5
Change: Show rating in station list even with no cargo waiting. ( #11540 )
...
e745bd9
(r21144) changed the filter from cargo waiting to rating, which makes the station list display appear inconsistent with the cargo filter selection.
2023-12-04 18:16:09 +00:00
Peter Nelson
07a8bd21e4
Fix: Make station list filters use per-window state instead of global state.
...
Changing filters with multiple windows open would have unexpected effects leading to inconsistent state.
Now state is loaded and saved when the window is opened and closed, so state is still persistent.
2023-12-04 08:24:39 +00:00
Peter Nelson
dcf730f1f6
Codechange: Optionally allow passing state to GUIList sorter function.
...
GUIList sorter functions can currently only use global state, which makes per-window-instance sorting difficult.
2023-12-04 08:24:39 +00:00
Peter Nelson
4d9f335f36
Change: Add outline of sprite to sprite aligner.
2023-12-04 08:14:02 +00:00
Peter Nelson
f7380a4d2d
Change: Make NewGRF Sprite Aligner window resizeable.
2023-12-04 08:14:02 +00:00
Peter Nelson
0434c1b474
Feature: (-tte) Add zoom level buttons to sprite aligner.
...
This allows for offsets to be adjusted a different zoom level than currently in use, and offset adjustment and display is also more convenient.
2023-12-04 08:14:02 +00:00
Peter Nelson
4e5700939d
Change: Use sparse padding for sprite aligner.
2023-12-04 08:14:02 +00:00
Peter Nelson
9122b4eb47
Codechange: SetMinimalTextLines(1, 0) is implied for widgets with text. ( #11536 )
2023-12-03 22:42:50 +00:00
Peter Nelson
17c3ce8632
Codechange: Use maxdim instead of setting width/height separately. ( #11535 )
2023-12-03 22:23:54 +00:00
Peter Nelson
aae6e0481e
Codechange: Rearrange AI/GS debug window following invalidate/set state/draw pattern. ( #11483 )
...
The AI/GS window updated its state as it was drawn, and would redraw again if some state had changed.
Instead, update state either during OnInvalidateData or before any drawing commences.
2023-12-03 18:53:31 +00:00
Peter Nelson
1084ab4b66
Add: Website button to Game Options window for basesets.
...
This links to the optional "url" item in the baseset's [metadata] section.
2023-12-03 18:52:33 +00:00
Peter Nelson
cc528bd8fc
Change: Adjust layout of Content and NewGRF Website buttons for consistency.
2023-12-03 18:52:33 +00:00
Peter Nelson
2272e8fe0e
Add: Website button for Game Script settings window.
2023-12-03 18:52:33 +00:00
Peter Nelson
f60c14a682
Add: Website button for AI settings window.
2023-12-03 18:52:33 +00:00
Peter Nelson
7ba89b946e
Change: Hide unused cargos from vehicle cargo filter. ( #11533 )
...
The list of used cargo types is updated when the list is invalidated.
2023-12-03 18:11:08 +00:00
Peter Nelson
9a92e02fa7
Change: Add tooltips for text file buttons, and shorten Website / Readme buttons. ( #11534 )
2023-12-03 16:54:57 +00:00
Patric Stout
b866e52b17
Remove: officially mark Vista as no longer supported ( #11531 )
...
It is very likely Vista hasn't been working for years, but the
amount of users that use an OS that has been EoL for over 11 years
is very small, so reports happen rarely.
2023-12-02 22:12:50 +00:00
Peter Nelson
a258833aee
Fix 67d071d: WC_STATION_LIST should be invalidated by owner, not station index. ( #11530 )
2023-12-02 21:46:43 +00:00
Peter Nelson
1aedea8eda
Feature: Place cargo icon on cargo filter dropdowns.
...
Reveal the pixel art.
2023-12-02 15:23:05 +00:00
Peter Nelson
76701c4622
Add: Function to get largest cargo icon size.
2023-12-02 15:23:05 +00:00
Peter Nelson
8db7c79e79
Codechange: Add DropDownIcon constructor to override dimension.
...
This avoids the need to construct a DropDownIcon and set the dimension after.
2023-12-02 15:23:05 +00:00
Peter Nelson
49532914dd
Change: Use CRTP-mixins to compose dropdown list items.
...
This allows list items to built from component parts as required, and additional
functionality is added:
* Icons and text can be positioned at the start or end of the space (templated.)
* Font size of text can be changed (templated.)
* Palette of sprites can be set (runtime.)
2023-12-02 15:23:05 +00:00
Peter Nelson
62e4d1e507
Codechange: Dimension must have both width and height.
...
Default parameters allowed Dimension to be constructed with only a width.
Instead use separate empty and width/height constructors to ensure that either none or both are provided.
2023-12-02 15:23:05 +00:00
Peter Nelson
0b1429ce14
Fix: AI window did not update button disabled state when changing values. ( #11527 )
2023-12-01 12:52:33 +00:00
Peter Nelson
cc488ec6c9
Fix ddd609c: Reverse build probability callback was not called for articulated parts. ( #11526 )
2023-11-30 23:12:39 +00:00
Peter Nelson
4a5ab331e2
Change: Add extra padding to climate buttons to match pre-#11464. ( #11525 )
...
Padding used to be included in the SetMinimalSize() part which was removed, but also made it require specific sprite sizes.
This now adds padding on the already determined size, removing the need for hardcoding pixel dimensions and allowing the sprites to be any size.
2023-11-30 19:18:28 +00:00
Peter Nelson
6f7153bf71
Codechange: Make a generic DrawRectOutline function from DrawOutline. ( #11524 )
...
This allows drawing an outline from Rect, not just constrained to a Widget's Rect. And reduces duplication a little.
2023-11-30 18:10:07 +00:00
rubidium42
33ba609290
Fix #11521 , e404ba0: size for remaining span determined incorrectly
2023-11-30 08:20:58 -04:00
rubidium42
cb8612ba79
Remove: ZOOM_LVL_COUNT
...
This is the only enumeration with a COUNT and END. The logic of the COUNT
implied that BEGIN could be non-zero, but all but two uses of zoom level
assume that BEGIN is zero, making the separate count only confusing.
2023-11-29 21:12:28 -04:00
Peter Nelson
ddd609ce9b
Feature: Randomize direction of rail vehicle on build based on probability callback. ( #11489 )
...
This allows NewGRF authors to indicate that the game should randomly flip rail vehicles on build, without needing to use random bits nor duplicate sprites to handle it themselves.
To use this functionality, test for callback 162 (CBID_VEHICLE_BUILD_PROBABILITY) and var10 = 0 (values other than 0 are reserved for future use), and return a value between 0 and 100 inclusive.
The return value is a percentage chance of reversing the vehicle. A value of 0 will always build a forward facing vehicle, and 100 will always build a reverse facing vehicle.
2023-11-29 22:40:09 +00:00
Peter Nelson
6f35f3274f
Fix ab1a4c6c: Crash if the "No Music" set is loaded because there is no current set_index. ( #11511 )
...
Add a helper function to get the current set_index which which checks it is in range.
2023-11-29 02:30:10 +00:00
rubidium42
27082f9efa
Codechange: pass std::string references to OpenBrowser
2023-11-29 02:02:30 +01:00
Jonathan G Rennison
8437b20fed
Fix: Deleting towns did not check for waypoints referencing the town
2023-11-29 00:27:16 +01:00
Peter Nelson
7b0afec11f
Codechange: Use max_element to find highest cargo amount.
2023-11-28 22:30:48 +00:00
Peter Nelson
3f853d8003
Codechange: Use range-for to simplify getting first non-zero value.
...
This reduces indexed array access.
2023-11-28 22:30:48 +00:00
Tyler Trahan
4181d3c1ff
Codechange: Don't use a magic number for the number of DiagDirections
2023-11-28 14:24:33 -05:00