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
Tyler Trahan
2dad9263d7
Doc: Add, fix, and clean up documentation inside town_cmd.cpp
2023-11-28 14:24:33 -05:00
Tyler Trahan
745945c4d3
Codechange: Be consistent with how we name common parameters
...
TileIndex is always tile and Town is always *t. Don't use t and *town.
2023-11-28 14:24:33 -05:00
Tyler Trahan
1b14eca9d9
Codechange: Rename TryClearTile() for clarity
...
The function does not execute the clearing action.
2023-11-28 14:24:33 -05:00
Tyler Trahan
a98fe9f317
Codechange: Rename MakeTownHouseBigger() for clarity
2023-11-28 14:24:33 -05:00
Tyler Trahan
060672428d
Codechange: Merge confusingly-named helper functions into their timer
2023-11-28 14:24:33 -05:00
Tyler Trahan
1f41e773d6
Codechange: Use consistent name for bay road stops
...
As of #10494 , this is how we describe original dead-end road stops.
2023-11-28 14:24:33 -05:00
translators
5f442c9127
Update: Translations from eints
...
english (us): 1 change by 2TallTyler
2023-11-28 18:38:40 +00:00
Peter Nelson
519fe33175
Fix ab1a4c6c: Changing baseset/playlist while shuffle is on does not change song. ( #11510 )
...
The change-playlist function relied on toggling shuffle to restart playing which is no longer the case, so always handle it when changing playlist instead.
2023-11-28 17:44:31 +00:00
Peter Nelson
e3924f3231
Fix #10811 : Allow dragging vehicle in depot to any free row. ( #11508 )
2023-11-28 13:52:36 +00:00
Peter Nelson
e6d132d24b
Fix #10926 : New free wagons no longer split by type. ( #11507 )
...
NormalizeTrainVehInDepot() should only be called if an engine was built, not for wagons.
2023-11-28 13:48:09 +00:00
Peter Nelson
3df7d1aff9
Codechange: Template input buffer type in audio mixer. ( #11505 )
...
This reduces code duplication.
2023-11-28 00:05:30 +00:00
Peter Nelson
e5aed24395
Codechange: Use std::array for industry tile cargo acceptance. ( #11498 )
...
This avoids use of memcpy/memset to copy or fill.
2023-11-27 23:17:55 +00:00
Peter Nelson
f268c90bd3
Change: Use sparse padding for content download window. ( #11501 )
2023-11-27 23:17:16 +00:00
Peter Nelson
ab1a4c6c80
Change: Don't restart playback when toggling playlist shuffle.
...
Instead update the selected playlist entry for the current song.
2023-11-27 23:16:41 +00:00
Peter Nelson
6c91c4b99d
Fix: Invalidate playlist window when (un)shuffling playlist.
2023-11-27 23:16:41 +00:00
Peter Nelson
4c6ccb5248
Change: Try stopping extmidi player with SIGINT first. ( #11404 )
...
This may give the player a chance to issue MIDI note-off commands.
The kill/waitpid cycle is also less aggressive, waiting 50ms each time.
2023-11-27 20:39:22 +00:00
Peter Nelson
e3622da408
Fix #11500 : Rename Textfile GUI's LinkType to HyperlinkType. ( #11502 )
...
This disambiguates it with LinkType in league tables.
2023-11-27 10:06:46 +00:00
Peter Nelson
46098449b6
Fix 7cfcf65: cargo_filter_criteria is now a CargoID instead of a index. ( #11497 )
2023-11-26 19:30:22 +00:00
Peter Nelson
7bee955a4b
Change: Set height of larger heightmap/scenario worldgen buttons by text height. ( #11496 )
...
This allows the button height to scale properly by font size.
2023-11-26 17:56:51 +00:00
Jonathan G Rennison
c5a292c0df
Fix #11493 : Incorrect flow values in LinkGraphJob::EdgeAnnotation ( #11494 )
2023-11-25 20:57:20 +00:00
translators
c6b9227dbb
Update: Translations from eints
2023-11-25 18:37:21 +00:00
Tyler Trahan
d28caa3ced
Codechange: Use ticks for timetable start date
2023-11-25 11:50:46 -05:00
Tyler Trahan
3902acb13d
Codechange: Define a TickCounter variable type for TimerGameTick::counter
2023-11-25 11:50:46 -05:00
Peter Nelson
bc1d49ebf4
Codechange: Add missing `ar` from `Toolb`.
2023-11-25 16:45:01 +00:00
Peter Nelson
5489b9fc0c
Codechange: Undo #11447 , drop down list divider lines are now explicit.
2023-11-25 16:45:01 +00:00
Peter Nelson
667be98ce8
Codechange: List toolbar menu items and dividers explicitly.
...
This makes it clearer what items will be shown in the list, allows for non-consecutive
string IDs, and means unused enum values are not necessary.
2023-11-25 16:45:01 +00:00
Peter Nelson
47eabe0cd9
Fix 7cfcf65: Check if last-remembered build vehicle cargo filter is valid. ( #11486 )
...
This can be invalid when switching between games with different cargoes loaded.
2023-11-23 22:46:22 +00:00
Peter Nelson
096da3e59f
Fix #11407 : Don't steal focus from dropdown menus. ( #11484 )
2023-11-22 19:09:20 +00:00
Peter Nelson
09d01bd015
Fix: Restore original cargo legend 'blob' dimensions. ( #11480 )
...
An off-by-one in a previous life made the 'blob' too narrow.
2023-11-21 19:51:24 +00:00
Peter Nelson
c2f19fed24
Fix: Widget without tooltip should use STR_NULL not STR_EMPTY. ( #11482 )
2023-11-21 19:35:47 +00:00
Peter Nelson
c18a1494b7
Codechange: Remove FONT_HEIGHT_... macros. ( #11481 )
...
These make it look like we're dealing with a constant, but actually each is a call to `GetCharacterHeight(...)`.
2023-11-21 19:04:24 +00:00
translators
96ec9c1b47
Update: Translations from eints
...
indonesian: 67 changes by ekaknl22
2023-11-21 18:40:02 +00:00
Peter Nelson
0d60dc0353
Fix 96d98d08: Crash in text layouter due to trying to find height of string with zero-width.
...
96d98d08
removed the hardcoded minimum width in favour of all-calculated widths, however this does not work when determining multiline text sizes.
2023-11-20 23:09:20 +00:00
Peter Nelson
62d4fd0572
Codechange: Add method to guess the width/height required for a multiline string.
...
This is necessary for widget layouts where a minimum width is not yet known during UpdateWidgetSize().
2023-11-20 23:09:20 +00:00
Peter Nelson
f281525492
Codechange: Add method to resize both width and height of a widget.
2023-11-20 23:09:20 +00:00
Peter Nelson
d04fd4602d
Codechange: Assert that max width passed to GetStringHeight is non-zero.
...
Max width of zero will cause text layouters to crash, potentially after exhausting memory first.
2023-11-20 23:09:20 +00:00
Peter Nelson
0578b8eaa9
Change: Use picker-spacing for scenario found town window. ( #11478 )
2023-11-20 23:06:15 +00:00
Peter Nelson
a58a043402
Fix 6065122: Missing SetFill on worldgen spacer. ( #11477 )
2023-11-20 19:31:26 +00:00
Jonathan G Rennison
9822fa6584
Fix: Trivial autoreplace of mixed cargo articulated engines ( #11253 )
...
Do not fail autoreplace/autorenew of mixed cargo articulated engines
due to an inability to refit to mixed cargoes, when no refit is
required because the target engine already has a suitable set of cargoes.
Notably, this allows autorenew (autoreplace to same engine type)
to succeed.
2023-11-20 14:16:28 +01:00
Peter Nelson
96d98d08c8
Change: Use sparse padding for main intro menu. ( #11475 )
2023-11-20 01:12:25 +00:00
Peter Nelson
c80fa7d752
Codechange: Simplify setting minimum width for game options dropdown lists. ( #11474 )
...
Height isn't necessary as drop down controls already have sufficient height, so we can use GetDropDownListDimension() to get the width.
2023-11-20 00:44:06 +00:00
Peter Nelson
f58a7ef673
Codechange: Remove now-unnecessary containers in picker layouts. ( #11473 )
...
These are no longer necessary as the issue they work around was resolved by #11471
2023-11-20 00:14:06 +00:00
Peter Nelson
293a26f248
Change: Use sparse padding and SETTING_BUTTON sizes for custom currency window. ( #11472 )
2023-11-19 21:12:55 +00:00
Peter Nelson
05b55c4d43
Fix: Extra space allocated to container-within-container may not get allocated to children. ( #11471 )
...
Always derive additional length from contained widgets instead of from the container, as the container's minimal length may have been adjusted by an NC_EQUALSIZE parent container.
2023-11-19 00:36:53 +00:00
translators
29102ce42c
Update: Translations from eints
...
dutch: 1 change by Afoklala
2023-11-17 18:38:21 +00:00
Peter Nelson
08778094f4
Fix: extmidi did not move on to next song after playing ends. ( #11469 )
...
`song` is no longer a C-style string so cannot be cleared by writing a NUL char.
Use `.clear()` to properly clear a std::string.
2023-11-17 17:42:19 +00:00
Peter Nelson
b2d4d90502
Change: Apply interface scaling to NewGRF settings min/max sizes.
2023-11-16 20:54:51 +00:00
Peter Nelson
42ae61a4fe
Change: Use sparse padding for NewGRF settings window.
2023-11-16 20:54:51 +00:00
Peter Nelson
cdb4e98a15
Change: Use sparse padding for AI/GS settings windows. ( #11466 )
2023-11-16 20:02:07 +00:00
Peter Nelson
f93711838f
Fix 6317967: Missing exception for SetPipRatio(). ( #11465 )
2023-11-16 19:22:02 +00:00
Peter Nelson
60651227a0
Change: Simplify world gen widgets and use sparse padding. ( #11464 )
2023-11-16 18:58:59 +00:00
translators
bca321443a
Update: Translations from eints
...
french: 1 change by Lishouuu
2023-11-16 18:39:24 +00:00
Peter Nelson
7d48a3f073
Codechange: Move RectPadding::zero definition to header. ( #11461 )
...
This potentially allows better inlining/optimization.
2023-11-16 17:07:29 +00:00
Peter Nelson
e2e0753916
Codechange: Use GetCurrentRect() where feasible. ( #11460 )
2023-11-16 17:06:57 +00:00
Peter Nelson
17ceed0241
Change: Use sparse padding for Game Options window. ( #11463 )
2023-11-16 17:06:38 +00:00
Peter Nelson
306e75223a
Change: Adjust layouts and standardize spacing for company-related windows.
2023-11-15 12:43:44 +00:00
Peter Nelson
58c037fba0
Change: Increase finance window lines (and underlines) with interface scale.
2023-11-15 12:43:44 +00:00
translators
1dff1e34f6
Update: Translations from eints
...
tamil: 3 changes by Jeyanthinath
2023-11-14 18:36:57 +00:00
Peter Nelson
7cfcf65f95
Codechange: Simplify cargo filter lists, building only when required.
...
Some cargo filter lists were built in advance, and used as lookups to test which cargo type to filter.
Instead, use the Cargo ID directly as the filter parameter, and build the lists only when the drop down list is used.
2023-11-13 21:30:46 +00:00
Peter Nelson
08dfe35442
Codechange: Move DropDownList height and width calculation to helper.
2023-11-13 21:30:46 +00:00
translators
1242b355e5
Update: Translations from eints
...
danish: 1 change by bscargo
polish: 1 change by pAter-exe
2023-11-13 18:38:10 +00:00
Peter Nelson
c877494f7a
Codechange: Simplify autoreplace rail/road types by using separate widget. ( #11457 )
...
This avoids needing to determine which type of list to deal with by additionally checking the window number for VEH_TRAIN/VEH_ROAD.
2023-11-13 12:32:34 +00:00
Tyler Trahan
7a6d102c4b
Codechange: Clean up timetable start checks ( #11456 )
2023-11-13 07:19:39 -05:00
translators
5446ece100
Update: Translations from eints
...
vietnamese: 7 changes by KhoiCanDev
korean: 1 change by telk5093
catalan: 7 changes by J0anJosep
2023-11-12 18:38:05 +00:00
translators
1432511fe5
Update: Translations from eints
...
english (au): 1 change by krysclarke
italian: 7 changes by Rivarossi
russian: 1 change by Ln-Wolf
finnish: 1 change by hpiirai
portuguese: 1 change by azulcosta
portuguese (brazilian): 1 change by pasantoro
2023-11-11 18:36:44 +00:00
Tyler Trahan
235ac0bceb
Codechange: Reword rail/road type label constants ( #11451 )
2023-11-10 17:37:22 -05:00
translators
ef1abbcd1f
Update: Translations from eints
2023-11-10 18:38:29 +00:00
Peter Nelson
bd2ddb07ca
Change: Move baseset missing/corrupted files label to list item. ( #11455 )
...
This allows any baseset error to be displayed in the drop down list so it is more easily visible, and avoids wasted space in the layout.
2023-11-10 12:25:56 +00:00
Peter Nelson
1071acb483
Codechange: Redundant use of char * and c_str(). ( #11454 )
2023-11-10 00:17:36 +00:00
Peter Nelson
938c8339d2
Codechange: Ensure space between `for`/`if` and `(`.
2023-11-09 20:15:38 +00:00
Peter Nelson
d4008850e3
Codechange: Ensure function opening `{` is on new line.
2023-11-09 20:15:38 +00:00
Jonathan G Rennison
1de1af08b9
Codechange: Replace AllocatedStringParameters with ArrayStringParameters ( #11452 )
...
All uses of AllocatedStringParameters are with a compile-time fixed
constant.
Use of a dynamically allocated buffer on the heap is unnecessary and
increases overhead, particularly due to frequent use as a temporary.
2023-11-09 19:43:47 +00:00
translators
92816ac96b
Update: Translations from eints
...
german: 3 changes by SecretIdetity
romanian: 6 changes by bnegrut
2023-11-09 18:37:36 +00:00
Peter Nelson
9f90ab7b04
Codechange: Use rail/road type label constants instead of literals. ( #11450 )
2023-11-08 23:45:08 +00:00
translators
382d7a9076
Update: Translations from eints
...
hungarian: 54 changes by titanicbobo
2023-11-08 18:39:05 +00:00
Peter Nelson
90bd8e64d8
Change: Simplify help window widgets and use sparse padding.
2023-11-07 23:09:05 +00:00
Peter Nelson
55adbe10b7
Add: WidgetDimensions for 'sparse' widget windows.
...
These are for windows that have space between widgets instead of being clumped together.
2023-11-07 23:09:05 +00:00
translators
56657eeaae
Update: Translations from eints
...
chinese (simplified): 1 change by WenSimEHRP
danish: 1 change by bscargo
hindi: 111 changes by NisheshTyagi
2023-11-07 18:37:45 +00:00
Peter Nelson
842cf87765
Change: Bring airport picker inline with other pickers.
2023-11-07 18:27:51 +00:00
Peter Nelson
b216dc493f
Change: Bring dock picker inline with other pickers.
2023-11-07 18:27:51 +00:00
Peter Nelson
27b5979056
Change: Improve layout of object picker.
2023-11-07 18:27:51 +00:00
Peter Nelson
db18f60beb
Change: Improve layout of road/tram stop pickers.
2023-11-07 18:27:51 +00:00
Peter Nelson
61deab08fc
Change: Improve layout of station picker.
2023-11-07 18:27:51 +00:00
Peter Nelson
136551408c
Change: Show empty string drop down entries as divider. ( #11447 )
2023-11-06 22:35:01 +00:00
Peter Nelson
ab535c0a86
Codechange: Add base() method to StrongType to allow access to the base type without casting. ( #11445 )
...
This removes the ability to explicitly cast to the base type, but the requirement
to use .base() means the conversion is still explicit.
2023-11-06 20:29:35 +00:00
translators
737775f834
Update: Translations from eints
...
korean: 14 changes by telk5093
polish: 1 change by pAter-exe
2023-11-06 18:38:37 +00:00
Peter Nelson
badce415ea
Change: Add horizontal scrollbar to Industry Directory window.
...
This list could be very wide depending on industries and language.
2023-11-05 22:22:32 +00:00
Peter Nelson
8ff6562b2f
Codechange: Reduce variable scope.
2023-11-05 22:22:32 +00:00
Peter Nelson
6b9dc8cfcf
Codechange: Don't filter industry list by cargo type every 3-sec refresh.
...
The 3-sec refresh is to update the list sorting. The filter only needs to
be applied once rebuilding the list.
2023-11-05 22:22:32 +00:00
Peter Nelson
4033750968
Codechange: Remove redundant NWID_VERTICAL in Industry Directory layout.
2023-11-05 22:22:32 +00:00
Peter Nelson
d380f2f3a2
Codechange: Simplify layout of depot pickers.
2023-11-05 20:09:45 +00:00
Peter Nelson
665902f5ba
Codechange: Add widget dimensions to standardise picker winodws.
2023-11-05 20:09:45 +00:00
Peter Nelson
3cab980b30
Codechange: Skip invisible (zero-size) widgets in PIP Containers.
...
This gets rid of doubled-up spacing where an invisible child widget would be.
2023-11-05 20:09:45 +00:00
Peter Nelson
6317967dba
Codechange: Add ability to allocate PIP-space dynamically by ratio.
...
This can be used to space out, centre, start-align, or end-align widgets without additional spacers.
2023-11-05 20:09:45 +00:00
Peter Nelson
ac54bd7e58
Codechange: Apply PIP during AssignSizePosition() instead of SetupSmallestSize().
2023-11-05 20:09:45 +00:00
Peter Nelson
43aa91a7f5
Fix #11437 : Flipped shorter rail vehicles disappear in windows. ( #11446 )
...
Mixed signed/unsigned strikes again, causing an incorrect sprite offset for shortened vehicles.
2023-11-05 20:09:11 +00:00
Peter Nelson
a9aaa2a183
Codechange: Don't be lenient with invalid NWidgetPart lists.
...
Some NWidgetPart combinations were ignored but it was not clear that they do nothing. Instead, assert if NWidgetPart is incorrectly applied.
2023-11-05 19:24:59 +00:00
Peter Nelson
b1eb5533eb
Add: WindowDesc unit test to validate NWidgetPart lists.
2023-11-05 19:24:59 +00:00
Peter Nelson
1c94fb0389
Add: Mock sprite cache intialization.
...
This fills up the sprite cache with SPR_OPENTTD_BASE + OPENTTD_SPRITE_COUNT zero-size sprites, to
allow GetSpriteSize() calls to continue from unit-tests.
2023-11-05 19:24:59 +00:00
Peter Nelson
05436d9c2f
Add: Expose minimal parts of SpriteCache internals.
...
These parts are needed to be able to mock the SpriteCache for unit-tests.
2023-11-05 19:24:59 +00:00