Commit Graph

51033 Commits

Author SHA1 Message Date
frosch
e856d3f8fe Fix: [NewGRF] industry variable 66 and object variable 46 clamped the squared-euclidian distance to 16 bit, when they should not.
(cherry picked from commit 2cf5df2a50)
2021-05-06 20:52:00 +01:00
frosch
dbcd115a4c Fix: [NewGRF] industry variables 65 and 66 ignored the parameter, and always used the north tile.
(cherry picked from commit 84aa17cea6)
2021-05-06 20:52:00 +01:00
rubidium42
59a817f21f 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.

(cherry picked from commit 56aa6d0edd)
2021-05-06 20:52:00 +01:00
PeterN
43fe7463ba Fix: Update text effect size when font zoom is changed. (#9174)
(cherry picked from commit 18651dd8b1)
2021-05-06 20:52:00 +01:00
PeterN
f9a03c4e63 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.

(cherry picked from commit 256dbee255)
2021-05-06 20:52:00 +01:00
Peter Nelson
0b4d45af93 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.

(cherry picked from commit 18fb1c3866)
2021-05-06 20:52:00 +01:00
Peter Nelson
02a62e4c98 Cleanup: Use range iterator to evaluate DeterministicSpriteGroup.
(cherry picked from commit 6b0b1bb3de)
2021-05-06 20:52:00 +01:00
Peter Nelson
f5722a999e Cleanup: Use std::vector in RandomSpriteGroup.
(cherry picked from commit 913d8a7f28)
2021-05-06 20:25:59 +01:00
Peter Nelson
a69a1d19a9 Cleanup: Use std::vector in DeterministicSpriteGroup.
(cherry picked from commit 1aeaf39954)
2021-05-06 20:21:57 +01:00
Peter Nelson
d3b9d19c5a Cleanup: Use std::vector in RealSpriteGroup.
(cherry picked from commit f785a70a2b)
2021-05-06 20:21:57 +01:00
Loïc Guilloux
d4c466200f Fix: Don't consider regression AIs when starting a random AI (#9164)
(cherry picked from commit 376f2509ad)
2021-05-06 20:15:46 +01:00
rubidium42
03f8ed7d3f Feature: make the town directory horizontally resizable
(cherry picked from commit 0345f99180)
2021-05-06 20:15:19 +01:00
Loïc Guilloux
1ac0f186c8 Fix d4f0b6f4: [CMake] CMAKE_PROJECT_VERSION_XXX are not in CMake 3.9 (#9154)
(cherry picked from commit 2985277bec)
2021-05-06 20:15:17 +01:00
rubidium42
442f6d7063 Fix #9152, Fix #9153: screenshot command showed error messages when successful
(cherry picked from commit 40528db993)
2021-05-06 20:13:47 +01:00
Peter Nelson
78ccee01d4 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.

(cherry picked from commit 9c6c0a0966)
2021-05-06 20:11:59 +01:00
Peter Nelson
dc746288ce Cleanup: Use GetDefaultFontHeight() call instead of direct access.
This makes this part of font size setup in FreeTypeFontCache consist with OSX and Windows variants.

(cherry picked from commit ce55cd0ce7)
2021-05-06 20:11:59 +01:00
Peter Nelson
b997bb0cee Fix: Cargo legend blob in cargo payment rate window did not rescale.
(cherry picked from commit 49aa392440)
2021-05-06 20:11:59 +01:00
Peter Nelson
2a87430036 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.

(cherry picked from commit 055067c49c)
2021-05-06 20:11:59 +01:00
Peter Nelson
d3e70ff521 Fix: Scale industry chain legend blob by font size.
(cherry picked from commit 254ffe9dcc)
2021-05-06 20:11:59 +01:00
Peter Nelson
f0a884bfa0 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.

(cherry picked from commit 957beaaefc)
2021-05-06 20:11:59 +01:00
Peter Nelson
d7ed6d5ade Fix: Scale legend blobs in Fund new industry window.
(cherry picked from commit 617e85cc65)
2021-05-06 20:11:59 +01:00
Peter Nelson
ce69d6e216 Fix: Scale smallmap legend 'blob' to fit text.
(cherry picked from commit 5434d63f91)
2021-05-06 20:11:59 +01:00
Peter Nelson
6e272df9b0 Fix: Tidy up sizing of sprite aligner window sprite list.
(cherry picked from commit af70195e44)
2021-05-06 20:11:59 +01:00
Peter Nelson
c3cd3bae71 Fix: Company Key window scaling.
(cherry picked from commit 1df510c297)
2021-05-06 20:11:59 +01:00
Peter Nelson
1a904590cf Fix: Use unscaled values for padding OSK
(cherry picked from commit 09206be054)
2021-05-06 20:11:59 +01:00
Peter Nelson
ff8d1222d9 Codechange: Use text lines instead of pixel height of font for link graph widgets.
(cherry picked from commit 56a6f66903)
2021-05-06 20:11:59 +01:00
Peter Nelson
a4a0da1d4b Codechange: Apply minimum size to toolbar widgets
(cherry picked from commit 63cc340dc1)
2021-05-06 20:11:59 +01:00
Peter Nelson
2b233a2a8c Codechange: No longer necessary to manually resize volume sliders.
(cherry picked from commit d32df00b5c)
2021-05-06 20:11:59 +01:00
Peter Nelson
a469b4f395 Fix: Recalculate padding and minimum sizes when GUI or Font zoom is changed.
(cherry picked from commit 4791ff2862)
2021-05-06 20:11:55 +01:00
Peter Nelson
43a3a233df Cleanup: Set unchanging scrollbar properties in constructor.
(cherry picked from commit 6fe5353da2)
2021-05-06 20:00:57 +01:00
Peter Nelson
1a4a6f579e Cleanup: Call SetMinimalSize instead of setting min_y directly.
(cherry picked from commit 03a43b8247)
2021-05-06 20:00:57 +01:00
Peter Nelson
23938cb583 Fix: Specify width when width is required instead of top.
(cherry picked from commit f5569763c9)
2021-05-06 19:59:50 +01:00
Peter Nelson
7bf0eefd36 Codechange: Simplify calling of DrawCharCentered()
(cherry picked from commit 2efa390a7d)
2021-05-06 19:59:39 +01:00
Peter Nelson
5a7e04e0d8 Cleanup: Tidy up resize, fill and minimal size on widgets in town list window.
(cherry picked from commit 4f93dd95e4)
2021-05-06 19:59:18 +01:00
Peter Nelson
bdd55aad07 Cleanup: Remove fairly redundant DrawDropdown() function.
(cherry picked from commit 4c6cca459a)
2021-05-06 19:59:02 +01:00
Peter Nelson
dc6055bd82 Cleanup: Horizontal widget size is commonly width rather than length.
(cherry picked from commit 5153e1b6e3)
2021-05-06 19:58:52 +01:00
rubidium42
da425711e1 Fix: String validation could leave invalid Utf8 encoded strings (#9096)
In case a character was encoded in multiple bytes, but required fewer bytes to be encoded, the first byte would be copied to the output leaving an invalid Utf8 encoded string. Later uses of the validated string would use the same decode logic, which would yield a question mark and just read a single byte, so nothing dangerous happened.
Furthermore, because the next byte would not be a first byte of an encoded Utf8 character, the last few valid characters could be removed by the validation as well.

(cherry picked from commit f00564eeb2)
2021-05-06 19:37:50 +01:00
PeterN
9d72eb02f5 Cleanup: Remove old FiosList helper methods. (#9139)
(cherry-picked from commit f018471b36)
2021-05-06 19:35:57 +01:00
glx22
050b95e351 Codechange: Replace FOR_ALL_CARGOSPECS with range-based for loops
(cherry picked from commit 9a8756d7ed)
2021-05-06 19:35:57 +01:00
glx22
dfe616bef4 Codechange: Replace window related FOR_ALL with range-based for loops
(cherry picked from commit 14e92bd8e2)
2021-05-06 19:32:36 +01:00
PeterN
c7cac34025 Fix: 'Cache' top and bottom lines of textfile viewer to avoid overdraw. (#9131)
* Fix: 'Cache' top and bottom lines of textfile viewer to avoid overdraw.

The text file viewer calculated the number of lines required to set the scrollbar, but did not retain this information, so this was recalculated on every draw operation. This includes overdrawing text outside the bounds of the current scroll position.

With this change the top and bottom lines for each line of text are remembered, and reflowing is avoided where possible. Text outside the current scroll bounds is not drawn.
Additionally the scroll interval is now based on text lines instead of pixel lines, which increases the text capacity depending on the font size.

* Fix: Limit text viewer to showing 64k lines.

Text files with more than 64k wrapped lines would exceed the scrollbar capacity and cause an assert. This is harder to reach now that the scrollbar counts lines instead of pixels.

(cherry picked from commit 0b460bf4a1)
2021-05-06 18:25:45 +01:00
Loïc Guilloux
88bc7bd235 Fix: [MinGW] Set minimum OS version to Windows XP (#9135)
(cherry picked from commit 356bbbb90a)
2021-05-06 18:25:28 +01:00
Peter Nelson
4fc433c871 Cleanup: Replace FOR_ALL_SORTED_CARGOSPECS macro with range iterator.
(cherry picked from commit 20ac0b4148)
2021-05-06 18:21:36 +01:00
Peter Nelson
5e1b4e1844 Cleanup: Replace FOR_ALL_SORTED_ROADTYPES macro with range iterator.
(cherry picked from commit de81afdf4b)
2021-05-06 18:21:30 +01:00
Peter Nelson
571f807b20 Cleanup: Replace FOR_ALL_SORTED_RAILTYPES macro with range iterator.
(cherry picked from commit 3b3d80c8ef)
2021-05-06 18:21:25 +01:00
PeterN
a4821e2732 Fix: Incorrect vertical alignment of icon and text in DropDownListIconItem. (#9133)
This happens if the bounding dimensions are changed so that each item is the same size, as happens on the railtype/roadtype dropdown lists, as the vertical offset was calculated before this dimension is changed.

(cherry picked from commit ae7f07de74)
2021-05-06 11:20:17 +01:00
Jonathan G Rennison
95ca147445 Add cheat: town local authority ratings fixed as Outstanding 2021-05-05 01:17:54 +01:00
Jonathan G Rennison
a9515456cb Merge branch 'master' into jgrpp
# Conflicts:
#	src/network/core/os_abstraction.h
#	src/network/core/tcp_content.h
#	src/network/core/udp.cpp
#	src/table/currency_settings.ini
#	src/table/settings.h.preamble
2021-05-03 21:59:49 +01:00
Jonathan G Rennison
e0d5bf584d Fix assertion failure when removing airport with order backup
See: #252, https://github.com/OpenTTD/OpenTTD/issues/9113
2021-05-03 00:35:47 +01:00
Jonathan G Rennison
ca7dd193d4 Fix #253: Right column width in station window group/sort with large font 2021-05-03 00:28:38 +01:00