Commit Graph

40 Commits

Author SHA1 Message Date
rubidium42
55a11710a6 Codechange: convert printf DEBUG statements to fmt Debug statements 2021-06-13 12:45:45 +02:00
rubidium42
e2417193c9 Cleanup: [ContentInfo] Remove some functions that are not needed anymore 2021-06-10 20:09:44 +02:00
rubidium42
df181bb641 Codechange: [ContentInfo] Use a vector for dependencies instead of custom allocation 2021-06-10 20:09:44 +02:00
rubidium42
9c424ab741 Codechange: [ContentInfo] Use StringList for tags instead of custom allocations 2021-06-10 20:09:44 +02:00
rubidium42
dfb89f3891 Codechange: [ContentInfo] Do not use memset/memcpy to make it possible to use vector/string 2021-06-10 20:09:44 +02:00
rubidium42
6bb3f034e4 Cleanup: [ContentInfo] Remove unused function 2021-06-10 20:09:44 +02:00
Patric Stout
a403653805 Codechange: [Network] split CloseSocket and CloseConnection more clearly (#9261)
* Codechange: [Network] split CloseSocket and CloseConnection more clearly

- CloseSocket now closes the actual OS socket.
- CloseConnection frees up the resources to just before CloseSocket.
- dtors call CloseSocket / CloseConnection where needed.
2021-05-13 11:46:51 +02:00
Rubidium
187a3f20bf Codechange: remove pointless close call due to resolving virtual functions statically in destructors
In the destructors of many of the network related classes Close() is called, just like the
top class in that hierarchy. However, due to virtual functions getting resolved statically
in the destructor it would always call the empty Close() of the top class.
Document the other cases where a virtual call is resolved statically.
2021-05-13 10:03:26 +02:00
Patric Stout
b136e65cf9 Change: reworked the debug levels for network facility (#9251)
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-12 16:34:02 +02:00
rubidium42
015e3b412e Cleanup: remove #ifdefs for compiling the old content server 2021-04-27 19:58:03 +02:00
Patric Stout
cd757d53ca Codechange: remove always-empty "address" from NetworkContentSocketHandler
When ever you saw this debug lines (which you never should), they
showed an empty address. It is also not very useful to have, as it
always points to a known server anyway.
2021-04-20 17:34:04 +02:00
Jonathan G Rennison
1ac0d4a5b2 Fix: Thread unsafe use of NetworkAddress::GetAddressAsString
Remove static buffer form of NetworkAddress::GetAddressAsString.
This is used in multiple threads concurrently, and is not thread-safe.

Replace it with a form returning std::string.
2020-06-21 11:47:56 +01:00
S. D. Cloudt
13cc8a0cee Cleanup: Removed SVN headers 2019-11-10 17:59:20 +00:00
Henry Wilson
7c8e7c6b6e Codechange: Use null pointer literal instead of the NULL macro 2019-04-10 23:22:20 +02:00
Patric Stout
e3c639a09f Remove: ENABLE_NETWORK switch
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.
2019-03-20 19:24:55 +01:00
rubidium
0463dbdc9e (svn r26482) -Codechange: add an include that allows us to undefine/redefine "unsafe" functions to prevent them from being used, and thus having to care about certain aspects of their return values 2014-04-23 20:13:33 +00:00
rubidium
5eac3a77d2 (svn r25597) -Fix [FS#5635]: [Content] When the server closed the connection, the client would for eternity try to read a packet and never timeout making it impossible to reconnect 2013-07-13 09:26:11 +00:00
rubidium
e6ae8cf420 (svn r25593) -Cleanup: remove a few stale #defines 2013-07-13 06:18:16 +00:00
rubidium
51f0d11ee3 (svn r25573) -Change: make content list appear faster by allowing some window redraws in between 2013-07-07 10:37:16 +00:00
frosch
a443375d44 (svn r24674) -Fix (r24466, r23234) [FS#5358]: Downloaded heightmaps could not be used anymore. (sbr) 2012-11-08 21:41:00 +00:00
rubidium
9db98f3b14 (svn r24638) -Codechange: add some #ifndefs so MSU code doesn't need to compile it, and doesn't need all the required dependencies 2012-10-28 19:16:58 +00:00
frosch
e84cf93c98 (svn r24508) -Fix [FS#5281] (24488): Content GUI crashed after downloading a NewGRF while it is selected. 2012-09-02 10:04:28 +00:00
rubidium
4563c50c91 (svn r24491) -Fix: compilation error with networking disabled 2012-08-21 19:03:21 +00:00
yexo
053770d4a6 (svn r24488) -Feature [FS#5236]: add buttons to view textfiles from the online content window (LordAro) 2012-08-20 21:03:50 +00:00
yexo
483d878d5f (svn r24466) -Codechange [FS#5236]: add general function for ContentType -> Subdirectory conversion (LordAro) 2012-08-13 18:49:38 +00:00
michi_cc
3536f4086a (svn r22431) -Fix (r22399): NETWORK_RECV_STATUS_MALFORMED_PACKET != false. 2011-05-06 22:17:34 +00:00
rubidium
d4737e0724 (svn r22399) -Codechange: replace some defines in the tcp/content code so doxygen can create better documentation 2011-05-01 11:13:11 +00:00
rubidium
eb299736c1 (svn r21886) -Codechange: move documentation towards the code to make it more likely to be updated [n]. 2011-01-22 09:53:15 +00:00
rubidium
b6c2216749 (svn r21358) -Codechange: make some network function names conform to coding style 2010-11-30 13:38:46 +00:00
rubidium
0ca7e4e82e (svn r20924) -Codechange: make the game connection packet handling look more like UDP/content packet handling 2010-10-15 13:47:37 +00:00
frosch
4ce5c6d93d (svn r20089) -Fix [FS#3932]: Access of already freed memory, esp. due to hidden destructor call from Swap(). 2010-07-08 18:38:38 +00:00
smatz
837913aa5a (svn r19508) -Codechange: remove semicolon after DEFINE_UNAVAILABLE_CONTENT_RECEIVE_COMMAND and DEFINE_UNAVAILABLE_UDP_RECEIVE_COMMAND 2010-03-23 22:36:02 +00:00
rubidium
df75db67eb (svn r17742) -Codechange: remove unused variable from Recv_Packet 2009-10-07 20:58:14 +00:00
rubidium
d6cded5380 (svn r17693) -Cleanup: remove some unneeded includes 2009-10-04 17:16:41 +00:00
smatz
32cbe57178 (svn r17692) -Codechange: minor coding style fixes 2009-10-04 17:10:57 +00:00
rubidium
7fbc33dae1 (svn r17248) -Fix: add GPL license notice where appropriate 2009-08-21 20:21:05 +00:00
rubidium
ae71df349e (svn r17015) -Fix [FS#3075]: infinite recursion in content dependency checking 2009-07-31 23:54:43 +00:00
rubidium
804370d964 (svn r15914) -Codechange: let the content handling make use of NetworkAddress. 2009-04-02 18:35:59 +00:00
rubidium
4f5a8b15ed (svn r15206) -Fix [FS#2567]: memory corruption due to not properly cleanup up the mess when cancelling a download 2009-01-22 10:09:56 +00:00
rubidium
3a13b75e37 (svn r15126) -Feature: downloading content from a central server (content.openttd.org) where authors can upload they NewGRFS/AI etc. This should make joining servers that use only NewGRFs that are distributed via this system easier as the players can download the NewGRFs from in the game. It should also make it easier to see whether there are updates for NewGRFs and make the necessary updates. 2009-01-17 16:53:32 +00:00