Commit Graph

351 Commits

Author SHA1 Message Date
rubidium befa79ba4a (svn r22070) -Fix [FS#4503] (r21399): crashes when disconnecting after requesting the map 2011-02-12 21:30:57 +00:00
rubidium a19bc28aba (svn r22069) -Fix: delete all savegame packets, not just the first one 2011-02-12 21:29:35 +00:00
rubidium adfd648031 (svn r22068) -Codechange/Fix: return "connection lost" instead of "okay" when SendPackets closed the connection 2011-02-12 21:09:34 +00:00
rubidium 92d0d6d10b (svn r22067) -Fix: don't hold a mutex when sending packets and thus possibly closing the connection as that wants to acquire the mutex again 2011-02-12 21:07:30 +00:00
rubidium d8cada7563 (svn r22064) -Fix [FS#4497] (r21399): crash when disconnecting and reconnecting while the server is still saving the savegame 2011-02-11 23:20:35 +00:00
rubidium 05a846a574 (svn r22032) -Codechange: add some asserts to verify we don't allocate too many NetworkClientSockets/Infos 2011-02-08 21:47:10 +00:00
rubidium 7eba2bf4d3 (svn r21890) -Cleanup: remove some unneeded includes 2011-01-22 14:52:20 +00:00
rubidium 795a528328 (svn r21854) -Codechange: refactor the password setting methods to make it possible to change the password of other companies (on the server) 2011-01-19 16:47:40 +00:00
rubidium e54a1f6721 (svn r21853) -Codechange: HashCurrentCompanyPassword is only used by servers, so move it to network_server.* (dihedral) 2011-01-19 16:37:06 +00:00
rubidium 7dafd04f4b (svn r21727) -Fix [FS#4377]: admin bots weren't always notified of password changes (dihedral) 2011-01-04 22:28:02 +00:00
smatz 810873ff33 (svn r21704) -Fix [FS#4374]: no need to perform any more checks after the connection is closed (Rubidium) 2011-01-03 18:36:51 +00:00
rubidium b25cf57542 (svn r21701) -Codechange: ConsoleColour = TextColour, so make it that way and remove some unneeded casts 2011-01-03 12:01:41 +00:00
alberth b633ffaa1d (svn r21571) -Codechange: Having a break after a return is no good. 2010-12-21 15:23:54 +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 5f25cdbbd5 (svn r21401) -Fix: ofcourse MSVC x64 has something to complain about... 2010-12-05 15:08:41 +00:00
rubidium 216e48cd07 (svn r21399) -Change/Feature/Fix [FS#4284]: perform the compression of savegames to send to the client asynchroniously. This will reduce the lag of the other clients to the time it takes to make the memory dump and it will speed up downloading the map as the download starts earlier (possibly with a slightly lower bandwidth due to slow compression). This should also fix the lag message people get when the savegame compression takes more than a few seconds. 2010-12-05 14:48:39 +00:00
rubidium 02b3bc57d5 (svn r21398) -Change/Feature-ish: when making a savegame to send to a client, don't write it to disk but create the packets immediately 2010-12-05 14:45:52 +00:00
rubidium 97434f0e06 (svn r21392) -Change: prepare the network protocol for getting the file size later in the download process 2010-12-05 14:34:19 +00:00
rubidium fd752ca2b0 (svn r21363) -Add: support for limiting the amount of (accepted) incoming data 2010-11-30 20:01:26 +00:00
rubidium 31c8ab0ed8 (svn r21361) -Change: make sure the client is listening, or rather receiving, our frames 2010-11-30 14:18:20 +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 c60a850fed (svn r21350) -Fix: some indentation 2010-11-28 22:45:47 +00:00
rubidium 67f74559fc (svn r21334) -Fix [FS#4271]: make (more) sure that the savegame and transferred file are the same file and not different ones 2010-11-26 22:25:02 +00:00
rubidium 6d09f4a3cb (svn r21254) -Change: show a different "lag" message when a client is lagging because of connection trouble or lagging because the client is just slow 2010-11-19 12:33:19 +00:00
rubidium 673b3711b4 (svn r21182) -Fix: possible just-freed memory reads 2010-11-14 12:05:24 +00:00
rubidium 4ea67eff8b (svn r21032) -Codechange: perform some more strict tests on the server side when receiving some packets and don't send some when the clients aren't ready for them 2010-10-24 20:30:53 +00:00
rubidium f24c91c487 (svn r21030) -Codechange: move ClientStatus into the network server socket class 2010-10-24 20:07:32 +00:00
rubidium 2cd67a51ac (svn r21029) -Codechange: split the map downloading packet + 3-state enum into 3 separate packets 2010-10-24 20:03:33 +00:00
rubidium 073b965829 (svn r21024) -Fix: erroneous tab 2010-10-24 15:02:43 +00:00
rubidium af9a6b6b42 (svn r21001) -Fix [FS#4170] (r20936): clients were not always notified of a player leaving the game 2010-10-20 11:58:34 +00:00
rubidium d71f590ed6 (svn r20993) -Codechange: some shuffling of game protocol packet description so they're documented in the "same" place as UDP, content and admin packets (dihedral) 2010-10-18 20:41:53 +00:00
rubidium d9602f4ef9 (svn r20973) -Add: chat sending and receiving support for remote admins (dihedral) 2010-10-17 17:40:18 +00:00
rubidium ae20cb4f3d (svn r20970) -Add: company change notification to remote admins (dihedral) 2010-10-17 17:37:45 +00:00
rubidium fe44944f32 (svn r20969) -Add: client info change notification to remote admins (dihedral) 2010-10-17 17:37:26 +00:00
rubidium b4ce7fad7f (svn r20967) -Add: infrastructure to send information to remote admins at specific intervals (dihedral) 2010-10-17 17:36:23 +00:00
rubidium 234bee0858 (svn r20938) -Codechange: make the code for listening on a socket (more) reusable 2010-10-15 21:56:06 +00:00
rubidium c9cbab14ea (svn r20937) -Codechange: move some variables from client/server to server only 2010-10-15 20:29:59 +00:00
rubidium f712055002 (svn r20936) -Codechange: make server side packet sending methods class methods 2010-10-15 20:25:07 +00:00
rubidium 9858d699a3 (svn r20935) -Codechange: only let the server side use a pool of connected sockets 2010-10-15 19:58:56 +00:00
rubidium bda26d03b5 (svn r20934) -Codechange: move NetworkGetClientName to the server's socket 2010-10-15 19:35:08 +00:00
rubidium 7ba07d9573 (svn r20929) -Codechange: make NetworkCloseClient a class method 2010-10-15 18:42:52 +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
rubidium 8eb07d097e (svn r20923) -Codechange: prepare creating sub-classes of NetworkClientSocket for server and client side 2010-10-15 13:22:00 +00:00
alberth 9f5a96ead2 (svn r20689) -Codechange: Make some global functions used in 1 .cpp file static in that file. 2010-08-29 15:58:43 +00:00
rubidium a4c6d07edc (svn r20553) -Feature: allow rate limiting of incoming commands 2010-08-19 08:59:36 +00:00
rubidium b594990071 (svn r20549) -Codechange: centralise the handling of the incoming commands (from clients and the server) 2010-08-18 22:40:17 +00:00
rubidium e8e22c99fd (svn r20548) -Codechange: rename some variables giving them slightly more meaningful names 2010-08-18 21:30:38 +00:00
rubidium 69fa0b36d3 (svn r20542) -Codechange: generalise the setting of "p2" to the ClientID. 2010-08-18 17:06:45 +00:00
rubidium 1c3d42598e (svn r20510) -Codechange: unify packet queue handling and make insertion O(1) instead of O(n) 2010-08-15 23:44:45 +00:00
alberth ee01ec9136 (svn r20291) -Codechange: Unify break coding style. 2010-08-01 21:19:49 +00:00
frosch 4bd32799f1 (svn r20286) -Codechange: Unify end of doxygen comments. 2010-08-01 19:44:49 +00:00
frosch ed4f806f1d (svn r20283) -Codechange: Unify start of doygen comments. 2010-08-01 19:22:34 +00:00
terkhen 88ca183191 (svn r20239) -Doc: Give a common name to all fall throughs (FALL THROUGH). 2010-07-29 14:26:28 +00:00
alberth be6c058424 (svn r20211) -Codechange: Indented code should have curly braces around it. 2010-07-24 10:14:39 +00:00
rubidium 99a11badaf (svn r19996) -Codechange: Add NetworkVehicleType enum. 2010-06-19 16:37:56 +00:00
smatz 80fd67a314 (svn r19818) -Fix [FS#3784](r16004): kicking clients by IP didn't work 2010-05-13 16:00:50 +00:00
rubidium 2555522eab (svn r19809) -Codechange: make some unnamed network related enums/defines static const variables 2010-05-13 09:04:41 +00:00
rubidium 6fa962b867 (svn r19808) -Codechange: NetworkCalculateLag returned an uint, so keep it that way 2010-05-13 08:59:50 +00:00
rubidium 26af87bbaa (svn r19695) -Fix: leaking a file descriptor 2010-04-22 18:34:45 +00:00
smatz f48f4c8293 (svn r19693) -Codechange: split STATUS_INACTIVE to two states 2010-04-22 17:26:57 +00:00
rubidium df4d8b3bc9 (svn r19678) -Fix (r19607): client status was shown incorrect in the console 2010-04-19 19:50:56 +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 088282bcf8 (svn r19620) -Fix: desync when a command is received and in the queue while a client starts joining, i.e. save the game state. This can happen in two ways: with frame_freq > 1 a command received in a previous frame might not be executed yet or when a command is received in the same frame as the join but before the savegame is made. In both cases the joining client would not get all commands to get in-sync with the server (and the other clients). 2010-04-13 18:55:31 +00:00
smatz 24a60b77ec (svn r19613) -Fix [FS#3755]: possible invalid read when server moves client to spectators before he finishes joining 2010-04-11 22:06:17 +00:00
smatz 7f3844d3aa (svn r19610) -Codechange: rename STATUS_AUTH to STATUS_AUTHORIZED 2010-04-11 17:32:14 +00:00
smatz 13e5058efe (svn r19608) -Fix: do not kick client if he entered password and the password was cleared meanwhile 2010-04-11 17:23:11 +00:00
smatz 11d6e21c3a (svn r19607) -Codechange: use different packet types instead of packet subtypes 2010-04-11 17:17:12 +00:00
rubidium d8baa1342c (svn r19589) -Change: add some more useful information to the desync log and unify the formatting 2010-04-08 21:14:49 +00:00
yexo a9c8dbc0a0 (svn r19255) -Codechange: encapsulate GRFIdentifier in GRFConfig instead of subclassing it 2010-02-25 20:05:31 +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 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
frosch 59f9163e37 (svn r18381) -Codechange: Add RoadVehicle::IsBus() to simplify some stuff. 2009-12-02 17:37:02 +00:00
rubidium b00a5f1069 (svn r18330) -Cleanup: remove some unneeded includes 2009-11-28 20:35:25 +00:00
rubidium b0f18a27fb (svn r18054) -Change/Fix [FS#3310]: make pause on join pause during the whole joining (including download) phase 2009-11-12 20:52:14 +00:00
rubidium 2a1cab4d46 (svn r18052) -Codechange/Fix: make the 'pause' chat message when actually executing the pause command. This to prevent showing paused and especially unpaused to be shown when the state doesn't change. Output now mentions whether pause changes keep the game paused and what reasons for pausing there 'currently' are. 2009-11-12 20:33:30 +00:00
frosch b012a75c47 (svn r17977) -Fix: Busses and trucks are distinguished by cargo class. 2009-11-05 20:26:13 +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 59ec3dc267 (svn r17743) -Fix: (post 0.7) memory leak in server in case handling a packet caused the connection to be closed. Also force-close the connection on invalid packets. 2009-10-07 21:11:56 +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
rubidium 7d24e84a81 (svn r17617) -Codechange: make the server side packet handling be more like the client side's handling, i.e. return the connection status
-Fix: do not do invalid reads when a packet handling function closed a connection
2009-09-22 20:44:14 +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 bd9670ea47 (svn r17467) -Change: show the client id in join messages at the server (patch by dihedral) 2009-09-07 21:28:16 +00:00
rubidium 7fbc33dae1 (svn r17248) -Fix: add GPL license notice where appropriate 2009-08-21 20:21:05 +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 22cf8d8480 (svn r16634) -Codechange: use Company::IsHumanID() instead of IsHumanCompany() 2009-06-23 12:11:35 +00:00
rubidium 9b156c1bd4 (svn r16601) -Fix [FS#2880]: try 2... hopefully better this time 2009-06-19 20:26:18 +00:00
rubidium a497e3ff4a (svn r16592) -Fix [FS#2880]: 'connection lost' was also shown when the client was 'leaving'. 2009-06-18 15:05:45 +00:00
smatz bea3fe2b8b (svn r16559) -Codechange: introduce Company::IsValidAiID() and Company::IsValidHumanID(), don't use IsHumanCompany() where possible 2009-06-10 22:05:01 +00:00
alberth bab70a823d (svn r16491) -Codechange: Added parentheses around bitwise operators for code style. 2009-06-01 11:43:36 +00:00
rubidium bacbafe510 (svn r16437) -Codechange: remove the hack that for CMD_COMPANY_CTRL the company was changed from spectator to company 0 in the network code. 2009-05-26 21:25:24 +00:00
rubidium 168ae6f7e2 (svn r16422) -Codechange: use const_cast for removing const and warn when const is (accidentally?) removed using C-style casts. 2009-05-24 21:09:00 +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 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
rubidium 2664f2a2d9 (svn r16242) -Codechange: rework pausing
-Fix [FS#2864]: autopause and manual pausing conflict with eachother
-Fix: new game + pause on new game + autopause make the game not unpause on the first join
2009-05-06 15:06:57 +00:00
yexo 52b95bdc96 (svn r16176) -Fix: forbid joining AI companies via the 'move' and 'join' console commands. 2009-04-26 20:01: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 89d0eca6b7 (svn r15931) -Codechange: let the host and ban lists use of SmallVector. 2009-04-03 12:49:58 +00:00
peter1138 28d3123dfd (svn r15848) -Feature: Add autoclean_novehicles setting which will, when autoclean_companies is true, remove any company with no vehicles and no active client after autoclean_novehciles-months. 2009-03-25 16:30:33 +00:00
rubidium ee4a660b0c (svn r15773) -Fix [FS#2475]: number of active clients wasn't always properly 2009-03-19 23:32:39 +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 f3ed8268b6 (svn r15628) -Fix [FS#2705]: kicking/banning a client from the Client list window crashed the server 2009-03-06 12:42:01 +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 d7a053578d (svn r15395) -Fix [FS#2611] (r15377): one couldn't reset companies anymore in a 'dedicated' server. 2009-02-07 12:02:13 +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 f2777cd02d (svn r15200) -Feature: give server admins a tool to combat profanity in nick names (based on patch by dihedral) 2009-01-21 23:07:11 +00:00
rubidium fc696a7e29 (svn r15052) -Codechange: move the implementation of Send_CompanyInformation to network_server.cpp as the server's the one that sends that information 2009-01-13 11:46:29 +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 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 4a1f4144eb (svn r14733) -Fix (r14730): creating new companies didn't always work as expected. 2008-12-24 00:03:47 +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 bc8984a9bb (svn r14727) -Codechange: replace some magic numbers with a constant. 2008-12-23 15:23:31 +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 d95a485108 (svn r14720) -Codechange: s/FOR_ALL_CLIENTS/FOR_ALL_CLIENT_SOCKETS/ as the latter describes the name more precisely. 2008-12-23 09:02:41 +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 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 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
smatz f23dabb149 (svn r14564) -Fix (r14555): one more incorrect use of lastof() 2008-11-04 18:20:41 +00:00
smatz 7dd0b0dc07 (svn r14560) -Fix [FS#2396](r14555): lengthof() can't be simply replaced by lastof() in some cases (part by Aali) 2008-11-03 12:03:00 +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 14a747e490 (svn r13776) -Fix: some revision checking code was unintentionally disabled. 2008-07-21 18:49:50 +00:00
glx 317868261a (svn r13775) -Codechange: enforce the validity of a NetworkAction (chat packet) issued by a client 2008-07-21 15:50:55 +00:00
rubidium aafd8393cc (svn r13773) -Codechange: disable autoclean for protected/unprotected companies when the timeout is set to 0. Based on an idea by Thomas. 2008-07-21 13:05:43 +00:00
rubidium c4467aa8fb (svn r13739) -Fix (r13731): some variables would be erroneously zeroed, causing autoclean and company passwords not to work. 2008-07-19 20:23:51 +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 39beec190b (svn r13716) -Fix [FS#2144]: any player could construct new companies. 2008-07-17 15:14:42 +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 d083afea90 (svn r13408) -Codechange: some stricter checking. 2008-06-08 08:44:19 +00:00
glx ee256e770a (svn r13390) -Codechange: introduce usererror() for fatal but not openttd related errors. Now all error() will 'crash' openttd after showing the message in win32 releases (MSVC), creating a crash.log and crash.dmp (like the '!' hack used before). On the other hand, usererror() will just close the game. So use error() only when it can be helpful to debugging, else use usererror(). 2008-06-05 20:54:52 +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 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 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 2edd403656 (svn r12489) -Codechange: split station.h into station_base.h and station_func.h. 2008-03-31 00:06:17 +00:00
glx 600046f3d7 (svn r11920) -Fix (r11844): train count was incorrect in network lobby window (and 'players' command) 2008-01-18 21:25:18 +00:00
glx 7d2d4314ec (svn r11844) -Fix: road vehicle count was incorrect in network lobby window 2008-01-13 22:27:06 +00:00
rubidium dc87b05e8c (svn r11834) -Codechange: only include settings_type.h if needed. 2008-01-13 14:37:30 +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 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 384503e7d3 (svn r11706) -Codechange: split vehicle.h and remove another bunch of useless includes. 2007-12-27 13:35:39 +00:00
rubidium b9046c97fb (svn r11702) -Codechange: move all date related stuff to date*. 2007-12-26 13:50:40 +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 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
skidd13 71c4325c50 (svn r11481) -Codechange: Rename the HASBIT function to fit with the naming style 2007-11-19 21:02:30 +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 9833639b00 (svn r11006) -Fix: spectators are not allowed to issue commands. Issue spotted by SmatZ. 2007-08-30 19:20:15 +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
rubidium 95d2abf81d (svn r10414) -Fix: the network protocol check for required newgrfs sent static newgrfs too. 2007-07-03 16:14:29 +00:00
peter1138 b957786ea4 (svn r10325) -Fix (r10323): Missed 3 company name references 2007-06-25 15:59:37 +00:00
rubidium 7a72dcb3b5 (svn r10207) -Codechange: remove the redundant player_money in favour of the money64, which is now renamed to player_money. 2007-06-18 21:00:14 +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 02146b13c8 (svn r10075) -Fix [FS#844]: small memory leak on some early returns. 2007-06-09 04:01:40 +00:00
rubidium 23492f1f34 (svn r9841) -Codechange: add a little more type strictness to the vehicle types. 2007-05-15 11:28:22 +00:00
peter1138 b02623901a (svn r9727) -Fix (r8546): Company password field in network player info was inverted. 2007-04-27 20:50:49 +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 ce919e8c71 (svn r9068) -Codechange: capitalize the VEH_Train etc. enums to match the coding style (and rest of the code). 2007-03-08 16:27:54 +00:00
rubidium c89379f7eb (svn r9061) -Fix [r9038, FS#668]: passwords are send when the server is in the 'authorizing' state, not 'inactive'. 2007-03-08 09:46:44 +00:00
rubidium 36bb92ae24 (svn r9050) -Codechange: Foo(void) -> Foo() 2007-03-07 11:47:46 +00:00
rubidium a2b5b74b83 (svn r9038) -Fix [FS#115]: inactive connections are not automatically kicked, i.e. people who only open a telnet (or similar) connection to a server. 2007-03-06 22:00:42 +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
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
Darkvater 50ca901b40 (svn r8428) -Codechange: Add proper names to aircraft subtypes instead of magic numbers and add a function IsNormalAircraft() which tells us whether the aircraft is in fact some flying device or a rotor/shadow. 2007-01-27 12:29:55 +00:00
rubidium 0bd6622c2e (svn r8171) -Fix (FS#556): return SL_ERROR when unthreaded saves failed, to make sure we do not try to send zero-byte savegames. 2007-01-17 00:01:55 +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
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