summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-04-27Change: no longer use UDP when entering the lobby of a serverPatric Stout
The lobby of a server requested some parts via UDP and some via TCP. This is strictly seen fine, but for future extensions it is a lot easier if just one protocol is used.
2021-04-27Codechange: refactor CheckGameCompatibility() from existing functionPatric Stout
Later commits use this function in other places too.
2021-04-27Add: ability to retrieve game info from server over TCPPatric Stout
2021-04-27Codechange: be explicit in pointer comparisonsPatric Stout
2021-04-27Codechange: move all NetworkGameInfo related functions to a single filePatric Stout
It currently was a bit scattered over the place. Part of NetworkGameInfo is also the GRF Identifiers that goes with it.
2021-04-27Change: [Network] lower TCP connect() timeout to 3s (#9112)Patric Stout
Currently we use default OS timeout for TCP connections, which is around 30s. 99% of the users will never notice this, but there are a few cases where this is an issue: - If you have a broken IPv6 connection, using Content Service is first tried over IPv6. Only after 30s it times out and tries IPv4. Nobody is waiting for that 30s. - Upcoming STUN support has several methods of establishing a connection between client and server. This requires feedback from connect() to know if any method worked (they have to be tried one by one). With 30s, this would take a very long time. What is good to mention, is that there is no good value here. Any value will have edge-cases where the experience is suboptimal. But with 3s we support most of the stable connections, and if it fails, the user can just retry. On the other side of the spectrum, with 30s, it means the user has no possibility to use the service. So worst case we annoy a few users with them having the retry vs annoying a few users which have no means of resolving the situation.
2021-04-27Cleanup: remove #ifdefs for compiling the old content serverrubidium42
2021-04-27Update: Translations from eintstranslators
japanese: 26 changes by scabtert catalan: 43 changes by J0anJosep
2021-04-27Fix: truncating strings in settings could leave invalid Utf8 charactersrubidium42
2021-04-27Codechange: writing and string validation to its own functionsrubidium42
2021-04-27Feature: allow non-ASCII currency separatorsrubidium42
2021-04-27Change: [Network] Safeguard from using errno/strerror for handling network ↵rubidium42
errors They are likely not working as expected on Windows, so prevent their usage. Winsock does not set errno and strerror does not return anything useful for Winsock error numbers.
2021-04-27Codechange: [Network] Do not leak os_abstraction.h via base_media_func.hrubidium42
2021-04-27Codechange: [Network] Do not leak os_abstraction.h via fios.hrubidium42
2021-04-27Codechange: [Network] Do not leak os_abstraction.h via network_funcrubidium42
2021-04-27Change: [Network] Use string error messages instead of numeric error numbers ↵rubidium42
that need to be looked up
2021-04-27Fix: [Network] errno and strerror do not handle network errors on Windowsrubidium42
2021-04-27Fix: [NewGRF] Errors with severity ERROR also display a pop-up window (#9119)Chris
2021-04-26Update: Translations from eintstranslators
english (us): 39 changes by 2TallTyler korean: 44 changes by telk5093 german: 43 changes by danidoedel russian: 7 changes by Ln-Wolf finnish: 39 changes by hpiirai
2021-04-26Fix 8a95fee4: Missing initialiser in Packet constructorCharles Pigott
2021-04-25Change: [Network] Remove now defunct savegame transfer packet limiterrubidium42
2021-04-25Change: use 32 KiB packets to send requests to the content serverRubidium
2021-04-25Change: use 32 KiB packets to transfer the savegameRubidium
2021-04-25Codechange: differentiate between UDP, TCP and compatibility MTU valuesRubidium
2021-04-25Codechange: allow different limits in packet sizesRubidium
2021-04-25Fix #9109: Malformed STR_ROAD_TOOLBAR_TOOLTIP_CONVERT_ROAD in Japanese lang ↵Charles Pigott
(#9110)
2021-04-25Fix: Count engine details text in lines rather than pixels. (#9107)PeterN
This allows the details panel to scale correctly for different zoom levels.
2021-04-25Change: [Actions] Reword bug/crash report instructions (#9104)Tyler Trahan
2021-04-25Update: Translations from eintstranslators
norwegian (bokmal): 4 changes by Anolitt spanish (mexican): 3 changes by absay japanese: 60 changes by scabtert, 38 changes by Azusa257 english (us): 3 changes by 2TallTyler korean: 3 changes by telk5093 russian: 4 changes by Ln-Wolf finnish: 3 changes by hpiirai slovak: 20 changes by FuryPapaya
2021-04-25Fix: [Network] Prevent stalling save game transfer when compression is slowrubidium42
2021-04-25Fix: Use width of tiny arrow string instead of scaled pixels in ↵PeterN
ship/aircraft list. (#9102)
2021-04-25Fix: Missing 'Town names:' colon in map gen GUI2TallTyler
2021-04-25Fix: [OpenGL] Main loop expects to start with the video buffer unmapped. (#9100)Michael Lutz
2021-04-24Fix #9097: Upper 16 bits of cargo base payment rate were discarded. (#9098)PeterN
NewGRF spec says that base payment rate is 32 bits, but it was loaded into a 16 bit variable. This value is loaded into Money variable after inflation is applied.
2021-04-24Change: use icons to indicate you/host in Online Players GUIPatric Stout
2021-04-24Add: move "New Company" inside the Online Players GUIPatric Stout
2021-04-24Change: track hover position on Online Players GUIPatric Stout
Especially if there are many players online, trying to chat with the right one can be a visual challenge. This can be solved by highlighting the row you are on. This visual cue is often enough for humans to find the right row.
2021-04-24Add: ask for confirmation on admin actions in network gamesPatric Stout
2021-04-24Add: admin menu for companies in multiplayer gamesPatric Stout
You can now easily do: - a password reset (unlock) - remove an empty company (reset company)
2021-04-24Feature: rework in-game Online Players GUIPatric Stout
The GUI now more clearly shows some basic information about the server you joined, your client name (and the ability to change it), and what players are in which company. It also contains useful buttons to press to join companies, chat with other people, and for admins to kick/ban people. Additionally, renamed "advertised" to "visibility"; this has to do with future additions, but also because it is more clear in wording.
2021-04-24Fix: [CMake] Check nforenum and grfcodec return valueglx22
2021-04-24Fix: [CMake] Incorrect dependency checks for GRFglx22
2021-04-24Codechange: use std::vector instead of a fixed size array for PacketsRubidium
2021-04-24Codechange: add accessor for the packet type to Packet and make the internal ↵Rubidium
state of Packet private
2021-04-24Codechange: remove public access to the next pointer in PacketRubidium
2021-04-24Codechange: encapsulate reading the size of a PacketRubidium
2021-04-24Codechange: encapsulate the logic about how many bytes can be sent from a ↵Rubidium
buffer in to a Packet
2021-04-24Codechange: move the logic shrinking of the packets into the Packet itselfRubidium
2021-04-24Codechange: encapsulate writing data from Packets into sockets/files/buffers ↵Rubidium
to prevent packet state modifications outside of the Packet
2021-04-24Codechange: encapsulate reading data from sockets into Packets to prevent ↵Rubidium
packet state modifications outside of the Packet