summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2021-07-17Feature: Persistant rotation of numbered auto/netsave after restart (#9397)Loïc Guilloux
It was always starting from 0 on openttd restart. Now the most recent auto/netsave number will be used as a base to generate the next filename.
2021-07-16Change: [Win32] Set the console codepage to UTF-8glx22
2021-07-16Fix 433f74e: GetString() requires a language packglx22
2021-07-16Update: Translations from eintstranslators
spanish (mexican): 1 change by absay dutch: 15 changes by Afoklala portuguese: 1 change by azulcosta
2021-07-16Doc: explain in a bit more detail how we implemented STUNPatric Stout
2021-07-16Feature: allow the use of STUN to connect client and server togetherPatric Stout
This method doesn't require port-forwarding to be used, and works for most common NAT routers in home setups. But, for sure it doesn't work for all setups, and not everyone will be able to use this.
2021-07-16Codechange: allow Connect() to bind to a local addressPatric Stout
2021-07-15Update: Translations from eintstranslators
swedish: 14 changes by joeax910
2021-07-14Add: inform clients what game-script a server is running (#9441)Patric Stout
Co-authored-by: The Dude <thedude@novapolis.net>
2021-07-14Update: Translations from eintstranslators
spanish (mexican): 1 change by absay finnish: 14 changes by hpiirai
2021-07-13Update: Translations from eintstranslators
korean: 1 change by telk5093 portuguese: 1 change by azulcosta
2021-07-12Update: Translations from eintstranslators
spanish (mexican): 4 changes by absay english (us): 13 changes by 2TallTyler korean: 5 changes by telk5093 german: 13 changes by Wuzzy2 portuguese: 4 changes by azulcosta hindi: 6 changes by ritwikraghav14
2021-07-11Feature: parse the console settings the same way as config settingsRubidium
Now you can use things like `set server_game_type public` instead of having to guess the number, which would not be written into the configuration file nor would it be shown when doing `set server_game_type`.
2021-07-11Fix: "Search LAN games" used the socket after it was closed (#9437)Patric Stout
Every outgoing connection, either TCP or UDP, triggered NetworkInitialize(), which triggered NetworkUDPInitialize() which first closes all connections. Now the problem was that "Search LAN games" found a server, added it to the list, after which (over TCP) it queries the server. This closes all UDP sockets (as that makes sense, I guess?), while the UDP was still reading from it. Solve this by simply stop initializing UDP every time we make an outgoing TCP connection; instead only do it on start-up.
2021-07-11Remove: includes to network/core/config.h from headers when only three cpp ↵Rubidium
files need it
2021-07-11Add: allow setting your server visibility to "invite-only" (#9434)Patric Stout
In this mode you do register to the Game Coordinator, but your server will not show up in the public server listing. You can give your friends the invite code of the server with which they can join.
2021-07-11Update: Translations from eintstranslators
spanish (mexican): 29 changes by absay czech: 11 changes by JustImagine436 korean: 9 changes by telk5093 portuguese: 9 changes by azulcosta hindi: 28 changes by ritwikraghav14
2021-07-11Feature: join servers based on their invite codePatric Stout
This removes the need to know a server IP to join it. Invite codes are small (~7 characters) indentifiers for servers, which can be exchanged with other players to join the servers.
2021-07-11Change: groundwork to allow ServerAddress to use invite codesPatric Stout
Normally TCPConnecter will do a DNS resolving of the connection_string and connect to it. But for SERVER_ADDRESS_INVITE_CODE this is different: the Game Coordinator does the "resolving". This means we need to allow TCPConnecter to not setup a connection and allow it to be told when a connection has been setup by an external (to TCPConnecter) part of the code. We do this by telling the (active) socket for the connection. This means the rest of the code doesn't need to know the TCPConnecter is not doing a simple resolve+connect. The rest of the code only cares the connection is established; not how it was established.
2021-07-11Codechange: track servers with a ServerAddress instead of a NetworkAddressPatric Stout
This allows future extensions to have different ways of referencing a server, instead of forcing to use IP:port.
2021-07-11Feature: raise the maximum NewGRF limit to 255Patric Stout
2021-07-11Fix a4987233: NewGRFs could no longer be loaded from the NewGRF folder.Patric Stout
This statement was removed by accident, as it felt it could be removed. But it is used to know if the NewGRF is from the baseset folder or from the NewGRF folder.
2021-07-11Remove: arbitrary limit on number of statically loaded NewGRFs (#9431)rubidium42
2021-07-11Fix: ensure no more than the allowed number of NewGRFs are loaded from the ↵Rubidium
configuration
2021-07-10Feature: allow setting (game) coordinator and content server connection ↵Rubidium
strings using environment variables OTTD_COORDINATOR_CS for the game coordinator defaults to coordinator.openttd.org:3976 OTTD_CONTENT_SERVER_CS for the content server defaults to content.openttd.org:3978 OTTD_CONTENT_MIRROR_CS for the content mirror server defaults to binaries.openttd.org:80
2021-07-10Codechange: use the C++ std::getenv over the POSIX/C getenvRubidium
The C++ std::getenv is guaranteed thread-safe by the C++11 specification, whereas the POSIX/C getenv might not be thread-safe by the C11 specification.
2021-07-10Update: Translations from eintstranslators
spanish (mexican): 74 changes by absay vietnamese: 62 changes by KhoiCanDev
2021-07-10Cleanup: remove unused optional ctor parameter for NetworkGameListPatric Stout
2021-07-10Remove: unused UDP protocol partsPatric Stout
2021-07-10Remove: old server listing via Master ServerPatric Stout
This removes all UDP from the game except for a local broadcast to find LAN games. So long Master Server, and tnx for all the fish!
2021-07-10Remove: old server announcement to Master ServerPatric Stout
As we now use the Game Coordinator for announcements, there is no longer a need to use the Master Server for this.
2021-07-10Add: use Game Coordinator to get latest public server listingPatric Stout
2021-07-10Add: use Game Coordinator to annouce public serversPatric Stout
2021-07-10Codechange: track version of network servers to prune once out-of-datePatric Stout
2021-07-10Codechange: use UpdateNetworkGameWindow() over manually marking window dirtyPatric Stout
2021-07-10Codechange: Don't explicitly unset _generating_world outside of genworld.cpp ↵Loïc Guilloux
(#9418)
2021-07-10Remove: logically dead code in graph UIRubidium
2021-07-10Remove: logically dead code from font cacheRubidium
The outer if statement checks for 'aa' being false, so within the inner statements anything checking aa will have a known result and the other branch from there will be dead code.
2021-07-10Fix 11ab3c4: [NewGRF] Overflow when determining cargo mask for string code 9A 1ERubidium
9A 1E: Print unsigned word as name of a cargo type (translated for GRF version >= 7).
2021-07-09Codechange: use the name string in SaveLoad for the name of the Setting as wellRubidium
2021-07-09Codechange: access the name of a setting via an accessor functionRubidium
2021-07-09Codechange: name a few unnamed settings as to not to have to check for that ↵Rubidium
being empty
2021-07-09Add #9188: netsave now keeps multiple version around, similar to autosave ↵Stephan
(#9395)
2021-07-09Cleanup: Remove now unused FOR_EACH_SET_BIT_EX macroglx22
2021-07-09Codechange: Remove FOR_EACH_SET_TRACKglx22
2021-07-09Codechange: Remove FOR_EACH_SET_CARGO_IDglx22
2021-07-09Codechange: Remove FOR_EACH_SET_BITglx22
2021-07-09Codechange: Remove FOR_ALL_SORTED_STANDARD_CARGOSPECSglx22
2021-07-09Codechange: Remove FOR_ALL_TILES_IN_HEIGHTglx22
2021-07-09Codechange: split settings.ini over several files (#9421)Patric Stout
This reduced the load on compilers, as currently for example MacOS doesn't like the huge settings-tables. Additionally, nobody can find settings, as the list is massive and unordered. By splitting it, it becomes a little bit more sensible.