summaryrefslogtreecommitdiff
path: root/src/network/network_gamelist.cpp
AgeCommit message (Collapse)Author
2021-07-18Remove: the concept of UnknownGRFsrubidium42
These were filled with "<Unknown>" (before 8a2da49) and later their name would get filled via UDP requests to the server. These UDP packets do not exist anymore, so they will always remain "<Unknown>". Remove that logic and just use the generic translated error GRF UNKNOWN string instead.
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-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-10Codechange: track version of network servers to prune once out-of-datePatric Stout
2021-05-12Change: reworked the debug levels for network facility (#9251)Patric Stout
It now follows very simple rules: 0 - Fatal, user should know about this 1 - Error, but we are recovering 2 - Warning, wrong but okay if you don't know 3 - Info, information you might care about 4 - 5 - Debug #1 - High level debug messages 6 - Debug #2 - Low level debug messages 7 - Trace information
2021-05-06Codechange: [Network] Use std::string for NetworkGameInforubidium42
2021-05-06Codechange: [Network] Use new/delete instead of calloc/free for NetworkGameListrubidium42
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-04-30Change: 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-29Codechange: use NetworkAddress instead of two host/port variables where possiblePatric Stout
This also means we no longer need last_host/last_port, but can just use a single last_joined setting.
2021-04-29Cleanup: remove write-only variable "hostname" in NetworkGameListPatric Stout
2020-05-21Codechange: Replace custom linked list for GRF texts with STL vectors and ↵Michael Lutz
strings.
2019-11-10Cleanup: Removed SVN headersS. D. Cloudt
2019-04-10Codechange: Use null pointer literal instead of the NULL macroHenry Wilson
2019-04-06Codechange: Use atomic variables for thread synchronization where useful.Michael Lutz
2019-04-06Codechange: Replace custom mutex code with C++11 mutex'es.Michael Lutz
A conforming compiler with a valid <mutex>-header is expected. Most parts of the code assume that locking a mutex will never fail unexpectedly, which is generally true on all common platforms that don't just pretend to be C++11. The use of condition variables in driver code is checked.
2019-03-20Remove: ENABLE_NETWORK switchPatric Stout
This switch has been a pain for years. Often disabling broke compilation, as no developer compiles OpenTTD without, neither do any of our official binaries. Additionaly, it has grown so hugely in our codebase, that it clearly shows that the current solution was a poor one. 350+ instances of "#ifdef ENABLE_NETWORK" were in the code, of which only ~30 in the networking code itself. The rest were all around the code to do the right thing, from GUI to NewGRF. A more proper solution would be to stub all the functions, and make sure the rest of the code can simply assume network is available. This was also partially done, and most variables were correct if networking was disabled. Despite that, often the #ifdefs were still used. With the recent removal of DOS, there is also no platform anymore which we support where networking isn't working out-of-the-box. All in all, it is time to remove the ENABLE_NETWORK switch. No replacement is planned, but if you feel we really need this option, we welcome any Pull Request which implements this in a way that doesn't crawl through the code like this diff shows we used to.
2014-04-23(svn r26482) -Codechange: add an include that allows us to undefine/redefine ↵rubidium
"unsafe" functions to prevent them from being used, and thus having to care about certain aspects of their return values
2012-12-01(svn r24776) -Doc: Typo fixes, additions, and additional dots collected from ↵alberth
various sources (including Eagle_rainbow, MinchinWeb)
2012-03-25(svn r24070) -Fix [FS#5098]: the 'last joined' server was not properly ↵rubidium
selected anymore (adf88)
2012-01-03(svn r23740) -Codechange: remove some 300 unneeded includes from the .cpp filesrubidium
2011-05-02(svn r22410) -Document: some more bits ;)rubidium
2011-03-03(svn r22162) -Fix [FS#4533]: No update of NewGRF window when unknown GRF ↵yexo
name becomes available
2011-02-08(svn r22029) -Fix [FS#4482]: the server list got not resorted/redrawn after ↵rubidium
NewGRFs were downloaded
2010-10-17(svn r20957) -Codechange: Add another parameter to FindGRFConfig() to define ↵frosch
search restrictions.
2010-08-30(svn r20692) -Fix [FS#4055]: crash after downloading missing contentyexo
2010-08-01(svn r20286) -Codechange: Unify end of doxygen comments.frosch
2010-08-01(svn r20283) -Codechange: Unify start of doygen comments.frosch
2010-07-31(svn r20249) -Codechange: change the newgrf name/description from a char* to ↵yexo
a GRFText* to make translations possible
2010-05-13(svn r19814) -Codechange: give some more unnamed enums a name, in case they ↵rubidium
consisted of unrelated values use static const (u)int
2010-02-25(svn r19255) -Codechange: encapsulate GRFIdentifier in GRFConfig instead of ↵yexo
subclassing it
2010-01-06(svn r18746) -Fix [FS#3489]: clear the cached NewGRFs of a server when ↵rubidium
receiving a reply instead of when requesting the information. With slow/unstable network connections it would look like the NewGRF settings button went randomly missing.
2009-11-09(svn r18027) -Codechange: make some unneededly global variables static and ↵rubidium
remove some unused variables
2009-10-04(svn r17693) -Cleanup: remove some unneeded includesrubidium
2009-09-17(svn r17562) -Fix [FS#2972]: the NewGRF settings of (remote) network games ↵rubidium
did not get properly updated when the NewGRFs were rescanned causing reading of freed data
2009-09-01(svn r17339) -Codechange: move thread related files to their own directory ↵rubidium
(like done for video, music, sound, etc)
2009-08-21(svn r17248) -Fix: add GPL license notice where appropriaterubidium
2009-07-29(svn r16981) -Fix [FS#3062]: the last manually added server would not be savedrubidium
2009-04-15(svn r16064) -Fix: memory leak when querying a server multiple times.rubidium
2009-04-09(svn r15998) -Codechange: some coding style updatesrubidium
2009-04-08(svn r15991) -Fix: don't add 0.0.0.0/:: to the server list; you can't ↵rubidium
connect to them in any case
2009-04-03(svn r15931) -Codechange: let the host and ban lists use of SmallVector.rubidium
2009-04-03(svn r15926) -Codechange: make the broadcast IP list less AF dependent.rubidium
2009-04-02(svn r15917) -Codechange: remove the latest traces of NetworkAddress::GetIP.rubidium
2009-04-02(svn r15916) -Codechange: let the network game list use NetworkAddressrubidium
2009-01-31(svn r15299) -Cleanup: remove many redundant includessmatz
2009-01-20(svn r15159) -Fix: move the UDP queries that resolve a hostname into threads ↵rubidium
so they don't freeze OpenTTD when for example the network connection got severed. Thanks to glx for writing the mutex implementation for Windows.
2009-01-20(svn r15157) -Codechange: wrap the hostname/ip and port into a single ↵rubidium
structure so we can pass either one of them and not convert an ip to a string and then back again.
2008-05-30(svn r13343) -Codechange: reorder/move variable/functions in the network ↵rubidium
headers so that nothing from the network directory needs to include basically all network headers.
2008-04-14(svn r12709) -Feature: show the last joined server. Heavily based on a patch ↵rubidium
by Yexo.