Commit Graph

58 Commits

Author SHA1 Message Date
Michael Lutz 123c7f99c3 Codechange: Move command callback declarations to the cmd header files. 2021-12-16 22:28:32 +01:00
Michael Lutz a38bbefe1b Codechange: Untangle command code, flags and error string for DoCommand*. 2021-12-16 22:28:32 +01:00
Michael Lutz 549caca39c Codechange: Move command arguments to the back of the networked command function calls. 2021-12-16 22:28:32 +01:00
Rubidium f904aef176 Cleanup: use nullptr instead of 0 or NULL 2021-06-17 16:18:30 +02:00
rubidium42 55a11710a6 Codechange: convert printf DEBUG statements to fmt Debug statements 2021-06-13 12:45:45 +02:00
rubidium42 ef991b1772 Codechange: [Network] Use std::string in CommandPacket 2021-05-29 19:02:18 +02:00
rubidium42 2e136285e1 Codechange: move from C-string to std::string for DoCommand 2021-05-29 19:02:18 +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
frosch d9b4413bc9
Codechange: rename sound ids to make more sense. (#8701) 2021-02-20 19:01:04 +01:00
glx22 6b8ad5a9b1 Change: Apply some consistency to singleplayer related comments 2021-01-22 22:19:55 +01:00
Patric Stout 62cdadb582 Change: move "give money" from client-list to company window
This is a much better location for this button, as you send
money from one company to another company, not from player
to player.

This is based on work done by JGRPP in:
f820543391
and surrounding commits, which took the work from estys:
https://www.tt-forums.net/viewtopic.php?p=1183311#p1183311

We did modify it to fix several bugs and clean up the code while
here anyway.

The callback was removed, as it meant a modified client could
prevent anyone from seeing money was transfered. The message
is now generated in the command itself, making that impossible.
2021-01-05 21:56:24 +01:00
glx 41232f18c1 Codechange: Replace network related FOR_ALL with range-based for loops 2019-12-21 20:13:03 +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
frosch 9aa33862a7 (svn r27571) -Codechange: Consistent naming for command callbacks which play a sound effect. 2016-05-22 10:07:48 +00: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 7adc453473 (svn r25770) -Fix [Admin]: the frame of a command packet wasn't set for the packets that were sent via de admin interface 2013-09-14 11:34:09 +00:00
michi_cc 37e321044a (svn r24139) -Add: Creating a new vehicle group by drag and drop. (Based on patch by Juanjo) 2012-04-17 19:44:16 +00:00
rubidium b888027ddd (svn r23843) -Fix: minor issue with replaying ;) 2012-01-22 21:27:15 +00:00
rubidium ede8c86f77 (svn r23821) -Fix-ish: when replaying a command log, ignore the command limit 2012-01-17 21:12:19 +00:00
truebrain 12aa5b6a58 (svn r23604) -Add: initial support for GameScripts 2011-12-19 20:50:54 +00:00
truebrain 5cda1d7c90 (svn r23603) -Add: support for control commands in strings, in both network and safe/load (Rubidium) 2011-12-19 20:50:44 +00:00
truebrain cc12942d70 (svn r23384) -Remove: no longer allow a binary to be without AI support; the parts some compilers failed at, are integrated in other parts of the code now too 2011-12-01 12:03:34 +00:00
rubidium 4836a6e50e (svn r22845) -Fix [FS#4745]: perform stricter checks on some commands (monoid) 2011-08-26 16:39:02 +00:00
rubidium 4d5dbf5170 (svn r22410) -Document: some more bits ;) 2011-05-02 16:14:23 +00:00
frosch 77fa68c1da (svn r22123) -Fix [FS#4522]: CommandQueue::Pop() did not update 'last'; popping the last item caused the queue to disconnect unless there was only one item. 2011-02-20 21:00:24 +00:00
rubidium d594a219c6 (svn r22121) -Fix: In case of high frame_freq one could get commands executed after a new network game was started 2011-02-20 20:55:21 +00:00
rubidium 7eba2bf4d3 (svn r21890) -Cleanup: remove some unneeded includes 2011-01-22 14:52:20 +00:00
rubidium 6546561360 (svn r21668) -Feature: command logging using the admin interface (dihedral) 2010-12-30 18:14:37 +00:00
rubidium 0c23b0b3a4 (svn r21429) -Fix [FS#3771]: the server didn't check for the paused state when allowing to execute commands 2010-12-07 21:12:23 +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 f24c91c487 (svn r21030) -Codechange: move ClientStatus into the network server socket class 2010-10-24 20:07:32 +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 515edee17c (svn r20925) -Codechange: make the client send commands have a slightly more sensible name 2010-10-15 14:29:13 +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 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 7aabb887d4 (svn r20269) -Codechange: Use IsLocalCompany() everywhere, document the function and two company globals. 2010-07-31 21:43:07 +00:00
rubidium ed35d62e70 (svn r20035) -Fix [FS#3909]: under some circumstances you could get into an infinite loop 2010-06-29 21:15:40 +00:00
frosch 9e53f1e004 (svn r19933) -Fix [FS#3804]: Keep _current_company and _local_company in sync during GUI operation. 2010-06-05 13:32:42 +00:00
smatz e3c89df398 (svn r19714) -Feature: ctrl+click on a vehicle to start/stop it 2010-04-24 20:55:51 +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
alberth db1c6b7a81 (svn r19423) -Codechange: Move error message reporting of industry build in SE to a callback. 2010-03-14 19:59:45 +00:00
terkhen 524a10b375 (svn r19227) -Codechange: Reorganization of parameters at CmdBuildRoadStop. 2010-02-24 21:45:23 +00:00
rubidium 21bd2722cd (svn r19081) -Codechange: make it possible to disable compilation of the AI+Squirrel 2010-02-10 16:24:05 +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 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