Peter Nelson
66b6d71e32
Codechange: Use std::initializer_list for NWidgetPart data. ( #14749 )
...
Avoids using C/C++ arrays.
2025-11-01 22:33:00 +00:00
Peter Nelson
e4cf6ca0ba
Fix: Mis-sized widgets due to missing widget fill. ( #14370 )
...
In most places where we calculate and set widget resize step we neglect
to set widget fill step to match. Initial widget sizing uses fill step
instead of resize step, which means the initial size may not be a
multiple of the resize step as intended. In particular this will cause
WWT_MATRIX to be misrendered.
Whether or not this matters depends on the widget type being resized and
the window layout, however for consistency always set fill step to the
same as resize step when calculating.
2025-06-17 17:40:11 +01:00
frosch
0d5b3ebd7f
Codechange: Declare all IntervalTimers const, which can be const.
2025-05-06 18:29:41 +02:00
frosch
61cec33be2
Codechange: Add 'const' to static variables, which are only initialised once.
2025-05-06 18:29:41 +02:00
frosch
8571af9833
Codechange: Turn ZoomLevel into enum class.
2025-05-03 23:21:09 +02:00
Rubidium
7805c1c189
Codechange: use std::string_view for ini_key
2025-05-01 23:24:43 +02:00
Peter Nelson
5008568dfc
Codechange: Rename CenterBounds to CentreBounds and move to geometry header. ( #14002 )
2025-04-14 23:55:40 +01:00
Peter Nelson
936d78fefc
Codefix: Avoid uppercase characters in variable names. ( #13985 )
2025-04-10 07:19:27 +01:00
Peter Nelson
5b9d171e63
Codechange: Use EnumBitSet for StringValidationSettings. ( #13974 )
2025-04-08 21:19:17 +01:00
Peter Nelson
5331389765
Codechange: Pass NewsItem by reference. ( #13898 )
2025-03-26 18:56:33 +00:00
Peter Nelson
f8478cdee4
Fix 51fd2853cb: Different news widget layouts require different font sizes. ( #13752 )
2025-03-08 12:00:56 +00:00
Peter Nelson
51fd2853cb
Fix 6e10584b91: Keep custom news from game scripts in encoded form. ( #13741 )
...
This allows the news message to translated as appropriate.
2025-03-04 23:15:50 +00:00
Peter Nelson
b55af05626
Codechange: Pass encoded script strings as EncodedString.
...
This removes the ambiguity of having std::strings that may or may not be encoded.
2025-03-04 21:40:39 +00:00
Peter Nelson
f6bc85aeb2
Codechange: Move to GetWidgetString for news windows.
2025-03-03 21:19:44 +00:00
Rubidium
d94d421772
Codechange: prepare for replacement of SetStringParameter by GetWidgetString
2025-03-02 11:04:15 +01:00
Peter Nelson
5f073670d7
Codechange: Use parameterised GetString() for news window.
2025-03-02 07:29:25 +00:00
Peter Nelson
63812a45bb
Codechange: Pass single rect to DrawString calls instead of separate parameters. ( #13675 )
2025-03-01 10:12:43 +00:00
Rubidium
c540c2bcf7
Codechange: explicitly initialise member variables of Windows
2025-02-27 19:58:31 +01:00
Peter Nelson
6e10584b91
Codechange: Use EncodedStrings for News messages. ( #13654 )
2025-02-23 20:24:02 +00:00
Peter Nelson
13944222f3
Fix d13b0e0813: "New vehicle now available!" message is wrong colour. ( #13586 )
2025-02-16 23:00:24 +00:00
Peter Nelson
d13b0e0813
Codechange: Build engine preview strings from separate strings. ( #13579 )
...
This replaces stuffing substrings and parameters in various global parameters and uses local parameters instead.
2025-02-16 19:02:02 +00:00
Rubidium
59df0ff496
Codechange: strongly type StationID
2025-02-16 18:25:51 +01:00
Rubidium
70c9f3963c
Codechange: strongly type VehicleID
2025-02-16 14:50:15 +01:00
Rubidium
1003967267
Codechange: strongly type TownID
2025-02-16 14:50:15 +01:00
Rubidium
d3408a4542
Codechange: strongly type IndustryID
2025-02-16 14:50:15 +01:00
Rubidium
7e04651220
Codechange: strongly type EngineID
2025-02-16 14:50:15 +01:00
Rubidium
380e7b48ce
Codechange: use std::variant instead of a custom version for news references
2025-02-16 14:50:15 +01:00
Rubidium
9015c3651f
Codechange: make EngineID an enum
2025-02-16 14:50:15 +01:00
Rubidium
c3d5e6d2a0
Codechange: Use EnumBitSet for DoCommandFlags
2025-02-14 00:28:57 +01:00
Jonathan G Rennison
d06b371254
Cleanup: Fix various spelling errors
2025-02-12 22:44:51 +01:00
Peter Nelson
9a6fc4eb76
Codechange: Use enum class for NewsReferenceType.
2025-02-07 19:36:52 +00:00
Peter Nelson
ca75a8ce19
Codechange: Use enum class for NewsType.
2025-02-07 19:36:52 +00:00
Peter Nelson
4fd1929bf7
Codechange: Use EnumBitSet for NewsFlags.
2025-02-07 19:36:52 +00:00
Peter Nelson
eaa765d615
Codechange: Disentangle news window style from news flags. ( #13482 )
...
This avoids NewsFlags being used as both bitmask and bitstuffed data.
2025-02-07 13:10:39 +00:00
Peter Nelson
693a5f42b9
Codechange: Use EnumBitSet for NWidgetDisplayFlags.
2025-02-06 19:43:35 +00:00
Peter Nelson
d30e8dd1c1
Codechange: Use EnumBitSet for WindowDefaultFlags.
2025-01-30 08:40:42 +00:00
Peter Nelson
efb05396a7
Codechange: Use EnumBitSet for WindowFlags.
2025-01-30 08:40:42 +00:00
Peter Nelson
183779c4a2
Codefix: Incorrect NWidgetPart type for NWID_LAYER. ( #13357 )
...
Due to function overloads and default parameters, the wrong `NWidget()` function was called, resulting resulting in the wrong `NWidgetPart` being created.
2025-01-22 20:43:54 +00:00
Rubidium
08d84b2f4a
Codechange: use AdviceType over StringID to remove vehicle advice news
2025-01-08 02:03:55 +01:00
Rubidium
ef87acc1ff
Codechange: make STR_NULL the default for all widget construction functions
2025-01-03 23:25:27 +01:00
Rubidium
7c1ddd74d5
Codefix: use SetToolTip(..) instead of SetStringTip(STR_NULL, ..)
2025-01-03 14:18:59 +01:00
Rubidium
b60101853c
Codechange: add and use SetString over directly accessing widget_data
2025-01-03 12:14:55 +01:00
Rubidium
9ac1bad480
Codechange: add and use GetString over directly accessing widget_data
2025-01-03 11:11:01 +01:00
Rubidium
7c2668d10f
Codechange: replace SetDataTip(0x0, with SetTooltip(
2025-01-02 23:28:43 +01:00
Rubidium
4bf36e3fa6
Codechange: replace SetDataTip(STR_ with SetStringTip(STR_
2025-01-02 23:28:43 +01:00
Peter Nelson
98e980c478
Codechange: WWT_TEXT, WWT_LABEL and WWT_EMPTY don't use colour. ( #13218 )
...
Set colour for these widget types to INVALID_COLOUR to avoid giving the impression that the colour has a purpose.
A runtime exception is added to catch this the existing widget unit test.
2025-01-01 15:38:19 +00:00
Peter Nelson
6f8e30c55d
Codechange: Use unique_ptr throughout instead of new raw pointer for company news data. ( #13148 )
...
The pointer was already captured and converted to a unqiue_ptr, but hidden within the call stack.
This now makes it clearer that the object passed to Add.*NewsItem will become owned by the news item.
2024-12-04 12:18:34 +00:00
Peter Nelson
910dd65710
Change: Improve news window layouts.
...
* Use appropriate container widget nesting with padding, instead of single-sided padding.
* Use layer widget to allow main news message to overlay close box and date widgets, to more closely match the old fixed-pixel layout.
2024-12-01 09:44:11 +00:00
Peter Nelson
568bb1f5da
Change: [UI] Improve visual padding of vehicle news items. ( #13134 )
2024-11-30 15:29:36 +00:00
Peter Nelson
446db2c826
Codechange: Remove redundant NewsStringData data. ( #12983 )
...
Since SetDParamStr() always owns a copy of the string, there is no need to make another copy of it to keep it around while the news item exists.
This also fixes a leak in `CmdIndustrySetProduction` as the allocated data wasn't passed to AddIndustryNewsItem.
2024-10-08 19:48:55 +01:00