summaryrefslogtreecommitdiff
path: root/src/command_func.h
AgeCommit message (Collapse)Author
2021-12-16Codechange: Don't use a global for the 'not enough cash' message.Michael Lutz
2021-12-16Codechange: Add support for additional command result values.Michael Lutz
2021-12-16Codechange: Pass unpacked command arguments to command callbacks (except ↵Michael Lutz
Script).
2021-12-16Codechange: Template the command callback function type to allow unpacked ↵Michael Lutz
arguments.
2021-12-16Codechange: Add DoCommand::Post specialization for commands that take no ↵Michael Lutz
TileIndex. This adds a new Post overloads that still take a TileIndex which is used to place any error windows or text effects.
2021-12-16Codechange: Un-bitstuff commands taking a ClientID (i.e. CMD_CLIENT_ID).Michael Lutz
2021-12-16Codechange: Template DoCommandPInternal.Michael Lutz
2021-12-16Codechange: Pass additional data as byte stream to command callbacks.Michael Lutz
2021-12-16Codechange: Template DoCommandP to automagically reflect the parameters of ↵Michael Lutz
the command proc. When finished, this will allow each command handler to take individually different parameters, obliviating the need for bit-packing.
2021-12-16Codechange: Template DoCommand to automagically reflect the parameters of ↵Michael Lutz
the command proc. When finished, this will allow each command handler to take individually different parameters, obliviating the need for bit-packing.
2021-12-16Codechange: Use wrapper struct to automatically manage command depth tracking.Michael Lutz
2021-12-16Codechange: Use lambdas instead of CommandContainer to manage station picker ↵Michael Lutz
commands.
2021-12-16Change: [Network] Transfer command data as serialized byte stream without ↵Michael Lutz
fixed structure. The data will be transmitted as the length followed by the serialized data. This allows the command data to be different for every command type in the future.
2021-12-16Codechange: Move command callback declarations to the cmd header files.Michael Lutz
2021-12-16Codechange: Let the compile generate the master command table out of ↵Michael Lutz
templated command traits. This is using a non-intrusive type-traits like templated system, which allows compile-time validation that the command table and the command enum match up.
2021-12-16Codechange: Untangle command code, flags and error string for DoCommand*.Michael Lutz
2021-12-16Codechange: Move command arguments to the back of the networked command ↵Michael Lutz
function calls.
2021-12-16Codechange: Move command arguments to the back of the DoCommand function call.Michael Lutz
2021-05-29Codechange: move from C-string to std::string for DoCommandrubidium42
2021-02-20Codechange: rename sound ids to make more sense. (#8701)frosch
2021-01-05Change: move "give money" from client-list to company windowPatric Stout
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: https://github.com/JGRennison/OpenTTD-patches/commit/f82054339124cc6b89c5f4f9dac2d9da62f0108b 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.
2019-11-10Cleanup: Removed SVN headersS. D. Cloudt
2019-04-10Codechange: Use null pointer literal instead of the NULL macroHenry Wilson
2019-03-20Remove: ENABLE_NETWORK switchPatric Stout
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.
2016-05-22(svn r27571) -Codechange: Consistent naming for command callbacks which play ↵frosch
a sound effect.
2012-04-17(svn r24139) -Add: Creating a new vehicle group by drag and drop. (Based on ↵michi_cc
patch by Juanjo)
2011-12-19(svn r23604) -Add: initial support for GameScriptstruebrain
2011-11-29(svn r23361) -Codechange: move multiplayer DoCommand callback code so other ↵truebrain
script users can call their own
2011-11-14(svn r23215) -Codechange: stricter type safety for CommandFlagsrubidium
2011-01-18(svn r21844) -Codechange: move documentation towards the code to make it ↵rubidium
more likely to be updates [a-c].
2010-12-07(svn r21427) -Add: helper function to determine whether a command may be ↵rubidium
executed
2010-11-30(svn r21358) -Codechange: make some network function names conform to coding ↵rubidium
style
2010-04-24(svn r19714) -Feature: ctrl+click on a vehicle to start/stop itsmatz
2010-04-11(svn r19602) -Codechange: add the name of the command to the desync logsrubidium
2010-03-20(svn r19494) -Codechange: Remove _error_message.alberth
2010-03-14(svn r19423) -Codechange: Move error message reporting of industry build in ↵alberth
SE to a callback.
2010-02-24(svn r19227) -Codechange: Reorganization of parameters at CmdBuildRoadStop.terkhen
2010-01-18(svn r18866) -Codechange: remove the CmdFailed(ret)/CmdSucceeded(ret) ↵rubidium
wrapper functions
2010-01-11(svn r18785) -Codechange: rewrite/rework DoCommandP in order to simplify it, ↵rubidium
reduce duplication and remove gotos.
2010-01-11(svn r18784) -Codechange: make NetworkSend_Command accept a company instead ↵rubidium
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(svn r18781) -Codechange: pass the CommandCost to the callback instead of ↵rubidium
whether it succeeded or not. -Fix: AIs did update their last cost incorrectly in network games if the cost of the DC_EXEC phase differed from the ~DC_EXEC phase.
2010-01-11(svn r18779) -Codechange: merge the command callbacks of the primary ↵rubidium
vehicles; they are identical
2009-08-21(svn r17248) -Fix: add GPL license notice where appropriaterubidium
2009-02-09(svn r15434) -Codechange: bit of type safety for the DC_xxx flags.rubidium
2009-01-21(svn r15190) -Feature: Allow terraforming of the tiles at the edges of the map.Yexo
2009-01-12(svn r15014) -Codechange: Add a helper function to get the needed DC_xxx ↵frosch
flags from the result of GetCommandFlags().
2009-01-08(svn r14916) -Codechange: make it possible to send CommandContainers ↵rubidium
directly to DoCommand(P).
2008-12-28(svn r14754) -Codechange: get rid of _cmd_text and just pass it as ↵rubidium
(optional) parameter.
2008-01-13(svn r11839) -Codechange: move some variables from variables.h to a more ↵rubidium
logical location.
2007-12-21(svn r11680) -Codechange: refactor more out of openttd.h and functions.h.rubidium