Age | Commit message (Collapse) | Author | |
---|---|---|---|
2021-05-02 | Fix: [Network] Reading beyond the length of the server's ID when hashing ↵ | rubidium42 | |
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 | Fix: Update text effect size when font zoom is changed. (#9174) | PeterN | |
2021-05-02 | Fix: Crash when extra viewport height is zero with sign in view. (#9175) | PeterN | |
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 | Codechange: Warn if randomaction2 group count is not a power of 2. | Peter Nelson | |
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 | Cleanup: Use range iterator to evaluate DeterministicSpriteGroup. | Peter Nelson | |
2021-05-02 | Cleanup: Use std::vector in RandomSpriteGroup. | Peter Nelson | |
2021-05-02 | Cleanup: Use std::vector in DeterministicSpriteGroup. | Peter Nelson | |
2021-05-02 | Cleanup: Use std::vector in RealSpriteGroup. | Peter Nelson | |
2021-05-01 | Codechange: move some OS abstraction method implementations out of the header | rubidium42 | |
2021-05-01 | Codechange: encapsulate network error handling | rubidium42 | |
2021-05-01 | Codechange: rename NetworkError to ShowNetworkError | rubidium42 | |
2021-05-01 | Fix 3d7ab09: stopped trains not updating viewport hash when reversed for a ↵ | Matt Kimber | |
second time (#9165) | |||
2021-05-01 | Fix #6598: Prevent invalid memory accesses when abandoning a join from ↵ | rubidium42 | |
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 | Codechange: Move join information into a single structure | rubidium42 | |
2021-05-01 | Fix #6598: Do not disconnect before company number validation | rubidium42 | |
NetworkClientConnectGame already does a NetworkDisconnect, so no reason to do it here | |||
2021-05-01 | Change: [Console] Show help when passing invalid company number | rubidium42 | |
2021-05-01 | Feature: make the town directory horizontally resizable | rubidium42 | |
2021-05-01 | Fix #9152, Fix #9153: screenshot command showed error messages when successful | rubidium42 | |
2021-05-01 | Codechange: Scale sprite font height once on init instead of every call to ↵ | Peter Nelson | |
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 | Cleanup: Use GetDefaultFontHeight() call instead of direct access. | Peter Nelson | |
This makes this part of font size setup in FreeTypeFontCache consist with OSX and Windows variants. | |||
2021-04-30 | Fix: Cargo legend blob in cargo payment rate window did not rescale. | Peter Nelson | |
2021-04-30 | Fix: Scale cargo lines in industry chain window. | Peter Nelson | |
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 | Fix: Scale industry chain legend blob by font size. | Peter Nelson | |
2021-04-30 | Fix: Improved scaling and spacing of sign list window. | Peter Nelson | |
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 | Fix: Scale legend blobs in Fund new industry window. | Peter Nelson | |
2021-04-30 | Fix: Scale smallmap legend 'blob' to fit text. | Peter Nelson | |
2021-04-30 | Fix: Tidy up sizing of sprite aligner window sprite list. | Peter Nelson | |
2021-04-30 | Fix: Company Key window scaling. | Peter Nelson | |
2021-04-30 | Fix: Use unscaled values for padding OSK | Peter Nelson | |
2021-04-30 | Codechange: Use text lines instead of pixel height of font for link graph ↵ | Peter Nelson | |
widgets. | |||
2021-04-30 | Codechange: Apply minimum size to toolbar widgets | Peter Nelson | |
2021-04-30 | Codechange: No longer necessary to manually resize volume sliders. | Peter Nelson | |
2021-04-30 | Fix: Recalculate padding and minimum sizes when GUI or Font zoom is changed. | Peter Nelson | |
2021-04-30 | Cleanup: Set unchanging scrollbar properties in constructor. | Peter Nelson | |
2021-04-30 | Cleanup: Call SetMinimalSize instead of setting min_y directly. | Peter Nelson | |
2021-04-30 | Fix: Specify width when width is required instead of top. | Peter Nelson | |
2021-04-30 | Codechange: Simplify calling of DrawCharCentered() | Peter Nelson | |
2021-04-30 | Cleanup: Tidy up resize, fill and minimal size on widgets in town list window. | Peter Nelson | |
2021-04-30 | Cleanup: Remove fairly redundant DrawDropdown() function. | Peter Nelson | |
2021-04-30 | Cleanup: Horizontal widget size is commonly width rather than length. | Peter Nelson | |
2021-04-30 | Codechange: Use C++ features for train wagon overrides. (#9141) | PeterN | |
This removes the need for C-style array management and allows use of iterators to perform wagon override lookups. | |||
2021-04-30 | Remove: performance measurements in YAPF | Patric Stout | |
YAPF was constantly measuring its performance, but only at certain debug-levels this information was shown. Now after years, I sincerely wonder if anyone still knows about this feature and who still use it. Especially with the new framerate window, this detailed performance is not as meaningful anymore as it once was. | |||
2021-04-30 | Cleanup: remove weird left-over comment in yapf.hpp | Patric Stout | |
2021-04-30 | Change: use TCP for everything except for master-server and initial server ↵ | Patric Stout | |
scan (#9130) This means that pressing Refresh button and adding servers manually now uses TCP. The master-server and initial scan are still UDP as they will be replaced by Game Coordinator; no need to change this now. If we query a server that is too old, show a proper warning to the user informing him the server is too old. | |||
2021-04-29 | Fix: String validation could leave invalid Utf8 encoded strings (#9096) | rubidium42 | |
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. | |||
2021-04-29 | Cleanup: Remove old FiosList helper methods. (#9139) | PeterN | |
2021-04-29 | Codechange: Replace FOR_ALL_CARGOSPECS with range-based for loops | glx22 | |
2021-04-29 | Codechange: Replace window related FOR_ALL with range-based for loops | glx22 | |
2021-04-29 | Change: [Network] Encapsulate logic about the connection string to the ↵ | rubidium42 | |
network code (#23) | |||
2021-04-29 | Codechange: use NetworkAddress instead of two host/port variables where possible | Patric Stout | |
This also means we no longer need last_host/last_port, but can just use a single last_joined setting. |