Commit Graph

31911 Commits

Author SHA1 Message Date
Peter Nelson
de0b4b4918 Change: Support interface scaling in network client list buttons. 2025-12-08 04:23:57 +05:00
Peter Nelson
056cccfb71 Codechange: Rework network client list buttons.
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.
2025-12-08 04:23:54 +05:00
translators
4fea930bdf Update: Translations from eints
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
2025-12-08 04:23:54 +05:00
Peter Nelson
7c3f8825fa Codechange: Use Rect WithX/WithY in some places. 2025-12-08 04:23:46 +05:00
Peter Nelson
531187d92d Codechange: Add WithX/WithY methods to Rect.
This simplifies creating a new Rect with specific horizontal or vertical coordinates.
2025-12-08 04:22:00 +05:00
Peter Nelson
840a024cb3 Change: Prefer normal/medium weight font in FontConfig fallback detection. (#14672)
This way it behaves similar to Windows.
2025-12-08 04:21:59 +05:00
Rubidium
4b10b1c7de Codefix: shadowing of variables 2025-12-08 04:21:53 +05:00
Jonathan G Rennison
fb01e803eb Fix: Industry accept/produce when not contiguous range from 0 (#14555) 2025-12-08 04:21:48 +05:00
Jonathan G Rennison
089abf1884 Fix #14604: Clearing tiles to build objects did not update town ratings (#14616) 2025-12-08 04:21:46 +05:00
Peter Nelson
0d12d58107 Codechange: FlatSet's contains() should be const. (#14665)
This function does not modify contents, so should be marked const.
2025-12-08 04:20:28 +05:00
Peter Nelson
845a5de51c Codechange: Rename TrackFollowers to follower. (#14664)
Replaces use of codestyle breaking `F` in places.
2025-12-08 04:20:23 +05:00
Peter Nelson
2934b87d1c Codefix 18e28077cc: Local variable icon shadowed member variable icon. (#14668)
Rename rects used in league table to avoid name shadowing. Now uses the same naming as in ScriptLeagueWindow.
2025-12-08 04:20:21 +05:00
Rubidium
cdc42e7906 Fix #14549: changing interface scale could underflow map zoom 2025-12-08 04:18:34 +05:00
translators
a9bfdeb5e0 Update: Translations from eints 2025-12-08 04:18:34 +05:00
Peter Nelson
ce71794591 Fix: League Table layout broken with RTL languages. (#14667) 2025-12-08 04:18:31 +05:00
Peter Nelson
b4367c3593 Change: Record and show multiple errors for each NewGRF. (#14658) 2025-12-08 04:17:08 +05:00
Tyler Trahan
c9e0823a2e Feature: Draw infinite water when all borders are water (#13289) 2025-12-08 04:15:38 +05:00
Kuhnovic
7fe444ed37 Codechange: Set YAPF startup nodes directly. (#14663) 2025-12-08 04:15:34 +05:00
Kuhnovic
86b46fcd03 Codechange: Simplified logic of ship leaving a depot. (#14661) 2025-12-08 04:15:32 +05:00
Kuhnovic
57f489c2cc Codechange: Moved PruneIntermediateNodeBranch to rail pathfinder. (#14662) 2025-12-08 04:15:28 +05:00
Kuhnovic
ed47cbdb0f Fix bff8501: Gcc 15 warns about duplicate type. (#14660) 2025-12-08 04:15:26 +05:00
Peter Nelson
0b4ef8be90 Fix #14607: Bridge-over-station discrepancy depending on build order. (#14608)
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.
2025-12-08 04:15:20 +05:00
Peter Nelson
3bb1b847d3 Fix 3ac1a2f1e4: Game crash due to invalid vehicle type information. (#14628)
Use std::variant instead of union for vehicle info.

RailVehicleInfo is now non-POD so using in a union causes undefined behaviour.
2025-12-08 04:15:17 +05:00
Kuhnovic
88d3faa050 Codechange: Simplified structure of yapf_ship_regions. (#14640) 2025-12-08 03:29:36 +05:00
translators
505c0fb4c1 Update: Translations from eints
hungarian: 5 changes by vargaviktor
2025-12-08 03:29:36 +05:00
Peter Nelson
04e594ccbf Fix d85f4b3ebf: Incorrect row height in network server list. (#14653) 2025-12-08 03:29:33 +05:00
Peter Nelson
5637beeb84 Codechange: Make TownRatingCheckType an enum class. (#14652) 2025-12-08 03:28:56 +05:00
Peter Nelson
8dd7c6dba4 Codechange: Use EnumBitSet for TownFlags. (#14651) 2025-12-08 03:28:19 +05:00
Peter Nelson
148940cca6 Codefix: Incorrect naming and location of widget names for build docks window. (#14650) 2025-12-08 03:27:58 +05:00
translators
3176cdf53b Update: Translations from eints
chinese (simplified): 4 changes by WenSimEHRP
catalan: 5 changes by J0anJosep
2025-12-08 03:27:58 +05:00
Peter Nelson
35cbdb34f6 Codechange: Add constant for INVALID_WIDGET. (#14649)
Replaces direct use of -1, making it easier to find.
2025-12-08 03:26:19 +05:00
Peter Nelson
490d43d6d0 Codechange: Call shorter variant of DrawFrameRect and GfxFillRect. (#14647)
Pass rect instead of breaking it up when possible.
2025-12-08 03:26:17 +05:00
Peter Nelson
bb821fbb7e Codechange: Deduplicate DrawButtonDropdown. (#14646)
Use Rect methods to position components.
2025-12-08 03:26:14 +05:00
Peter Nelson
a2209edc03 Codechange: Don't use Point for non-2D coordinate. (#14645)
`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.
2025-12-08 03:26:12 +05:00
Peter Nelson
7845ed40e4 Codechange: Move settings entry size global variables. (#14644)
_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.
2025-12-08 03:26:08 +05:00
Peter Nelson
2a2e61389e Fix 6e90b828c6: Off-by-one in Rect::CentreTo. (#14643)
* Rect right/bottom are inclusive so -1 must be taken from width/height.
* Misnamed variable, `new_right` is actually `new_top`.
2025-12-08 03:24:23 +05:00
Peter Nelson
a32547e8fd Fix 8c58fb1efd: Doubled beep sounds when clicking toolbar buttons.
* 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.
2025-12-08 03:24:19 +05:00
Peter Nelson
94979e1f08 Codechange: Demagicify main toolbar button type.
Use WWT_PUSHIMGBTN for non-menu buttons so they automatically raise, replacing the custom OnTimeout function.
2025-12-08 03:24:16 +05:00
Peter Nelson
9b07f24693 Fix #14631, Fix 1cb0cbcb6c: Waypoint customs spec not allocated properly on initial construction. (#14633)
Split AllocateSpecToStation/RoadStop into Allocate and Assign functions, allowing command tests to occur separately.
2025-12-08 03:24:06 +05:00
translators
1a7db83649 Update: Translations from eints
vietnamese: 4 changes by KhoiCanDev
2025-12-08 03:24:05 +05:00
Peter Nelson
1b96f3c4af Fix ed67aedabf: Wrong button type for town menu in scenario editor toolbar. (#14641)
The button was changed from an action to a menu, which should be WWT_IMGBTN instead of WWT_PUSHIMGBTN.
2025-12-08 03:24:02 +05:00
Tyler Trahan
5dfea46fd2 Doc: Update station rating comments and doxygen. 2025-12-08 03:23:57 +05:00
Tyler Trahan
86e0f27689 Codechange: Early continue for cargos not moved by this station 2025-12-08 03:23:51 +05:00
Kuhnovic
48e54caa37 Change: Add lock penalty to ship pathfinder. (#14603) 2025-12-08 03:23:49 +05:00
Kuhnovic
7e8a198cd5 Codechange: Use YAPF for river builder pathfinder. (#14606) 2025-12-08 03:23:37 +05:00
translators
9fee37fd1d Update: Translations from eints
korean: 8 changes by telk5093
dutch: 4 changes by Afoklala
portuguese: 10 changes by jcteotonio
2025-12-08 03:23:37 +05:00
Peter Nelson
36dce002dd Change: [Script] Decouple RAILTYPE_INVALID from internal presentation. (#14630)
RAILTYPE_INVALID is now -1, which matches ROADTYPE_INVALID.
2025-12-08 03:23:30 +05:00
translators
461ba26554 Update: Translations from eints
english (au): 4 changes by krysclarke
portuguese: 13 changes by jcteotonio
2025-12-08 03:23:30 +05:00
Peter Nelson
87d0473e67 Change: Determine automatic interface scale by window size. (#14627)
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.
2025-12-08 03:23:17 +05:00
translators
0270ead4a4 Update: Translations from eints
french: 5 changes by ottdfevr
portuguese: 31 changes by jcteotonio
2025-12-08 03:23:17 +05:00