Commit Graph

145 Commits

Author SHA1 Message Date
rubidium 71e3562f76 (svn r21463) -Fix [FS#4296] (r21405): when packets are filled their pos and size aren't the same as when they're read. As a check was incorrect. 2010-12-11 13:34:23 +00:00
rubidium 378e233023 (svn r21417) -Fix: ofcourse MSVC x64 has something to complain about 2010-12-05 22:43:56 +00:00
rubidium 9139a6c858 (svn r21405) -Codechange: prepare sending of company information in the UDP packet for longer company names (in bytes), by truncating the names if needed 2010-12-05 22:21:13 +00:00
rubidium b6c2216749 (svn r21358) -Codechange: make some network function names conform to coding style 2010-11-30 13:38:46 +00:00
frosch 3972c790c2 (svn r20957) -Codechange: Add another parameter to FindGRFConfig() to define search restrictions. 2010-10-17 12:12:13 +00:00
yexo d3c1be9abd (svn r20249) -Codechange: change the newgrf name/description from a char* to a GRFText* to make translations possible 2010-07-31 09:33:39 +00:00
alberth be6c058424 (svn r20211) -Codechange: Indented code should have curly braces around it. 2010-07-24 10:14:39 +00:00
rubidium 062dd0e24c (svn r19814) -Codechange: give some more unnamed enums a name, in case they consisted of unrelated values use static const (u)int 2010-05-13 10:14:29 +00:00
yexo 404df87b1f (svn r19295) -Codechange: introduce wrapper functions for GRFConfig::name/info 2010-02-28 20:28:08 +00:00
frosch 3926b62446 (svn r19283) -Fix (r19256): GRFConfig is not zeroed for non-dynamic construction. GRFIdentifier is sufficient though. 2010-02-27 20:26:42 +00:00
yexo a9c8dbc0a0 (svn r19255) -Codechange: encapsulate GRFIdentifier in GRFConfig instead of subclassing it 2010-02-25 20:05:31 +00:00
yexo 6406b75b8f (svn r19094) -Codechange: don't check for NULL values before calling StrEmpty 2010-02-11 14:58:51 +00:00
rubidium 82fc28f77f (svn r18809) -Codechange/Cleanup: remove unneeded headers from some files, if a header require a header make it include that header 2010-01-15 16:41:15 +00:00
rubidium 1967084bc3 (svn r18746) -Fix [FS#3489]: clear the cached NewGRFs of a server when 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. 2010-01-06 20:49:24 +00:00
rubidium 860b9b1cea (svn r18028) -Codechange: unglobalise some functions 2009-11-09 10:40:33 +00:00
rubidium c2221885f4 (svn r18027) -Codechange: make some unneededly global variables static and remove some unused variables 2009-11-09 09:59:35 +00:00
smatz 6c7f8fc8b4 (svn r17701) -Codechange: don't start line with a space if it's not inside comment 2009-10-04 20:51:50 +00:00
rubidium d6cded5380 (svn r17693) -Cleanup: remove some unneeded includes 2009-10-04 17:16:41 +00:00
rubidium 07d2af338e (svn r17339) -Codechange: move thread related files to their own directory (like done for video, music, sound, etc) 2009-09-01 10:07:22 +00:00
rubidium 7fbc33dae1 (svn r17248) -Fix: add GPL license notice where appropriate 2009-08-21 20:21:05 +00:00
rubidium f8bccce555 (svn r16573) -Fix: [Network] Always send the starting date from the game you're currently playing instead the starting date from the config file. 2009-06-13 12:06:31 +00:00
smatz 10d1ef5447 (svn r16379) -Codechange: remove GetNumTowns(), GetNumIndustries() and GetActiveCompanyCount(), use PoolItem::GetNumItems() instead 2009-05-22 15:23:47 +00:00
smatz d4971a22d0 (svn r16265) -Fix (r16238): wrong format string for debug output 2009-05-10 13:23:23 +00:00
rubidium 951b9e7615 (svn r16238) -Change: improve/clarify some network related debug "error" messages by adding more information to them. Also give some clues on how to fix certain issues (like failing advertising). 2009-05-06 09:52:52 +00:00
rubidium 2663ad302f (svn r16022) -Fix (r15159): sometimes the unregister "query" thread could be delayed so much that the network stuff was already closed and the packet would never reach the master server causing the server to appear online longer than necessary. 2009-04-10 20:18:48 +00:00
rubidium 7d3db3ee91 (svn r16014) -Feature(-ish): allow binding to several IPs; [network]:server_bind_ip doesn't exist anymore. Add the IPs/hostnames to [server_bind_addresses] 2009-04-10 12:56:55 +00:00
rubidium 882e495f5c (svn r15993) -Codechange: clean up/generalise the handling of the server list 2009-04-08 23:41:48 +00:00
rubidium 0f0cc67d62 (svn r15990) -Codechange: provide a thread safe variant of GetAddressAsString. 2009-04-08 21:11:16 +00:00
rubidium e779c56e31 (svn r15989) -Fix (r15987: segfault due to uninitialised sockets. 2009-04-08 21:03:00 +00:00
rubidium 08e37a6f10 (svn r15987) -Fix: make the master socket only listen on the IP the server is bound to. 2009-04-08 19:36:51 +00:00
rubidium 080095ade5 (svn r15984) -Codechange: prepare the UDP receiver to process multiple types of returned server lists. 2009-04-08 17:51:04 +00:00
rubidium 1eb4aa971e (svn r15975) -Codechange: register each of the IPs we have bound to to the masterserver 2009-04-08 00:26:49 +00:00
rubidium 2a6e9288fd (svn r15971) -Codechange: make it possible for UDP socket handlers to bind to multiple sockets. 2009-04-07 20:27:13 +00:00
rubidium 82f8badc07 (svn r15969) -Codechange: make the list of broadcast addresses virtually unlimited. 2009-04-07 19:06:36 +00:00
rubidium 0678cb561d (svn r15961) -Codechange: prepare the 'client' side for receiving 'session keys' from the masterserver so servers can register with multiple IPs as the same server. 2009-04-05 19:43:41 +00:00
rubidium 5386fe1a1c (svn r15932) -Codechange: show ip:port as (fallback) servername instead of only the ip. This way you can clearly see there aren't any duplicates. 2009-04-03 12:54:38 +00:00
rubidium 11723c40b2 (svn r15926) -Codechange: make the broadcast IP list less AF dependent. 2009-04-03 11:02:41 +00:00
rubidium 47602d7b60 (svn r15925) -Codechange: remove _network_server_bind_ip as it's pretty AF dependant. 2009-04-03 10:29:56 +00:00
rubidium 632d74c6b1 (svn r15922) -Codechange: unify the ways to listen on a socket 2009-04-03 01:24:52 +00:00
rubidium c5160c7c8e (svn r15917) -Codechange: remove the latest traces of NetworkAddress::GetIP. 2009-04-02 20:39:30 +00:00
rubidium 1e205e01b8 (svn r15916) -Codechange: let the network game list use NetworkAddress 2009-04-02 20:17:46 +00:00
rubidium c0c6e07081 (svn r15915) -Codechange: let the udp code use NetworkAddress. 2009-04-02 19:21:26 +00:00
rubidium b25a4f8231 (svn r15718) -Cleanup: apply some comment coding style on the rest of the sources too 2009-03-15 00:32:18 +00:00
smatz 0d3f5e6e74 (svn r15299) -Cleanup: remove many redundant includes 2009-01-31 20:16:06 +00:00
rubidium 28a641066e (svn r15163) -Change/Fix: use a non-blocking method to resolve the hostname and connect to game servers. 2009-01-20 11:28:18 +00:00
rubidium 6a3aaef486 (svn r15159) -Fix: move the UDP queries that resolve a hostname into threads 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 03:44:43 +00:00
rubidium 5f3772a42c (svn r15157) -Codechange: wrap the hostname/ip and port into a single structure so we can pass either one of them and not convert an ip to a string and then back again. 2009-01-20 01:32:06 +00:00
rubidium 11da45ee55 (svn r14949) -Cleanup: pointer coding style 2009-01-10 00:31:47 +00:00
rubidium ece37ca2c0 (svn r14731) -Fix: don't initialise UDP multiple times without closing it. 2008-12-23 20:58:03 +00:00
rubidium abc903d625 (svn r14712) -Codechange: split server and client side w.r.t. the storage of network related company information. 2008-12-22 18:40:57 +00:00
skidd13 706dd0f86c (svn r14555) -Codechange: replace ttd_strlcat and ttd_strlcpy with strecat and strecpy where direct conversion is possible 2008-11-02 11:20:15 +00:00
rubidium b650a86e58 (svn r14422) -Codechange: also reflect the changes of r14421 in the filenames. 2008-09-30 20:51:04 +00:00
rubidium 3b798599b6 (svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with. 2008-09-30 20:39:50 +00:00
rubidium c88cb1daa0 (svn r13988) -Codechange: move the to IP resolving functions to a separate file. 2008-08-04 12:56:38 +00:00
rubidium 3a799389eb (svn r13731) -Codechange: make a pool of the array of players. 2008-07-18 16:40:29 +00:00
rubidium 60a6582590 (svn r13713) -Fix: possible crash on creating a network packet. 2008-07-17 11:47:57 +00:00
rubidium 657bbf305e (svn r13433) -Codechange: remove a now useless global variable.
-Fix: MP advertising was not advertising.
2008-06-09 12:17:01 +00:00
rubidium abf2b0efc3 (svn r13369) -Codechange: remove duplication of network configuration settings between NetworkSettings and NetworkGameInfo.
-Fix: failure of changing the server password during games because the password wasn't duplicated properly.
2008-06-03 08:04:35 +00:00
rubidium 2f3b88ef9a (svn r13343) -Codechange: reorder/move variable/functions in the network headers so that nothing from the network directory needs to include basically all network headers. 2008-05-30 18:20:26 +00:00
rubidium c33164831d (svn r13334) -Codechange: move the network settings variables from network/network_internal to settings. 2008-05-29 20:21:28 +00:00
rubidium 923e21129c (svn r13325) -Codechange: split the client-side only settings from the settings stored in the savegame so there is no need to have a duplicate copy of it for new games. 2008-05-29 15:13:28 +00:00
rubidium 8c9cc415e3 (svn r13255) -Codechange: move _opt to _settings. 2008-05-25 22:36:44 +00:00
glx e48a351f8e (svn r13008) -Fix [FS#1997]: silence some MSVC x64 warnings 2008-05-08 13:20:54 +00:00
maedhros 8da41ec62e (svn r12968) -Fix: Don't segfault when adding a server if 0.0.0.0 was entered for the address. 2008-05-06 10:31:50 +00:00
rubidium acafc26426 (svn r12762) -Fix: tabs after the first non-tab character are generally not okay (or lines starting with a space and then tabs). 2008-04-18 04:54:09 +00:00
rubidium e9661fb420 (svn r12574) -Fix: binding to a specific IP could cause OpenTTD to not register properly with the masterserver if one has multiple external interfaces. 2008-04-04 21:09:28 +00:00
rubidium dc87b05e8c (svn r11834) -Codechange: only include settings_type.h if needed. 2008-01-13 14:37:30 +00:00
rubidium ac528411df (svn r11818) -Codechange: split player.h into smaller pieces. 2008-01-12 14:10:35 +00:00
rubidium a3ccdcea36 (svn r11777) -Codechange: split the string header and make do not include it when it's not necessary. 2008-01-07 14:23:25 +00:00
rubidium b9046c97fb (svn r11702) -Codechange: move all date related stuff to date*. 2007-12-26 13:50:40 +00:00
rubidium 2786d789a1 (svn r11701) -Codechange: removal unnecessary inclusions of map.h (and split map.h). 2007-12-26 11:45:43 +00:00
rubidium b3f6c0734b (svn r11694) -Codechange: move more endianness related stuff to endian_func.hpp. 2007-12-25 13:28:09 +00:00
skidd13 eeaa348f8b (svn r11484) -Codechange: Remove the doubled function SetBitT and rename the remaining to fit with the naming style 2007-11-20 13:35:54 +00:00
peter1138 06986b7744 (svn r10736) -Fix: Correct all mispellings of 'successful'. 2007-07-30 13:36:09 +00:00
rubidium fda75ae603 (svn r10694) -Codechange: update the server information in the game list every once in a while so the information stays fairly up-to-date when you are looking through the servers. 2007-07-26 09:53:58 +00:00
rubidium a775cdc03a (svn r10352) -Fix: the network did not request the newgrf names of newgrfs that it couldn't find; it only wanted to request the newgrf names of newgrfs that where available locally and than were called "<Unknown>". 2007-06-27 10:02:55 +00:00
rubidium ce91598e3c (svn r10313) -Fix (r8546): value for password "protected" was sent toggled for UDP packets, i.e. unpassworded companies showed up passworded and vice versa. 2007-06-24 22:18:46 +00:00
rubidium 6402d00190 (svn r10298) -Fix [FS#903]: show the subdirectory below the default data directory in this filename in the newgrf list. The directory was removed in r9560 because then it used to full path instead of the path relative to the data directory, but since the inclusion of "search paths" that is not necessary anymore. 2007-06-23 21:12:09 +00:00
rubidium 2dc5589290 (svn r9673) -Cleanup: remove spaces before tabs and replace non-indenting tabs with spaces. 2007-04-18 22:41:53 +00:00
rubidium db91588845 (svn r9560) -Codechange: add support for multiple 'base' directories for newgrf searching.
-Codechange: do not add duplicate files to the newgrf list.
2007-04-04 12:03:10 +00:00
rubidium 36bb92ae24 (svn r9050) -Codechange: Foo(void) -> Foo() 2007-03-07 11:47:46 +00:00
maedhros 1c7df202c6 (svn r9031) -Codechange: Introduce grfconfig->status, and use it for states that are
mutually exclusive. At the same time, add an INITIALISED state which makes it
possible to check if a grf is not yet active but will be later on during the
GLS_ACTIVATION loading stage.
2007-03-06 19:33:28 +00:00
rubidium 66487d59fd (svn r8949) -Codechange: only test the first NETWORK_REVISION_LENGTH - 1 characters when determining network compatability. This makes it possible to have 'long' branch names while still being able to play network games. 2007-03-01 00:58:09 +00:00
celestar 0ed4b64e64 (svn r8857) -Documentation: Added some doxygen @file tags, repaired others (the @file tag MUST be found before any line of code, that includes preprocessor directives). 2007-02-23 08:37:33 +00:00
rubidium 500f9a971a (svn r8546) -Codechange: add a seperate (wrapper) functions to send/receive booleans. 2007-02-02 23:16:58 +00:00
rubidium 6a820a30d1 (svn r8543) -Codechange: make a real difference between querying the server via UDP and TCP. 2007-02-02 21:04:50 +00:00
rubidium 16ce6def09 (svn r8523) -Codechange: move all the Network(Recv|Send)_(uintXX|string) functions to Packet. 2007-02-01 23:26:44 +00:00
rubidium 99f860e686 (svn r8521) -Codechange: initial step in converting Packet to a class; make and use constructors and functions related to the reading/saving the packet size. 2007-02-01 22:30:35 +00:00
rubidium 5d3ad5601d (svn r8437) -Codechange: move often duplicated (in MSU) define to the udp header. 2007-01-28 13:07:24 +00:00
rubidium 3e10a726e5 (svn r8361) -Codechange: make sure the range of the dates coming from the network are valid in OpenTTD
-Codechange: use_password is a boolean variable
-Codechange: move range checking for server_lang and map_set to Recv_NetworkGameInfo
2007-01-22 21:38:16 +00:00
tron abb644771a (svn r8097) Replace strlen() {==,!=,>} 0 by the more concise {,!}StrEmpty(). Additionally the test takes O(1) instead of O(n) now 2007-01-13 15:00:16 +00:00
rubidium f66b373b52 (svn r8083) -Codechange: make a NetworkSocketHandler as base for all sockets and move a little of NetworkClientState functionality to the NetworkSocketHandler. Move the rest of the NetworkClientState to the new NetworkTCPSocketHandler class/struct, which is not yet implemented in an object oriented manner. The UDP socket handler now extends the NetworkSocketHandler instead of having a reference to a NetworkClientState. 2007-01-12 20:19:49 +00:00
rubidium c48aa5db45 (svn r8078) -Codechange: rewrite UDP part of the network code to make use classes. This is only one of the many steps to really cleanup the network code. 2007-01-12 14:30:01 +00:00
rubidium f35ed4bbc2 (svn r8038) -Merge: the cpp branch. Effort of KUDr, Celestar, glx, Smoovius, stillunknown and pv2b. 2007-01-10 18:56:51 +00:00
KUDr e373ea7096 (svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp) 2007-01-10 18:12:09 +00:00
Renamed from src/network/network_udp.c (Browse further)