Commit Graph

262 Commits

Author SHA1 Message Date
rubidium 2555522eab (svn r19809) -Codechange: make some unnamed network related enums/defines static const variables 2010-05-13 09:04:41 +00:00
rubidium 519c8007c8 (svn r19680) -Fix [FS#3775] (r19648): when joining a MP game all clients with company ID > 0 would be shown as if they were a spectator 2010-04-20 11:29:51 +00:00
smatz cd20724d20 (svn r19651) -Fix [FS#3745]: when a company is sold, move connected clients to spectators 2010-04-17 11:39:46 +00:00
rubidium b907dfdef8 (svn r19648) -Fix [FS#3760]: a client would not be properly moved when moved while joining, e.g. when entering a company's password. This caused the client to be in the wrong company (according to the rest of the clients) and the client being kicked on the first command 2010-04-17 10:52:26 +00:00
smatz 11d6e21c3a (svn r19607) -Codechange: use different packet types instead of packet subtypes 2010-04-11 17:17:12 +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
alberth 33a96b5ef3 (svn r19132) -Codechange: No need to end a line with ;;. 2010-02-14 16:31:35 +00:00
smatz 73ed81b1c7 (svn r19075) -Codechange: unhackify NetworkChangeCompanyPassword() 2010-02-10 15:17:27 +00:00
rubidium ab35d95b5a (svn r19072) -Fix [FS#3599]: possible read/write after free when the client triggered the server to close the connection 2010-02-09 23:49:19 +00:00
rubidium f608ad7baf (svn r18875) -Codechange: remove some unneeded bits from the network protocol and improve the naming of some variables 2010-01-21 11:17:40 +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 4ecb3eb33c (svn r18804) -Codechange: guard against binaries claiming to be compatible with a future (stable) release of OpenTTD. 2010-01-14 23:06:41 +00:00
rubidium ebe99fd493 (svn r18784) -Codechange: make NetworkSend_Command accept a company instead of using _local_company to pass that information, with the whole mess when you don't want the company to be _local_company. 2010-01-11 20:32:32 +00:00
rubidium 6a047d2316 (svn r18782) -Codechange: move the content of callback_table.cpp to network_command.cpp; it's only ever used there. 2010-01-11 20:00:14 +00:00
rubidium b00a5f1069 (svn r18330) -Cleanup: remove some unneeded includes 2009-11-28 20:35:25 +00:00
smatz eb72a0095f (svn r17746) -Codechange: 'operator new' doesn't return NULL, NetworkSend_Init() is useless 2009-10-09 11:03:00 +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
frosch ebd916be3d (svn r17532) -Codechange: Rename several Invalidate functions to SetDirty for more consistency and distinguishability. 2009-09-13 19:15:59 +00:00
rubidium 7fbc33dae1 (svn r17248) -Fix: add GPL license notice where appropriate 2009-08-21 20:21:05 +00:00
rubidium 60a3bc9034 (svn r17247) -Change: move '3rd party' MD5 implementation also to the 3rdparty directory. 2009-08-21 20:15:17 +00:00
rubidium 1fe3ad3288 (svn r17075) -Codechange: rename ~750 strings to be more uniform with their relatives 2009-08-05 17:59:21 +00:00
smatz 35635c6248 (svn r16555) -Feature [FS#570]: ability to enter server and company password via command line when joining a server (based on patch by Progman, Ammler and planetmaker) 2009-06-10 19:00:34 +00:00
smatz 10d1ef5447 (svn r16379) -Codechange: remove GetNumTowns(), GetNumIndustries() and GetActiveCompanyCount(), use PoolItem::GetNumItems() instead 2009-05-22 15:23:47 +00:00
rubidium 9f4d64bda0 (svn r16360) -Codechange: don't use _network_playas as a 'second' _local_company, but only as a storage location for the company you want to join in MP. 2009-05-19 21:20:14 +00:00
smatz 871107f529 (svn r16327) -Codechange: replace IsValidPoolItemID(index) by PoolItem::IsValidID(index) 2009-05-17 01:00:56 +00:00
smatz 6221d74644 (svn r16325) -Codechange: replace GetPoolItem(index) by PoolItem::Get(index) 2009-05-16 23:34:14 +00:00
yexo c8ce3f7ef0 (svn r16175) -Fix: Disable the join button in the multiplayer lobby for AI companies, since joining an AI company is not possible. 2009-04-26 19:48:42 +00:00
rubidium 22d9306889 (svn r15967) -Codechange: do not access NetworkSocketHandler::has_quit directly 2009-04-07 18:23:14 +00:00
rubidium c9ebf14ba5 (svn r15947) -Codechange: replace uint32 client_ip with NetworkAddress client_address. 2009-04-04 00:48:48 +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
yexo 901230bde1 (svn r15575) -Codechange: Rename GameModes to GameMode and store _game_mode as GameMode instead of as byte. 2009-02-25 00:14:46 +00:00
rubidium c0a8d09ca7 (svn r15428) -Codechange: consistently use colour instead of having both color and colour. 2009-02-09 02:57:15 +00:00
rubidium ac7757324e (svn r15338) -Fix [FS#2598]: close all construction related windows whenever changing company. 2009-02-04 16:59:41 +00:00
smatz 0d3f5e6e74 (svn r15299) -Cleanup: remove many redundant includes 2009-01-31 20:16:06 +00:00
rubidium 3d21639d5b (svn r15247) -Change: show a lock near the password/join button in the company window whenever the company is password protected 2009-01-23 23:56:56 +00:00
rubidium 04709f2798 (svn r15242) -Feature: allow moving clients between companies/spectators by the server and the clients themselves (dihedral) 2009-01-23 22:18:06 +00:00
rubidium b1a33a494f (svn r15104) -Codechange: unify the resolving of the xyz kbytes/megabytes strings. 2009-01-16 12:59:47 +00:00
truebrain a3dd7506d3 (svn r15027) -Merge: tomatos and bananas left to be, here is NoAI for all to see.
NoAI is an API (a framework) to build your own AIs in. See:
   http://wiki.openttd.org/wiki/index.php/AI:Main_Page
 With many thanks to:
  - glx and Rubidium for their syncing, feedback and hard work
  - Yexo for his feedback, patches, and AIs which tested the system very deep
  - Morloth for his feedback and patches
  - TJIP for hosting a challenge which kept NoAI on track
  - All AI authors for testing our AI API, and all other people who helped in one way or another
-Remove: all old AIs and their cheats/hacks
2009-01-12 17:11:45 +00:00
rubidium 11da45ee55 (svn r14949) -Cleanup: pointer coding style 2009-01-10 00:31:47 +00:00
rubidium 427e2d30c5 (svn r14915) -Codechange: unify the receiving and sending of commands, and thus unifying most of the validity checking too. 2009-01-08 14:40:18 +00:00
rubidium d4b6cc997d (svn r14910) -Codechange: merge the command queue handling into a single location 2009-01-08 13:57:50 +00:00
rubidium 8d017f0ea1 (svn r14897) -Codechange: don't allow a few command flags to be sent over the network as it's bogus information anyway; e.g. the "do not send over network" flag as it will be set whenever the command is received from the server/client.
-Codechange: test earlier whether the command (send from the server) is actually valid.
2009-01-07 15:27:19 +00:00
smatz 7368c740a6 (svn r14828) -Codechange: move most of save/load-specific code to separate files 2009-01-04 15:32:25 +00:00
rubidium 1ce965ed5f (svn r14770) -Fix: gracefully handle an invalid packet instead of asserting. 2008-12-29 21:33:27 +00:00
rubidium a25e3f8d70 (svn r14764) -Codechange: make the '***' chat messages like "Game paused (not enough players)" fully translateable. 2008-12-29 10:37:53 +00:00
rubidium 87e5a8b52b (svn r14754) -Codechange: get rid of _cmd_text and just pass it as (optional) parameter. 2008-12-28 14:37:19 +00:00
rubidium afddfcb2b1 (svn r14730) -Codechange: remove the need for networkclientsockets and networkclientinfo structs to be in a contiguous piece of memory and put them in a pool.
-Note: 255 should really be enough for now... making it any more means network protocol bumps.
2008-12-23 20:52:27 +00:00
rubidium fb7ccc6820 (svn r14726) -Fix (r14720): making new companies in network kinda failed... 2008-12-23 12:26:19 +00:00
rubidium d501a20065 (svn r14722) -Codechange: s/DEREF_CLIENT/GetNetworkClientSocket/ 2008-12-23 10:42:06 +00:00
rubidium ae96ca635c (svn r14721) -Codechange: s/NetworkTCPSocketHandler/NetworkClientSocket/ as it's (way) more descriptive what it's used for. 2008-12-23 09:47:42 +00:00
rubidium b4734ee9a4 (svn r14719) -Codechange: replace DEREF_CLIENT with an instance function and replace looping socket structs with info structs when the loop is only interested in the info structs (i.e. not derefing the info from sockets when one can loop info directly and the socket isn't used) 2008-12-23 08:39:30 +00:00
rubidium f49cc67f83 (svn r14717) -Change: more 'Index' -> ClientID to not confuse ClientID and ClientIndex 2008-12-22 21:30:21 +00:00
rubidium 573d1b324a (svn r14716) -Codechange: move more network core querying to the network files. 2008-12-22 21:26:26 +00:00
rubidium 5b7cd460e9 (svn r14715) -Codechange: move some network code from the main gui file into one of the the network files. 2008-12-22 21:15:02 +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
rubidium e6e32bad4d (svn r14711) -Codechange: don't misuse the _network_company_info password field for changing the password on clients. 2008-12-22 18:20:28 +00:00
rubidium 887869c771 (svn r14710) -Change: simplify sending company information from the server to the client. 2008-12-22 15:17:14 +00:00
rubidium 782b80eff7 (svn r14709) -Codechange: make a clearer distinction between 'unique' client identification ids and the indices into the clients/client info arrays. 2008-12-22 12:59:31 +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 ea1f180a55 (svn r14199) -Codechange: split fileio.h into fileio_type.h and fileio_func.h so not everything that includes saveload.h needs to include everything else too. 2008-08-31 10:50:05 +00:00
rubidium 3b4c3a3df6 (svn r14045) -Codechange: move the network's limitation to chat messages to a more logical location and give it a more consistent name. 2008-08-11 22:07:26 +00:00
rubidium 7c3fc13087 (svn r13740) -Fix (r13731): one could only join the first company. 2008-07-19 20:24:41 +00:00
rubidium 3a799389eb (svn r13731) -Codechange: make a pool of the array of players. 2008-07-18 16:40:29 +00:00
rubidium d06529ef4d (svn r13719) -Codechange: rename IsValidPlayer to IsValidPlayerID in line with all other structs/classes that are in a pool. 2008-07-17 20:13:01 +00:00
rubidium c913be73d8 (svn r13714) -Fix: remove the unique_id from the message that a client has joined as it is only exposes the unique_id more than needed. Patch by dih. 2008-07-17 12:02:09 +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 4625695653 (svn r13251) -Codechange: rename _patches to _settings as that is more logic.
-Codechange: move all Settings into substructs of _settings in a way that they are logically grouped.
2008-05-25 19:17:03 +00:00
rubidium 5fa0946c08 (svn r13242) -Codechange: remove _opt_ptr. 2008-05-25 12:57:39 +00:00
rubidium 6884f9cb41 (svn r13229) -Codechange: replace some global variables that are only initialised once and always with the same value with enums. 2008-05-24 10:35:15 +00:00
rubidium 6c20f77330 (svn r13228) -Codechange: split console.h. 2008-05-24 10:15:06 +00:00
rubidium d03994098b (svn r12971) -Documentation: add @file in files that missed them and add something more than whitespace as description of files that don't have a description. 2008-05-06 15:11:33 +00:00
rubidium 50516f2372 (svn r12963) -Fix (r12960): loading some NewGRFs could cause an infinite loop. 2008-05-05 22:35:33 +00:00
rubidium 56e1178dca (svn r12960) -Codechange: handle return values of (some) file system related functions. 2008-05-05 21:54:05 +00:00
rubidium f200fc3b99 (svn r12957) -Codechange: do not misuse snprintf when you just want to copy a string, also use DEBUG instead of fprintf in one case. 2008-05-05 18:27:57 +00:00
smatz 297f99e100 (svn r12944) -Codechange: use rev.h instead of externs at many places 2008-05-04 21:53:36 +00:00
rubidium 1b2773445d (svn r12765) -Codechange: move some stuff out of variables.h that required including other headers in variables.h. 2008-04-18 10:16:51 +00:00
rubidium d4e6a6bf57 (svn r11828) -Codechange: include table/* as the last includes and remove an unneeded include from openttd.h. 2008-01-13 01:21:35 +00:00
rubidium ac528411df (svn r11818) -Codechange: split player.h into smaller pieces. 2008-01-12 14:10:35 +00:00
rubidium ed727f9a64 (svn r11816) -Fix: forgot clearing one byte, causing the passwords to differ slightly on different platforms. 2008-01-12 08:34:16 +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
skidd13 7963963d98 (svn r11695) -Codechange: Converted the md5 algorithm to OOP
-Codechange: Adapt the md5 algorithm to the OpenTTD source
2007-12-25 13:59:21 +00:00
rubidium 429521a7d1 (svn r11692) -Codechange: move some functions from 'functions.h' to a more logical place and remove about 50% of the includes of 'functions.h' 2007-12-25 11:26:07 +00:00
rubidium bf98e25e43 (svn r11691) -Codechange: move+rename helpers.hpp and only include it when it is really needed. 2007-12-25 09:48:53 +00:00
rubidium 9e9cfe6e59 (svn r11677) -Codechange: move price and command related types/functions to their respective places. 2007-12-21 21:50:46 +00:00
rubidium 433a9f3c09 (svn r11675) -Codechange: split the string types from the string functions. 2007-12-21 19:49:27 +00:00
rubidium 8896bea306 (svn r11667) -Codechange: split window.h into a header that defines some 'global' window related types, on that defined 'global' window functions and one that defines functions and types only used by *_gui.cpps. 2007-12-19 19:44:29 +00:00
rubidium b5a902703e (svn r11557) -Codechange: send and store the passwords a little more secure to/in the servers.
Each server and game yield a (usually) different 'salt'. This salt is used by the clients to hash their passwords. This way the passwords are not sent in clear text and it is not trivial to use those hashes on other servers.
NOTE: It is still NOT safe to use your trusted passwords and it will not stop people from being able to 'hijack' your password, it only makes it harder to do and certainly much less trivial than just dumping passwords from the memory.
2007-12-02 15:12:19 +00:00
truelight e288b2456f (svn r11357) -Fix: NetworkUniqueID could be 80 chars, while the max size we generate is 32. So reduce the size a bit. Pointed out by dihedral, so give him a big hug ;) 2007-10-30 11:29:01 +00:00
rubidium efc7fdf2fd (svn r10587) -Codechange: move the string/dparam related stuff from variables.h to strings.h 2007-07-16 09:16:58 +00:00
rubidium 872e74c028 (svn r10501) -Fix [FS#1015]: error dialog was sometimes shown on all clients when a command failed instead of only the client that actually did the command. 2007-07-10 20:59:41 +00:00
peter1138 b957786ea4 (svn r10325) -Fix (r10323): Missed 3 company name references 2007-06-25 15:59:37 +00:00
rubidium 347c28b71a (svn r10182) -Codechange: rewrite most part of the file loading/searching to be more flexible.
-Codechange: add support for personal directories on Windows.
-Fix [FS#153, FS#193, FS#502, FS#816, FS#854]: fix issues related to fixed names, fixed places of files/directories and application bundles.
2007-06-17 15:48:57 +00:00
rubidium b469c443e9 (svn r9719) -Fix: in-game private messages did not work for clients with a Client ID > 255. 2007-04-26 07:41:24 +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 36bb92ae24 (svn r9050) -Codechange: Foo(void) -> Foo() 2007-03-07 11:47:46 +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 59f4f056df (svn r8525) -Codechange: make NetworkSend_Packet(s) and NetworkRecv_Packet functions of NetworkTCPSocketHandler. 2007-02-01 23:50:15 +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 86b046864a (svn r8461) -Feature: check for NewGRF compatability before actually downloading the map from a game server when connecting from the command prompt and internal console. 2007-01-30 17:22:56 +00:00
rubidium 96b19ca23e (svn r8167) -Fix (FS#556): a network client crashes, due to a division by zero, when the connection gets lost at the right moment or when the packet is malformed (server sends size 0 for the map). 2007-01-16 22:56:18 +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
KUDr 33be1ecfb1 (svn r8066) - Codechange: MallocT(), CallocT(), ReallocT() now return the pointer to allocated memory instead of modifying the pointer given as parameter 2007-01-11 17:29:39 +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_client.c (Browse further)