summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-05-06Codechange: [Network] Move connection string parsing away from C-stringsrubidium42
2021-05-06Codechange: [Network] Use std::string for NetworkAddress' host namerubidium42
2021-05-06Codechange: [Network] Use new/delete instead of calloc/free for NetworkGameListrubidium42
2021-05-06Add: [[nodiscard]] to std::string str_validaterubidium42
2021-05-05Codechange: use connection_string in favour of NetworkAddress (#9197)Patric Stout
We now resolve the connection_string to a NetworkAddress in a much later state. This means there are fewer places constructing a NetworkAddress. The main benefit of this is in later PRs that introduce different types of NetworkAddresses. Storing this in things like NetworkGameList is rather complex, especially as NetworkAddress has to be mutable at all times. Additionally, the NetworkAddress is a complex object to store simple information: how to connect to this server.
2021-05-05Cleanup: [Network] Remove variable from NetworkGameInfo that is only used ↵Rubidium
during deserialisation
2021-05-05Change: [Network] Update server's NetworkServerGameInfo only when neededrubidium42
Split the updating in a "static" version that only needs to be called when a new map is loaded or some settings are changed, and a "dynamic" version that updates everything that changes regularly such as the current game date or the number of spectators.
2021-05-05Codechange: [Network] Use a single NetworkServerGameInfo object at server ↵rubidium42
side and serialize that for the clients
2021-05-05Update: Translations from eintstranslators
english (us): 1 change by 2TallTyler russian: 1 change by Ln-Wolf finnish: 4 changes by hpiirai
2021-05-05Cleanup: Leftover static const variable from a3b356e (#9194)Loïc Guilloux
2021-05-05Cleanup: [Fluidsynth] Comply better with the coding stylerubidium42
2021-05-04Update: Translations from eintstranslators
english (us): 1 change by 2TallTyler estonian: 49 changes by siimsoni korean: 1 change by telk5093 hungarian: 45 changes by baliball finnish: 12 changes by hpiirai spanish: 1 change by JohnBoyFan
2021-05-04Change: Use gender-neutral pronouns in english.txt (#9189)Tyler Trahan
2021-05-03Codechange: Replace FOR_ALL_ROADTRAMTYPES with range-based for loopsglx22
2021-05-03Codechange: Replace FOR_ALL_SEARCHPATHS with range-based for loopsglx22
2021-05-03Codechange: Replace FOR_ALL_TARS with range-based for loopsglx22
2021-05-03Add: [Network] Reading std::string from a packetrubidium42
2021-05-03Add: [Network] Writing std::string to a packetrubidium42
2021-05-03Update: Translations from eintstranslators
norwegian (bokmal): 1 change by Anolitt spanish (mexican): 1 change by absay korean: 1 change by telk5093 russian: 48 changes by Ln-Wolf catalan: 1 change by J0anJosep portuguese: 1 change by azulcosta portuguese (brazilian): 1 change by Vimerum
2021-05-03Fix #9117, 04ce1f07: [Fluidsynth] Infinite wait when stopping song (#9181)rubidium42
In FluidSynth 2.2.0 an extra state was added to denote stopping. To transition from this state to a stopped state the rendering needs to be running. Since 04ce1f07 locking was added that skipped the rendering when something else held a lock, so the state would never get to stopped and join would never return.
2021-05-03Fix: Query windows may be partially drawn initially. (#9184)PeterN
Query window was not marked dirty after being moved on init. It was then marked dirty once the white border flash completed.
2021-05-03Fix #9174: Don't update text effect if it has been reset. (#9183)PeterN
2021-05-03Fix #9113: Assertion failure when removing airport with order backup (#9182)Jonathan G Rennison
2021-05-02Update: Translations from eintstranslators
norwegian (bokmal): 24 changes by Anolitt russian: 8 changes by Ln-Wolf dutch: 46 changes by Afoklala spanish: 43 changes by MontyMontana french: 44 changes by arikover
2021-05-02Codechange: Acquire video buffer before taking game state lock to prevent ↵Milek7
erratic fast forward behaviour (#9140)
2021-05-02Codechange: Validate custom station platform layout tiles are permitted ↵Peter Nelson
values only.
2021-05-02Codechange: Use std::vector for NewGRF station tile sprite layouts.Peter Nelson
2021-05-02Codechange: Use std::vector for NewGRF station platform layouts.Peter Nelson
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-02Fix #9147: Delay making screenshots until the next draw tick as we may not ↵Michael Lutz
access the video buffer from the game thread.
2021-05-02Codechange: Generalise the delayed blitter change to a generic video driver ↵Michael Lutz
command queue.
2021-05-02Fix: [NewGRF] industry variable 66 and object variable 46 clamped the ↵frosch
squared-euclidian distance to 16 bit, when they should not.
2021-05-02Fix: [NewGRF] industry variables 65 and 66 ignored the parameter, and always ↵frosch
used the north tile.
2021-05-02Fix: [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-02Fix: Update text effect size when font zoom is changed. (#9174)PeterN
2021-05-02Fix: 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-02Codechange: 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-02Cleanup: Use range iterator to evaluate DeterministicSpriteGroup.Peter Nelson
2021-05-02Cleanup: Use std::vector in RandomSpriteGroup.Peter Nelson
2021-05-02Cleanup: Use std::vector in DeterministicSpriteGroup.Peter Nelson
2021-05-02Cleanup: Use std::vector in RealSpriteGroup.Peter Nelson
2021-05-01Codechange: move some OS abstraction method implementations out of the headerrubidium42
2021-05-01Codechange: encapsulate network error handlingrubidium42
2021-05-01Codechange: rename NetworkError to ShowNetworkErrorrubidium42
2021-05-01Fix 3d7ab09: stopped trains not updating viewport hash when reversed for a ↵Matt Kimber
second time (#9165)
2021-05-01Fix 3d7ab09: stopped trains not updating viewport hash when reversed for a ↵Matt Kimber
second time (#9165)
2021-05-01Fix #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-01Codechange: Move join information into a single structurerubidium42
2021-05-01Fix #6598: Do not disconnect before company number validationrubidium42
NetworkClientConnectGame already does a NetworkDisconnect, so no reason to do it here
2021-05-01Change: [Console] Show help when passing invalid company numberrubidium42
2021-05-01Fix: Don't consider regression AIs when starting a random AI (#9164)Loïc Guilloux