Commit Graph

212 Commits

Author SHA1 Message Date
skidd13
c0a2c0c23e (svn r11481) -Codechange: Rename the HASBIT function to fit with the naming style 2007-11-19 21:02:30 +00:00
skidd13
7a4d96f629 (svn r11480) -Codechange: Rename the function ALIGN fitting to the naming style
This fixes also FS#1450
2007-11-19 20:40:14 +00:00
skidd13
98f66552be (svn r11475) -Codechange: rename clamp and clampu to Clamp and ClampU to fit with the coding style 2007-11-19 18:38:10 +00:00
belugas
e2c0f1faf7 (svn r11374) -Codechange: Give meaning to the magical number that specifies the color of the text in a DrawString call.
Patch heavily based on BiBB's work (FS#1383)
2007-11-04 00:08:57 +00:00
truelight
9cf6fe8bca (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
6f75794b0f (svn r11290) -Fix: obiwan in the assertion that checked for overflows when writing a packet, causing still correctly sized packets to cause assertions. 2007-10-18 17:44:59 +00:00
rubidium
7350b88bf2 (svn r11188) -Codechange: rewrite of the town action related code (remove some of the magic).
-Feature: possibility to disable exclusive rights and giving money. Both by skidd13.
2007-09-30 17:38:42 +00:00
rubidium
e9924421bf (svn r11089) -Codechange: add revision detection to MSVC. 2007-09-12 07:11:48 +00:00
rubidium
d4290086e8 (svn r11006) -Fix: spectators are not allowed to issue commands. Issue spotted by SmatZ. 2007-08-30 19:20:15 +00:00
rubidium
4ef6e75609 (svn r10932) -Codechange: replace "text" with "chat" for the chat related function and variables. 2007-08-19 09:38:30 +00:00
rubidium
fe16c97a19 (svn r10888) -Fix (r10886): 64 bits alignment made a struct too big. 2007-08-14 12:13:12 +00:00
rubidium
15ee365b10 (svn r10886) -Codechange: modify the "start network server" GUI so it can actually handle more than 10 clients/companies/spectators in a nice way, i.e. without making a combobox with 100 players and add 90 new strings to be able to do so. 2007-08-14 10:46:38 +00:00
peter1138
61f94c2d5e (svn r10736) -Fix: Correct all mispellings of 'successful'. 2007-07-30 13:36:09 +00:00
rubidium
364d42f2cd (svn r10729) -Fix: some hardware (PS(P|3)) seems to loose the non-blocking state of UDP sockets. 2007-07-29 22:21:26 +00:00
rubidium
000b582423 (svn r10726) -Codechange: make it possible that the chat window is less than 640 pixels. 2007-07-29 19:19:30 +00:00
rubidium
8fef079cbc (svn r10706) -Codechange: allow resizing the multiplayer server list window. 2007-07-27 19:57:52 +00:00
rubidium
13ab17bca8 (svn r10704) -Codechange: provide an infrastructure to have resizable windows that are smaller than the default window size. 2007-07-27 12:49:04 +00:00
rubidium
6806635971 (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
7fe3635cdb (svn r10684) -Codechange: some more coding style related changes. Primarily moving { to a new line. 2007-07-25 00:16:30 +00:00
rubidium
df009178d4 (svn r10587) -Codechange: move the string/dparam related stuff from variables.h to strings.h 2007-07-16 09:16:58 +00:00
rubidium
3ba01bec84 (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
5ef18e693c (svn r10500) -Fix [FS#1007]: cannot navigate using arrow keys in the game name text box. Patch by benc. 2007-07-10 20:58:07 +00:00
rubidium
b1ab5f3e1c (svn r10498) -Fix [FS#1008]: remove inconsistency between a warning and the actual behaviour. 2007-07-10 07:46:58 +00:00
rubidium
db5c9fc9a0 (svn r10462) -Add: a command dumper/loader that could be enabled compile-time and server side only to aid debugging some desyncs, i.e. dump the stream of commands so it could be replayed in exactly the same way later. This should primarily be used to make desyncs more easily reproducable, so it can be properly debugged. 2007-07-07 10:06:10 +00:00
rubidium
f7151d44b7 (svn r10414) -Fix: the network protocol check for required newgrfs sent static newgrfs too. 2007-07-03 16:14:29 +00:00
rubidium
daafda6f62 (svn r10365) -Fix: compiling without png and networking support under MSVC. 2007-06-27 22:26:27 +00:00
rubidium
f603383eb9 (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
peter1138
3154374e19 (svn r10325) -Fix (r10323): Missed 3 company name references 2007-06-25 15:59:37 +00:00
rubidium
e0a9a7d388 (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
627aa240ba (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
truelight
292a75a5ec (svn r10293) -Add [FS#885]: a sticky button for the client list window (oxygene) 2007-06-23 14:13:05 +00:00
rubidium
d0fa4eb9de (svn r10258) -Codechange: as we are now using int64 all over the place, it's better to use int64 variables in the string generating too instead of packing them into two int32s.
-Fix: some displays of money were wrong.
2007-06-21 17:25:17 +00:00
rubidium
1b27095c83 (svn r10247) -Fix (r10210): *always* call SetDParamMoney when you want to place money in some string. 2007-06-21 14:54:51 +00:00
rubidium
0d8e82b7d7 (svn r10246) -Fix (r10297): some forgotten money conversions and truncation issues. Thanks to benc for providing the patch. 2007-06-21 14:32:27 +00:00
glx
623a848cca (svn r10211) -Feature: [NewGRF] Add support for action 0F 2007-06-18 23:00:55 +00:00
rubidium
7dda2d93da (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
3c7a85fe94 (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
b50f694a85 (svn r10082) -Fix [FS#846]: another memory leak in the networking code (benc). 2007-06-10 19:59:08 +00:00
rubidium
469e7cb991 (svn r10075) -Fix [FS#844]: small memory leak on some early returns. 2007-06-09 04:01:40 +00:00
glx
a81fd98057 (svn r10037) -Fix (r10035, r10036): silence some 'may be used uninitialized' warnings 2007-06-04 20:06:54 +00:00
glx
a5e5757656 (svn r10035) -Change: simplified network language string sorting 2007-06-04 19:49:00 +00:00
glx
a816369802 (svn r10032) -Add: sort the strings in server language dropdown 2007-06-04 16:07:22 +00:00
glx
9113b5721a (svn r10017) -Add (FS#790): more languages flags for servers 2007-06-01 23:06:01 +00:00
rubidium
08be68e0b4 (svn r9841) -Codechange: add a little more type strictness to the vehicle types. 2007-05-15 11:28:22 +00:00
peter1138
87b731ead5 (svn r9727) -Fix (r8546): Company password field in network player info was inverted. 2007-04-27 20:50:49 +00:00
rubidium
98e59a5add (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
glx
bbc9a67f6f (svn r9716) -Add: server_lang in [network] section of openttd.cfg, so dedicated servers can have the little lang flag. 2007-04-25 17:40:06 +00:00
rubidium
2ce514284c (svn r9673) -Cleanup: remove spaces before tabs and replace non-indenting tabs with spaces. 2007-04-18 22:41:53 +00:00
rubidium
7577954ced (svn r9672) -Cleanup: lots of coding style fixes around operands. 2007-04-18 22:10:36 +00:00
rubidium
1c1a4bc872 (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
d99a269493 (svn r9378) -Fix [FS#688] (r9038): cancel in password queries reduces amount of players in the network game when they haven't joined the game yet. 2007-03-20 20:11:17 +00:00
rubidium
36cea84b11 (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
283fca3ee7 (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
979ccd45ba (svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {}; 2007-03-07 12:11:48 +00:00
rubidium
4169bfba06 (svn r9050) -Codechange: Foo(void) -> Foo() 2007-03-07 11:47:46 +00:00
rubidium
4b75a29766 (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
maedhros
b838a90657 (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
celestar
7d08af73f0 (svn r9016) [SunOS] -Fix: Don't use a struct-member that doesn't exist.
-Documentation: Updated readme.txt for SunOS 5.10 (aka Solaris 10)
Note: With this commit, building and running on Solaris 10 works, thus
we officially support this OS now :)
2007-03-05 09:35:45 +00:00
rubidium
3e9cc1a651 (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
dfa3c0aae1 (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
truelight
c8c9c0c831 (svn r8674) [PSP] -Add: added network code for PSP, based on the work of Turulo
-Add: added general header-inclusing for PSP
2007-02-11 13:57:35 +00:00
rubidium
9d545a69c5 (svn r8673) -Codechange: use SetNonBlocking instead of implementing yet another version. 2007-02-11 13:39:23 +00:00
truelight
bc5d3ef3b0 (svn r8631) -Add: added parameter -l ip[:port] to ./openttd, which redirects DEBUG() to a remote connection over TCP
For example, launch on 192.168.0.1 with, say, netcat a listener: netcat -l -p 3982
  Launch OpenTTD on a remote host (say, PSP): ./openttd -l 192.168.0.1 -d9
  And you get all debug information on 192.168.0.1. Very useful for debugging Portable systems.
2007-02-08 12:27:53 +00:00
rubidium
2f249e650b (svn r8546) -Codechange: add a seperate (wrapper) functions to send/receive booleans. 2007-02-02 23:16:58 +00:00
rubidium
e50cc1ae49 (svn r8544) -Codechange: move game list related function/struct declarations to network_gamelist.h 2007-02-02 21:32:58 +00:00
rubidium
fe996cb13d (svn r8543) -Codechange: make a real difference between querying the server via UDP and TCP. 2007-02-02 21:04:50 +00:00
rubidium
6fd39ebb7c (svn r8542) -Codechange (Fix?): tweak the gamelist requery timeout so more servers are found for slow network connections. 2007-02-02 20:57:03 +00:00
rubidium
922a623402 (svn r8525) -Codechange: make NetworkSend_Packet(s) and NetworkRecv_Packet functions of NetworkTCPSocketHandler. 2007-02-01 23:50:15 +00:00
rubidium
105cd53868 (svn r8523) -Codechange: move all the Network(Recv|Send)_(uintXX|string) functions to Packet. 2007-02-01 23:26:44 +00:00
rubidium
51c2af6e5e (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
752ca4ebf7 (svn r8520) -Fix/Feature: requery gameservers that did not respond to their first query. 2007-02-01 21:04:40 +00:00
rubidium
2a9851a3ad (svn r8511) -Codechange: make WindowClass an enumerated value. 2007-02-01 15:49:12 +00:00
KUDr
02f17406b1 (svn r8479) -Fix (r8459): Silenced VC warning C4099: 'Packet' : type name first seen using 'class' now seen using 'struct'
-Codechange: 'typedef struct Packet' changed to 'struct Packet'
2007-01-31 09:51:22 +00:00
rubidium
6787514d62 (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
cd6a826ecf (svn r8459) -Codechange: move (Send|Recv)GRFIdentifier to NetworkSocketHandler, so it can also be used the TCP socket handler. 2007-01-30 17:12:46 +00:00
rubidium
f78d463f07 (svn r8446) -Fix (8445): accidentally made a function that should not be abstract abstract. 2007-01-28 20:54:30 +00:00
rubidium
66f46b71a1 (svn r8445) -Cleanup: remove some @params from comments as the parameters did not exist anymore and add comments to several variables/functions. 2007-01-28 20:47:25 +00:00
rubidium
3e6bd9c2e9 (svn r8437) -Codechange: move often duplicated (in MSU) define to the udp header. 2007-01-28 13:07:24 +00:00
Darkvater
2ff4492abc (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
truelight
ef37b30674 (svn r8411) [MorphOS] -Fix: tons of unneeded warnings in networking code, because MorphOS wants UBYTE arrays and we use char arrays. Solution is a bit hackish. 2007-01-26 08:27:59 +00:00
rubidium
89865658b1 (svn r8372) -Fix (8361): NUM_LANDSCAPE comes (via some detour) from openttd.h, which does not exist in the masterserver/updater. 2007-01-23 14:47:38 +00:00
rubidium
daeadd9a0e (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
rubidium
a93eb4b8d8 (svn r8316) -Codechange: move the GRF ID and MD5 checksum from GRFConfig to GRFIdentifier so it can be reused. 2007-01-21 17:29:38 +00:00
rubidium
e3b79e5ecc (svn r8198) -Codechange: two global variables are not needed when network is disabled. 2007-01-17 19:55:18 +00:00
rubidium
3ce83d41fa (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
Darkvater
4b3cbf1a14 (svn r8168) -Regression (r6783): ParseConnectionstring didn't use the port parameter if a player was also specified. (both IP#Player:Port and IP:Port#Player btw) 2007-01-16 23:01:06 +00:00
rubidium
5696dfef94 (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
peter1138
13da8502c0 (svn r8129) -Codechange: Change data tables to use split off palette map. And
include a file missed last time...
2007-01-14 19:59:25 +00:00
rubidium
17208a97a9 (svn r8118) -Codechange: change the ordering of the network list a little:
- servers we have information about go above servers we do not have information about.
  - servers that are version compatible go above servers we are not version compatible with.
  - servers we have all required NewGRFs for go above servers we miss NewGRFs for.
  - unpassworded servers go above passworded servers.
2007-01-14 16:44:52 +00:00
tron
e043c6cef7 (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
98e462e564 (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
cf01dc9b16 (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
KUDr
28e969924b (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
a7d0cdf95f (svn r8038) -Merge: the cpp branch. Effort of KUDr, Celestar, glx, Smoovius, stillunknown and pv2b. 2007-01-10 18:56:51 +00:00
KUDr
07c30785ab (svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp) 2007-01-10 18:12:09 +00:00
rubidium
13c922d8e4 (svn r8000) -Codechange: drop UDP packets when their internal size does not match the received size. If that is the case, the packet was not received in one piece (or got somehow mangled with another packet), which will cause us to drop the packet later on because we are (for example) trying to read beyond the end of the packet. 2007-01-09 14:48:21 +00:00
Darkvater
35ea3335ce (svn r7984) -Fix: out-of-bounds read access on _clients array (Quark) 2007-01-08 19:18:53 +00:00
rubidium
acdeae8cc8 (svn r7932) -Fix (r7931): committed a few files too much :( (the ones I used to test the new masterserver) 2007-01-06 23:00:21 +00:00
rubidium
2a596e09f1 (svn r7931) -Fix (r7759): multiple (different) -O flags made compilations with the wrong optimisations. 2007-01-06 22:58:01 +00:00
rubidium
3f3af614a4 (svn r7888) -Change: add documentation about the 'on-the-wire' structure of the network game information request and reply packets. 2007-01-05 21:33:58 +00:00
truelight
82efaa7469 (svn r7882) -Fix: OS2 is defined as UNIX too, but not for networking 2007-01-05 18:03:30 +00:00
rubidium
5e4c157282 (svn r7847) -Codechange: use NetworkUDPClose instead of calling closesocket directly. 2007-01-05 01:23:03 +00:00
rubidium
e534f747b5 (svn r7836) -Codechange: some constness for network/core. 2007-01-04 21:48:52 +00:00
rubidium
2a2020c34c (svn r7834) -Codechange: cleanup the includes of network/core a little; include headers in headers when the header needs types/constants defined in them. 2007-01-04 21:21:14 +00:00
rubidium
35b7e0a1b8 (svn r7833) -Fix (r7829): forgot to add debug.h to the includes. 2007-01-04 20:33:50 +00:00
rubidium
5e276359a4 (svn r7830) -Codechange: let NetworkCoreInitialize return a bool, so we have to set _network_available only once. 2007-01-04 19:12:45 +00:00
rubidium
b722317116 (svn r7829) -Codechange: move the network (core) initialization/shutdown functions into network/core, so the can be reused in the masterserver_updater. 2007-01-04 18:50:40 +00:00
rubidium
72b2b15cbd (svn r7825) -Codechange: make NetworkUDPClose close a single UDP socket. Use NetworkUDPStop to close all opened udp sockets (those were called NetworkUDPClose). 2007-01-04 18:10:40 +00:00
rubidium
81235fc16b (svn r7821) -Fix: be more strict about the socket from where packets arrive. Do not accept requests about the game server on the master/client socket, do not accept master server acks on the client/server socket, etc. 2007-01-04 15:42:09 +00:00
rubidium
525118c7b3 (svn r7818) -Fix (r7751): wrote some data to the wrong network packet. 2007-01-04 02:18:04 +00:00
bjarni
9db571c6db (svn r7767) -Fix r7751: [OSX] nameclash in includes. ALIGN was defined in both a library and macros.h
we undefines the library one since we don't need that one anyway
2007-01-02 21:27:28 +00:00
rubidium
013df98f79 (svn r7759) -Merge: makefile rewrite. This merge features:
- A proper ./configure, so everything needs to be configured only once, not for every make.
 - Usage of makedepend when available. This greatly reduces the time needed for generating the dependencies.
 - A generator for all project files. There is a single file with sources, which is used to generate Makefiles and the project files for MSVC.
 - Proper support for OSX universal binaries.
 - Object files for non-MSVC compiles are also placed in separate directories, making is faster to switch between debug and release compiles and it does not touch the directory with the source files.
 - Functionality to make a bundle of all needed files for for example a nightly or distribution of a binary with all needed GRFs and language files.

Note: as this merge moves almost all files, it is recommended to make a backup of your working copy before updating your working copy.
2007-01-02 19:19:48 +00:00