Peter Nelson
bd1a20f6ee
Codechange: Use std::vector for NewGRF station platform layouts.
...
This avoids the need to custom memory management and additional members.
This also resolves use-after-free if modifying copied layouts, so presumably nobody has ever done that.
2021-05-02 17:15:27 +01:00
Michael Lutz
1f159f79de
Fix #9147 : Delay making screenshots until the next draw tick as we may not access the video buffer from the game thread.
2021-05-02 17:57:24 +02:00
Michael Lutz
91b8ce073f
Codechange: Generalise the delayed blitter change to a generic video driver command queue.
2021-05-02 17:57:24 +02:00
frosch
2cf5df2a50
Fix: [NewGRF] industry variable 66 and object variable 46 clamped the squared-euclidian distance to 16 bit, when they should not.
2021-05-02 13:45:43 +01:00
frosch
84aa17cea6
Fix: [NewGRF] industry variables 65 and 66 ignored the parameter, and always used the north tile.
2021-05-02 13:45:43 +01:00
rubidium42
56aa6d0edd
Fix: [Network] Reading beyond the length of the server's ID when hashing password
...
Under normal circumstances the server's ID is 32 characters excluding '\0', however this can be changed at the server. This ID is sent to the server for company name hashing. The client reads it into a statically allocated buffer of 33 bytes, but fills only the bytes it received from the server. However, the hash assumes all 33 bytes are set, thus potentially reading uninitialized data, or a part of the server ID of a previous game in the hashing routine.
It is still reading from memory assigned to the server ID, so nothing bad happens, except that company passwords might not work correctly.
2021-05-02 11:51:28 +02:00
PeterN
18651dd8b1
Fix: Update text effect size when font zoom is changed. ( #9174 )
2021-05-02 10:43:14 +01:00
PeterN
256dbee255
Fix: Crash when extra viewport height is zero with sign in view. ( #9175 )
...
If a viewport sign straddles the top of a viewport, a crash will occur if the viewport height is zero. This is resolved by simply not attempting to draw the viewport in this situation, consistent with other widgets.
2021-05-02 10:21:27 +01:00
Peter Nelson
18fb1c3866
Codechange: Warn if randomaction2 group count is not a power of 2.
...
Previously noted by a comment, this does not need to be guarded against as non-powers of 2 will not cause issues beyond the choice of results being reduced.
2021-05-02 09:41:01 +01:00
Peter Nelson
6b0b1bb3de
Cleanup: Use range iterator to evaluate DeterministicSpriteGroup.
2021-05-02 09:41:01 +01:00
Peter Nelson
913d8a7f28
Cleanup: Use std::vector in RandomSpriteGroup.
2021-05-02 09:41:01 +01:00
Peter Nelson
1aeaf39954
Cleanup: Use std::vector in DeterministicSpriteGroup.
2021-05-02 09:41:01 +01:00
Peter Nelson
f785a70a2b
Cleanup: Use std::vector in RealSpriteGroup.
2021-05-02 09:41:01 +01:00
rubidium42
e097c83c83
Codechange: move some OS abstraction method implementations out of the header
2021-05-01 19:36:22 +02:00
rubidium42
22720332eb
Codechange: encapsulate network error handling
2021-05-01 19:36:22 +02:00
rubidium42
0eb17a70af
Codechange: rename NetworkError to ShowNetworkError
2021-05-01 19:36:22 +02:00
Matt Kimber
67063ceeb3
Fix 3d7ab09: stopped trains not updating viewport hash when reversed for a second time ( #9165 )
2021-05-01 18:15:22 +01:00
Matt Kimber
520595ff87
Fix 3d7ab09: stopped trains not updating viewport hash when reversed for a second time ( #9165 )
2021-05-01 18:14:50 +01:00
rubidium42
05394d5216
Fix #6598 : Prevent invalid memory accesses when abandoning a join from within a network game
...
One could join a network game from within an already running network game. This would call a NetworkDisconnect, but keeps the UI alive. If, during that process the join is aborted, e.g. by cancelling on a password dialog, you would still be in your network game but also get shown the server list.
Solve all the underlying problems by falling back to the main UI when (re)connecting to a(nother) server.
2021-05-01 18:30:08 +02:00
rubidium42
83985fe26f
Codechange: Move join information into a single structure
2021-05-01 18:30:08 +02:00
rubidium42
39c51c35f4
Fix #6598 : Do not disconnect before company number validation
...
NetworkClientConnectGame already does a NetworkDisconnect, so no reason to do it here
2021-05-01 18:30:08 +02:00
rubidium42
3bd416bfdb
Change: [Console] Show help when passing invalid company number
2021-05-01 18:30:08 +02:00
Loïc Guilloux
376f2509ad
Fix: Don't consider regression AIs when starting a random AI ( #9164 )
2021-05-01 16:19:14 +02:00
Loïc Guilloux
282d5d302d
Change: [Actions] Add a 2 minutes timeout for regression test ( #9166 )
2021-05-01 16:18:41 +02:00
rubidium42
0345f99180
Feature: make the town directory horizontally resizable
2021-05-01 13:30:27 +02:00
Loïc Guilloux
2985277bec
Fix d4f0b6f4
: [CMake] CMAKE_PROJECT_VERSION_XXX are not in CMake 3.9 ( #9154 )
2021-05-01 11:11:07 +01:00
rubidium42
40528db993
Fix #9152 , Fix #9153 : screenshot command showed error messages when successful
2021-05-01 11:54:41 +02:00
Peter Nelson
9c6c0a0966
Codechange: Scale sprite font height once on init instead of every call to GetHeight().
...
Scaling is not expensive, but it does not change either, and this avoids the need for a virtual method call. This cascades back to all GetCharacterHeight(FS_xxx) and FONT_HEIGHT_xxx calls.
2021-05-01 10:41:39 +01:00
Peter Nelson
ce55cd0ce7
Cleanup: Use GetDefaultFontHeight() call instead of direct access.
...
This makes this part of font size setup in FreeTypeFontCache consist with OSX and Windows variants.
2021-05-01 10:41:39 +01:00
Peter Nelson
49aa392440
Fix: Cargo legend blob in cargo payment rate window did not rescale.
2021-04-30 17:08:15 +01:00
Peter Nelson
055067c49c
Fix: Scale cargo lines in industry chain window.
...
Replaces constant pixel values with values scaled based on font size.
This allows the industry chain to maintain a consistent look across
different sizes. Previously all except cargo line height were fixed.
2021-04-30 17:08:15 +01:00
Peter Nelson
254ffe9dcc
Fix: Scale industry chain legend blob by font size.
2021-04-30 17:08:15 +01:00
Peter Nelson
957beaaefc
Fix: Improved scaling and spacing of sign list window.
...
Both company icon sprite and text now centred within each row, and extra
padding added to avoid the sprites running into each other.
2021-04-30 17:08:15 +01:00
Peter Nelson
617e85cc65
Fix: Scale legend blobs in Fund new industry window.
2021-04-30 17:08:15 +01:00
Peter Nelson
5434d63f91
Fix: Scale smallmap legend 'blob' to fit text.
2021-04-30 17:08:15 +01:00
Peter Nelson
af70195e44
Fix: Tidy up sizing of sprite aligner window sprite list.
2021-04-30 17:08:15 +01:00
Peter Nelson
1df510c297
Fix: Company Key window scaling.
2021-04-30 17:08:15 +01:00
Peter Nelson
09206be054
Fix: Use unscaled values for padding OSK
2021-04-30 17:08:15 +01:00
Peter Nelson
56a6f66903
Codechange: Use text lines instead of pixel height of font for link graph widgets.
2021-04-30 17:08:15 +01:00
Peter Nelson
63cc340dc1
Codechange: Apply minimum size to toolbar widgets
2021-04-30 17:08:15 +01:00
Peter Nelson
d32df00b5c
Codechange: No longer necessary to manually resize volume sliders.
2021-04-30 17:08:15 +01:00
Peter Nelson
4791ff2862
Fix: Recalculate padding and minimum sizes when GUI or Font zoom is changed.
2021-04-30 17:08:15 +01:00
Peter Nelson
6fe5353da2
Cleanup: Set unchanging scrollbar properties in constructor.
2021-04-30 17:08:15 +01:00
Peter Nelson
03a43b8247
Cleanup: Call SetMinimalSize instead of setting min_y directly.
2021-04-30 17:08:15 +01:00
Peter Nelson
f5569763c9
Fix: Specify width when width is required instead of top.
2021-04-30 17:08:15 +01:00
Peter Nelson
2efa390a7d
Codechange: Simplify calling of DrawCharCentered()
2021-04-30 17:08:15 +01:00
Peter Nelson
4f93dd95e4
Cleanup: Tidy up resize, fill and minimal size on widgets in town list window.
2021-04-30 17:08:15 +01:00
Peter Nelson
4c6cca459a
Cleanup: Remove fairly redundant DrawDropdown() function.
2021-04-30 17:08:15 +01:00
Peter Nelson
5153e1b6e3
Cleanup: Horizontal widget size is commonly width rather than length.
2021-04-30 17:08:15 +01:00
PeterN
3dbd6475fe
Codechange: Use C++ features for train wagon overrides. ( #9141 )
...
This removes the need for C-style array management and allows use of iterators to perform wagon override lookups.
2021-04-30 12:03:07 +01:00