Peter Nelson and Peter Nelson
a51dd8e053
Codechange: make StoryPageButtonCursor a scoped enum
2026-06-01 22:08:46 +01:00
Peter Nelson and Peter Nelson
06af27d52e
Codechange: make StoryPageElementType a scoped enum
2026-06-01 22:08:46 +01:00
Peter Nelson and Peter Nelson
f9dfbd59a3
Codechange: make StoryPageButtonFlag(s) a scoped enum/EnumBitSet
2026-06-01 22:08:46 +01:00
Rubidium and rubidium42
bcda4a72ee
Codechange: make WindowClass a scoped enum
2026-05-20 21:39:04 +02:00
Rubidium and rubidium42
c59d64c132
Codechange: separate TextColour enumeration and flags
2026-05-18 08:37:42 +02:00
Peter Nelson and Peter Nelson
77403627a8
Codechange: make VehicleType a scoped enum
2026-04-26 07:00:13 +01:00
Rubidium and rubidium42
99c8a637b4
Codechange: make WindowPosition a scoped enum
2026-04-25 17:15:18 +02:00
Rubidium and rubidium42
3b5d46e0bb
Codechange: make Colours a scoped enum
2026-04-19 20:53:52 +02:00
Rubidium and rubidium42
7434052eb6
Codechange: make FontSize a scoped enum
2026-04-12 18:10:34 +02:00
Cyprian Klimaszewski and rubidium42
2ac0811ff9
Codechange: Make documentation comments for some functions recognised by doxygen.
2026-02-21 15:05:13 +01:00
Rubidium and rubidium42
dde097a080
Codechange: document parameters and return types
2026-02-20 16:14:02 +01:00
Rubidium and rubidium42
a0b173b43c
Codechange: remove @return documentation for void methods
2026-02-15 20:30:26 +01:00
Rubidium and rubidium42
8e75626b49
Codechange: unify documentation and parameter names of sorters
2026-02-11 04:53:39 +01:00
Rubidium and rubidium42
c6c06e13eb
Codefix: wrong parameter names and partially missing parameters
2026-02-02 16:31:46 +01:00
Rubidium and rubidium42
4adf494ebc
Codechange: enum-class-ify Commands
2026-01-28 23:32:51 +01:00
Cyprian Klimaszewski and GitHub
99f04f27de
Doc: Update information for receiving a copy of GPL. ( #14869 )
2025-12-07 11:25:08 +00:00
Peter Nelson and GitHub
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 and Peter Nelson
984d864c72
Codechange: Add OnClick handler for dropdown items.
...
This allows each dropdown item to indicate if something different should happen depending on where in the item was clicked.
2025-05-25 09:13:05 +01:00
Peter Nelson and GitHub
8b14faaa40
Codechange: Add version of DrawStringMultiLine that performs clipping test. ( #14189 )
...
Normally DrawStringMultiLine does not perform any clipping, as the return value may be needed if it the text is not drawn.
In some specific cases the height is already known, so it is possible to test for clipping, which can cut down on layouting time for text which won't be visible.
2025-05-02 22:59:55 +01:00
Peter Nelson and 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 and GitHub
8a09bb8127
Fix #11226 : Don't draw story page elements that won't be visible. ( #13736 )
...
When drawing the story page elements, all of them were drawn even if they are not visible. This can be a significant performance hit for long strings.
2025-03-04 13:38:37 +00:00
Peter Nelson and Peter Nelson
d587426912
Codechange: Drop default widget strings for story window.
2025-03-03 22:47:07 +00:00
Peter Nelson and GitHub
2f75f3d147
Codechange: Use GetWidgetString for goal, league and story windows. ( #13700 )
2025-03-02 18:33:11 +00:00
Peter Nelson and GitHub
e2c1b9f03e
Codechange: Use only raw strings in drop down lists. ( #13667 )
...
Strings with parameters are now pre-formatted, avoiding global parameters.
Helper functions still allow StringID.
2025-02-27 21:11:16 +00:00
Rubidium and rubidium42
b376e2655a
Codechange: explicitly initialise member variables of Windows
2025-02-27 20:06:06 +01:00
Peter Nelson and GitHub
31bd85b743
Codechange: Use parameterised GetString() for goal, league and story windows. ( #13662 )
2025-02-25 22:55:06 +00:00
Rubidium and rubidium42
fd4adc55e3
Codechange: replace INVALID_X with XID::Invalid() for PoolIDs
2025-02-16 20:23:00 +01:00
Peter Nelson and GitHub
20e57a02a2
Codechange: Use GetString() with argument parameters in simple cases. ( #13551 )
...
Avoids using global string parameters.
2025-02-14 00:10:56 +00:00
Rubidium and rubidium42
3aa60fd479
Codechange: strongly type StoryPageID and StoryPageElementID
2025-02-09 15:07:29 +01:00
Rubidium and rubidium42
6f8b9fc737
Codechange: remove unneeded casts
2025-02-02 19:45:17 +01:00
Rubidium and rubidium42
8f72a478f0
Codechange: change 'return existing window' to a template parameter
...
This change is made to make it possible to pass arbitrary other parameters
to the constructor of the window instances.
2025-02-02 15:57:18 +01:00
Rubidium and rubidium42
b4e3425a5f
Codefix: access pool via PoolItem, not the pool itself
2025-02-01 02:38:27 +01:00
Peter Nelson and Peter Nelson
56b1e9df1f
Codechange: Use EnumBitSet for FrameFlags.
2025-01-30 08:40:42 +00:00
Peter Nelson and Peter Nelson
d30e8dd1c1
Codechange: Use EnumBitSet for WindowDefaultFlags.
2025-01-30 08:40:42 +00:00
Peter Nelson and GitHub
afc0745aa2
Codechange: Specify underlying type for all enums excluding those exposed to scripts. ( #13383 )
2025-01-28 22:17:34 +00:00
Rubidium and rubidium42
c74e385145
Codechange: use StoryPageID instead of uint16_t
2025-01-21 01:57:05 +01:00
Rubidium and rubidium42
b71a5158cf
Codechange: use INVALID_VEHICLE where that's more appropriate than e.g. vehicle 0
2025-01-19 17:10:21 +01:00
Rubidium and rubidium42
4bf36e3fa6
Codechange: replace SetDataTip(STR_ with SetStringTip(STR_
2025-01-02 23:28:43 +01:00
Rubidium and rubidium42
fd5f6caed4
Codechange: use explicit TileIndex constructor for tile 0
2025-01-01 08:26:54 +01:00
Peter Nelson and GitHub
55314513ce
Codechange: Pass NWidgetParts as span instead of begin/end pointers. ( #12779 )
2024-06-12 23:08:35 +01:00
Peter Nelson and GitHub
4cf6d1dd79
Codechange: Pass WindowDesc by reference instead of pointer. ( #12771 )
...
WindowDesc as passed to Windows is not optional so don't allow to it to be nullptr.
2024-06-11 08:58:03 +01:00
Peter Nelson and Peter Nelson
33aedc43a5
Codechange: Shrink GUIList vectors less often, reserve before use.
...
After sorting and filter lists for GUI, we often shirnk them to reduce size. However this has very little benefit:
1) The memory has already been allocated, so it doesn't prevent that memory being required.
2) It causes a new allocation and copy when the vector is shrunk, actually using more memory.
3) The list is in window state, so the lifetime is only while the window is open.
4) When a filter is clearer, the original size will be needed again, which will cause another allocation.
In fact it is beneficial to reserve to the known maximum in most cases, so do that instead.
2024-04-27 19:25:34 +01:00
Peter Nelson and GitHub
5bc9854be2
Codechange: Make sort list function lists safer. ( #12574 )
...
GUIList has a pointer only to the start of each sort/filter func list, which has the potential for UB as it is unable to validate that the selected sort or filter type is in range.
Use a std::span instead and check if the selected type is in range before using it.
2024-04-25 21:00:49 +01:00
Peter Nelson and GitHub
de4e00c93f
Codechange: Pass by reference to UpdateWidgetSize. ( #12457 )
...
These parameters are always provided and not optional.
2024-04-09 08:34:45 +01:00
Peter Nelson and Peter Nelson
56cac21086
Codechange: Use functions to create common drop down list items.
2024-04-01 22:33:16 +01:00
Peter Nelson and GitHub
d683ec0183
Codechange: Move dropdown and slider out of widgets directory. ( #12403 )
...
Also shuffle headers to place widget includes near end.
This leaves the widgets directory solely for defining Widget IDs.
2024-03-31 19:37:16 +01:00
Rubidium and rubidium42
d09b5aaeba
Codechange: use int32_t instead of uint16_t for scroll bar position/size/capacity
2024-03-24 08:30:38 +01:00
Rubidium and rubidium42
86cb184eb4
Codechange: use std::source_location over __FILE__ and __LINE__ for WindowDesc
2024-03-10 10:14:20 +01:00
Patric Stout and GitHub
fe4494ec11
Change: only open story-book in center when a GS does it ( #11916 )
2024-02-03 08:09:55 +01:00
Peter Nelson and Peter Nelson
7737aa6640
Codechange: Make all NWidgetPart arrays constexpr.
...
This ensures that the arrays are not created at runtime and prevents using non-constexpr values.
2024-01-16 21:57:05 +00:00