Commit Graph

24774 Commits

Author SHA1 Message Date
Peter Nelson ff674829f5 Codechange: Replace Rect CentreTo with CentreToHeight. (#14675)
So far all callers only need to centre vertically, so not having to provide the existing width simplifies calls.
2025-09-28 13:09:36 +00:00
Peter Nelson 81530e2574 Change: Support interface scaling in network client list buttons. 2025-09-28 11:00:07 +01:00
Peter Nelson cb1c2409e6 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-09-28 11:00:07 +01:00
translators 37f737417c 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-09-28 04:37:53 +00:00
Peter Nelson 31eec7106b Codechange: Use Rect WithX/WithY in some places. 2025-09-28 00:31:23 +01:00
Peter Nelson 6d3f39609f Codechange: Add WithX/WithY methods to Rect.
This simplifies creating a new Rect with specific horizontal or vertical coordinates.
2025-09-28 00:31:23 +01:00
Peter Nelson 380f9e8b48 Change: Prefer normal/medium weight font in FontConfig fallback detection. (#14672)
This way it behaves similar to Windows.
2025-09-28 00:30:47 +01:00
Rubidium e58fdb8840 Codefix: shadowing of variables 2025-09-28 01:19:32 +03:00
Jonathan G Rennison f64e1cdae0 Fix: Industry accept/produce when not contiguous range from 0 (#14555) 2025-09-27 18:12:49 +01:00
Jonathan G Rennison 9307e1929e Fix #14604: Clearing tiles to build objects did not update town ratings (#14616) 2025-09-27 18:11:42 +01:00
Peter Nelson bfe5fb7339 Codechange: FlatSet's contains() should be const. (#14665)
This function does not modify contents, so should be marked const.
2025-09-27 18:10:39 +01:00
Peter Nelson 0aaeb6f7e7 Codechange: Rename TrackFollowers to follower. (#14664)
Replaces use of codestyle breaking `F` in places.
2025-09-27 18:10:22 +01:00
Peter Nelson 69ea970d6e 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-09-27 13:08:06 +01:00
Rubidium 5e7cb08411 Fix #14549: changing interface scale could underflow map zoom 2025-09-27 07:41:20 +03:00
translators 910eeef17f Update: Translations from eints 2025-09-27 04:38:00 +00:00
Peter Nelson 18e28077cc Fix: League Table layout broken with RTL languages. (#14667) 2025-09-27 01:50:33 +01:00
Peter Nelson 41837d093b Change: Record and show multiple errors for each NewGRF. (#14658) 2025-09-26 19:00:45 +01:00
Tyler Trahan 0b99a0b66a Feature: Draw infinite water when all borders are water (#13289) 2025-09-26 14:37:27 +00:00
Kuhnovic 5822c8cc65 Codechange: Set YAPF startup nodes directly. (#14663) 2025-09-26 16:33:20 +02:00
Kuhnovic aa6fb0e9e5 Codechange: Simplified logic of ship leaving a depot. (#14661) 2025-09-26 13:35:11 +02:00
Kuhnovic f4f1beba64 Codechange: Moved PruneIntermediateNodeBranch to rail pathfinder. (#14662) 2025-09-26 11:37:50 +02:00
Kuhnovic 6401855842 Fix bff8501: Gcc 15 warns about duplicate type. (#14660) 2025-09-26 10:04:50 +02:00
Peter Nelson 80e58e751a 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-09-24 22:45:18 +01:00
Peter Nelson 42c9f84d74 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-09-24 22:44:41 +01:00
Kuhnovic ecb761fc69 Codechange: Simplified structure of yapf_ship_regions. (#14640) 2025-09-24 21:34:01 +02:00
translators bec4e71d53 Update: Translations from eints
hungarian: 5 changes by vargaviktor
2025-09-24 04:37:55 +00:00
Peter Nelson 6ad7c1c40a Fix d85f4b3ebf: Incorrect row height in network server list. (#14653) 2025-09-23 23:15:21 +01:00
Peter Nelson 484ed1008a Codechange: Make TownRatingCheckType an enum class. (#14652) 2025-09-23 22:00:34 +01:00
Peter Nelson 2b164111a9 Codechange: Use EnumBitSet for TownFlags. (#14651) 2025-09-22 19:04:55 +00:00
Peter Nelson 43e65d04e4 Codefix: Incorrect naming and location of widget names for build docks window. (#14650) 2025-09-22 07:18:08 +01:00
translators 853dc245a0 Update: Translations from eints
chinese (simplified): 4 changes by WenSimEHRP
catalan: 5 changes by J0anJosep
2025-09-22 04:38:24 +00:00
Peter Nelson 1229a498b7 Codechange: Add constant for INVALID_WIDGET. (#14649)
Replaces direct use of -1, making it easier to find.
2025-09-21 21:47:04 +00:00
Peter Nelson 1278f62e2e Codechange: Call shorter variant of DrawFrameRect and GfxFillRect. (#14647)
Pass rect instead of breaking it up when possible.
2025-09-21 20:30:59 +01:00
Peter Nelson 71eba489bc Codechange: Deduplicate DrawButtonDropdown. (#14646)
Use Rect methods to position components.
2025-09-21 20:26:06 +01:00
Peter Nelson a7b06fc9f5 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-09-21 14:57:53 +01:00
Peter Nelson 29012c3fce 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-09-21 13:41:47 +01:00
Peter Nelson 13ab9c1adc 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-09-21 13:41:23 +01:00
Peter Nelson 69697a62d3 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-09-21 10:12:22 +01:00
Peter Nelson ce166bbbc3 Codechange: Demagicify main toolbar button type.
Use WWT_PUSHIMGBTN for non-menu buttons so they automatically raise, replacing the custom OnTimeout function.
2025-09-21 10:12:22 +01:00
Peter Nelson 70d4182850 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-09-21 09:32:25 +01:00
translators 030bbc6399 Update: Translations from eints
vietnamese: 4 changes by KhoiCanDev
2025-09-21 04:37:37 +00:00
Peter Nelson d07ff71c67 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-09-21 01:25:31 +00:00
Tyler Trahan 20067d2db5 Doc: Update station rating comments and doxygen. 2025-09-20 19:28:40 -04:00
Tyler Trahan 2ab3b5516f Codechange: Early continue for cargos not moved by this station 2025-09-20 19:28:40 -04:00
Kuhnovic 1ac5baab31 Change: Add lock penalty to ship pathfinder. (#14603) 2025-09-20 22:52:59 +02:00
Kuhnovic bff850128c Codechange: Use YAPF for river builder pathfinder. (#14606) 2025-09-20 21:42:06 +02:00
translators 2aaffbe23c Update: Translations from eints
korean: 8 changes by telk5093
dutch: 4 changes by Afoklala
portuguese: 10 changes by jcteotonio
2025-09-20 04:37:32 +00:00
Peter Nelson 68e37b7b50 Change: [Script] Decouple RAILTYPE_INVALID from internal presentation. (#14630)
RAILTYPE_INVALID is now -1, which matches ROADTYPE_INVALID.
2025-09-19 22:02:08 +01:00
translators 264cbd8ab5 Update: Translations from eints
english (au): 4 changes by krysclarke
portuguese: 13 changes by jcteotonio
2025-09-19 04:38:27 +00:00
Peter Nelson 17fbe0b911 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-09-18 18:52:14 +01:00