Age | Commit message (Collapse) | Author | |
---|---|---|---|
2021-05-08 | Fix: Apply unscaled padding to Viewport inside WWT_INSET. (#9219) | PeterN | |
Since pixel dimensions in SetPadding() are scaled by GUI size, padding for inset viewports was excessive. Instead, automatically apply padding for WWT_INSET at widget level. This applies to all widgets inside a WWT_INSET, which in all instances is a NWID_VIEWPORT. | |||
2021-05-08 | Fix: only query a manually added server if it isn't there yet | Patric Stout | |
But always mark it as manually, no matter if it was there or not. | |||
2021-05-08 | Fix: don't do a network disconnect between two queries | Patric Stout | |
This meant that on opening the Multiplayer window, if you had more than one server configured, it would one by one cancel all pending queries and send a new. Result: only the last server was updated. | |||
2021-05-08 | Fix: destroying a TCPConnecter that was still resolving made illegal writes | Patric Stout | |
Basically, we should join the resolve thread before we destruct the object. | |||
2021-05-08 | Codechange: move connection_string to private for TCPConnecter | Patric Stout | |
The most common case never needs access to it anymore. Make the one exception to this explicit. This means the fact that we store it is now an implementation detail. | |||
2021-05-08 | Fix fdc11a9: Missing sprite count determined on the wrong file | rubidium42 | |
2021-05-08 | Cleanup: remove the old FIO slot functions | Rubidium | |
2021-05-08 | Codechange: let NewGRF make use of SpriteFile instead of most of the FIO ↵ | Rubidium | |
slot functions | |||
2021-05-08 | Codechange: introduce SpriteFile to be used by the sprite loader instead of ↵ | Rubidium | |
the global FIO slot functionality | |||
2021-05-08 | Codechange: lets music make use of RandomAccessFile instead of the FIO slot ↵ | Rubidium | |
functions | |||
2021-05-08 | Codechange: let NewGRF sounds make use of RandomAccessFile instead of the ↵ | Rubidium | |
FIO slot functions | |||
2021-05-08 | Codechange: use the new RandomAccessFile as backend for the FIO slot functions | Rubidium | |
2021-05-08 | Add: concept of a RandomAccessFile to replace the FIO slot functions | Rubidium | |
2021-05-08 | Codechange: Don't save unused NewGRF override mappings. (#9202) | PeterN | |
2021-05-08 | Change: Use gender-neutral pronouns in console command messages (and ↵ | William Davis | |
comments) (#9203) | |||
2021-05-08 | Fix f7e390bd: getpeername() doesn't work on closed sockets (#9213) | Patric Stout | |
2021-05-08 | Fix #9209: Excessive time resizing highscore/news window when screen is too ↵ | PeterN | |
small. (#9210) If the highscore/news window panel size, which is now scaled by GUI zoom, is larger than the screen size, a loop will be entered where the window is repeatedly resized. This is resolved by removing the minimal size from the panel, as the window is always resized to cover the screen anyway. This means the screen size can never be too small. | |||
2021-05-08 | Codechange: Slider widget used different range for drawing vs setting. | Peter Nelson | |
Using the same range for setting means that no workaround for setting the extremes is necessary. | |||
2021-05-08 | Codechange: Make GetCurrentRect() conform to usual Rect bounds, and reuse it. | Peter Nelson | |
Similar code is already repeated in other locations. | |||
2021-05-08 | Codechange: Don't update window contents if scrollbar position has not moved. | Peter Nelson | |
2021-05-08 | Codechange: Set specific widgets dirty instead of window. | Peter Nelson | |
2021-05-08 | Codechange: [Network] Change ChatMessage's message to std::string and ↵ | rubidium42 | |
simplify some code | |||
2021-05-08 | Fix: [Emscripten] Use non-XDG directories to simplify lolac storage (#9207) | embeddedt | |
2021-05-07 | Update: Translations from eints | translators | |
dutch: 2 changes by Afoklala | |||
2021-05-06 | Feature: use Happy Eyeballs to make network connections (TCP-only) (#9199) | Patric Stout | |
Hostnames like "content.openttd.org" resolve into multiple IPv4 and IPv6. It is possible that either of the IPs is not working, either due to a poorly configured OS (having IPv6 but no valid route), broken network paths, or a service that is temporary unavailable. Instead of trying the IPs one by one, waiting for a 3s timeout between each, be a bit more like browsers, and stack attempts on top of each other with slight delays. This is called Happy Eyebells. Initially, try the first IPv6 address. If within 250ms there is no connection yet, try the first IPv4 address. 250ms later, try the second IPv6 address, etc, till all addresses are tried. If any connection is created, abort all the other (pending) connections and use the one that is created. If all fail 3s after the last connect(), trigger a timeout for all. | |||
2021-05-06 | Codechange: [Network] Use std::string for NetworkGameInfo | rubidium42 | |
2021-05-06 | Codechange: add DrawString(Multiline) that accepts std::string& | rubidium42 | |
2021-05-06 | Codechange: add SetDParamStr that accepts std::string& | rubidium42 | |
2021-05-06 | Update: Translations from eints | translators | |
portuguese: 1 change by azulcosta | |||
2021-05-06 | Codechange: [Network] Move connection string parsing away from C-strings | rubidium42 | |
2021-05-06 | Codechange: [Network] Use std::string for NetworkAddress' host name | rubidium42 | |
2021-05-06 | Codechange: [Network] Use new/delete instead of calloc/free for NetworkGameList | rubidium42 | |
2021-05-06 | Add: [[nodiscard]] to std::string str_validate | rubidium42 | |
2021-05-05 | Codechange: 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-05 | Cleanup: [Network] Remove variable from NetworkGameInfo that is only used ↵ | Rubidium | |
during deserialisation | |||
2021-05-05 | Change: [Network] Update server's NetworkServerGameInfo only when needed | rubidium42 | |
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-05 | Codechange: [Network] Use a single NetworkServerGameInfo object at server ↵ | rubidium42 | |
side and serialize that for the clients | |||
2021-05-05 | Update: Translations from eints | translators | |
english (us): 1 change by 2TallTyler russian: 1 change by Ln-Wolf finnish: 4 changes by hpiirai | |||
2021-05-05 | Cleanup: Leftover static const variable from a3b356e (#9194) | Loïc Guilloux | |
2021-05-05 | Cleanup: [Fluidsynth] Comply better with the coding style | rubidium42 | |
2021-05-04 | Update: Translations from eints | translators | |
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-04 | Change: Use gender-neutral pronouns in english.txt (#9189) | Tyler Trahan | |
2021-05-03 | Codechange: Replace FOR_ALL_ROADTRAMTYPES with range-based for loops | glx22 | |
2021-05-03 | Codechange: Replace FOR_ALL_SEARCHPATHS with range-based for loops | glx22 | |
2021-05-03 | Codechange: Replace FOR_ALL_TARS with range-based for loops | glx22 | |
2021-05-03 | Add: [Network] Reading std::string from a packet | rubidium42 | |
2021-05-03 | Add: [Network] Writing std::string to a packet | rubidium42 | |
2021-05-03 | Update: Translations from eints | translators | |
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-03 | Fix #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-03 | Fix: 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. |