Mercurial > hg > openttd
annotate src/command.cpp @ 10607:e3b26a6536ae draft
(svn r14896) -Codechange: remove an unused constant and the related dead code.
author | rubidium <rubidium@openttd.org> |
---|---|
date | Wed, 07 Jan 2009 14:58:43 +0000 |
parents | 4b69f32abb9d |
children | b2e3a8e44c6f |
rev | line source |
---|---|
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1 /* $Id$ */ |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
2 |
9111
d48433370037
(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.
rubidium <rubidium@openttd.org>
parents:
9061
diff
changeset
|
3 /** @file command.cpp Handling of commands. */ |
6123
595dc16a6fd8
(svn r8859) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas <belugas@openttd.org>
parents:
6012
diff
changeset
|
4 |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
5 #include "stdafx.h" |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
6 #include "openttd.h" |
6453
666fc3ef3174
(svn r9609) -Codechange: Move some function prototypes out of functions.h and into landscape.h, and add a few where they didn't exist.
maedhros <maedhros@openttd.org>
parents:
6444
diff
changeset
|
7 #include "landscape.h" |
8108
4faab45e2603
(svn r11669) -Codechange: refactor tile.h -> tile_type.h and tile_map.h
rubidium <rubidium@openttd.org>
parents:
8107
diff
changeset
|
8 #include "tile_map.h" |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
9 #include "gui.h" |
8116
9cc845deddfe
(svn r11677) -Codechange: move price and command related types/functions to their respective places.
rubidium <rubidium@openttd.org>
parents:
8114
diff
changeset
|
10 #include "command_func.h" |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
11 #include "network/network.h" |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
12 #include "variables.h" |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
13 #include "genworld.h" |
7609
9e4c3b886ccb
(svn r11138) -Codechange: prepare some subsystems for persistent storage for NewGRFs.
rubidium <rubidium@openttd.org>
parents:
7559
diff
changeset
|
14 #include "newgrf_storage.h" |
8114
2d6af5d7a142
(svn r11675) -Codechange: split the string types from the string functions.
rubidium <rubidium@openttd.org>
parents:
8108
diff
changeset
|
15 #include "strings_func.h" |
8123
c26c28875749
(svn r11684) -Codechange: split gfx.h in a type and functional header.
rubidium <rubidium@openttd.org>
parents:
8116
diff
changeset
|
16 #include "gfx_func.h" |
8131
e300ac8001ae
(svn r11692) -Codechange: move some functions from 'functions.h' to a more logical place and remove about 50% of the includes of 'functions.h'
rubidium <rubidium@openttd.org>
parents:
8123
diff
changeset
|
17 #include "functions.h" |
8232
cca79a4335e0
(svn r11795) -Fix [FS#1616]: take town rating into account when testing if a command can be executed.
glx <glx@openttd.org>
parents:
8230
diff
changeset
|
18 #include "town.h" |
8247
c0449b1df5e1
(svn r11811) -Fix: make compilation without networking work again (and thus move the debugdumpcommand stuff out of the network 'area').
rubidium <rubidium@openttd.org>
parents:
8232
diff
changeset
|
19 #include "date_func.h" |
c0449b1df5e1
(svn r11811) -Fix: make compilation without networking work again (and thus move the debugdumpcommand stuff out of the network 'area').
rubidium <rubidium@openttd.org>
parents:
8232
diff
changeset
|
20 #include "debug.h" |
10208
39cf8eebfda5
(svn r14422) -Codechange: also reflect the changes of r14421 in the filenames.
rubidium <rubidium@openttd.org>
parents:
10207
diff
changeset
|
21 #include "company_func.h" |
39cf8eebfda5
(svn r14422) -Codechange: also reflect the changes of r14421 in the filenames.
rubidium <rubidium@openttd.org>
parents:
10207
diff
changeset
|
22 #include "company_base.h" |
8306
ea2c123b3655
(svn r11871) -Fix [FS#1074]: do not update signals after each tile when building/removing a large block of track/signals/station
smatz <smatz@openttd.org>
parents:
8275
diff
changeset
|
23 #include "signal_func.h" |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
24 |
8264
2495310e220f
(svn r11828) -Codechange: include table/* as the last includes and remove an unneeded include from openttd.h.
rubidium <rubidium@openttd.org>
parents:
8254
diff
changeset
|
25 #include "table/strings.h" |
2495310e220f
(svn r11828) -Codechange: include table/* as the last includes and remove an unneeded include from openttd.h.
rubidium <rubidium@openttd.org>
parents:
8254
diff
changeset
|
26 |
8275
27c91897317f
(svn r11839) -Codechange: move some variables from variables.h to a more logical location.
rubidium <rubidium@openttd.org>
parents:
8264
diff
changeset
|
27 StringID _error_message; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
28 |
7559
ad850ff2c61a
(svn r11084) -Documentation [FS#1219]: of command.*. Patch by Progman.
rubidium <rubidium@openttd.org>
parents:
7521
diff
changeset
|
29 /** |
ad850ff2c61a
(svn r11084) -Documentation [FS#1219]: of command.*. Patch by Progman.
rubidium <rubidium@openttd.org>
parents:
7521
diff
changeset
|
30 * Helper macro to define the header of all command handler macros. |
ad850ff2c61a
(svn r11084) -Documentation [FS#1219]: of command.*. Patch by Progman.
rubidium <rubidium@openttd.org>
parents:
7521
diff
changeset
|
31 * |
ad850ff2c61a
(svn r11084) -Documentation [FS#1219]: of command.*. Patch by Progman.
rubidium <rubidium@openttd.org>
parents:
7521
diff
changeset
|
32 * This macro create the function header for a given command handler function, as |
ad850ff2c61a
(svn r11084) -Documentation [FS#1219]: of command.*. Patch by Progman.
rubidium <rubidium@openttd.org>
parents:
7521
diff
changeset
|
33 * all command handler functions got the parameters from the #CommandProc callback |
ad850ff2c61a
(svn r11084) -Documentation [FS#1219]: of command.*. Patch by Progman.
rubidium <rubidium@openttd.org>
parents:
7521
diff
changeset
|
34 * type. |
ad850ff2c61a
(svn r11084) -Documentation [FS#1219]: of command.*. Patch by Progman.
rubidium <rubidium@openttd.org>
parents:
7521
diff
changeset
|
35 * |
ad850ff2c61a
(svn r11084) -Documentation [FS#1219]: of command.*. Patch by Progman.
rubidium <rubidium@openttd.org>
parents:
7521
diff
changeset
|
36 * @param yyyy The desired function name of the new command handler function. |
ad850ff2c61a
(svn r11084) -Documentation [FS#1219]: of command.*. Patch by Progman.
rubidium <rubidium@openttd.org>
parents:
7521
diff
changeset
|
37 */ |
10499
45ca88a8de7d
(svn r14754) -Codechange: get rid of _cmd_text and just pass it as (optional) parameter.
rubidium <rubidium@openttd.org>
parents:
10237
diff
changeset
|
38 #define DEF_COMMAND(yyyy) CommandCost yyyy(TileIndex tile, uint32 flags, uint32 p1, uint32 p2, const char *text) |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
39 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
40 DEF_COMMAND(CmdBuildRailroadTrack); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
41 DEF_COMMAND(CmdRemoveRailroadTrack); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
42 DEF_COMMAND(CmdBuildSingleRail); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
43 DEF_COMMAND(CmdRemoveSingleRail); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
44 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
45 DEF_COMMAND(CmdLandscapeClear); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
46 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
47 DEF_COMMAND(CmdBuildBridge); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
48 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
49 DEF_COMMAND(CmdBuildRailroadStation); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
50 DEF_COMMAND(CmdRemoveFromRailroadStation); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
51 DEF_COMMAND(CmdConvertRail); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
52 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
53 DEF_COMMAND(CmdBuildSingleSignal); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
54 DEF_COMMAND(CmdRemoveSingleSignal); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
55 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
56 DEF_COMMAND(CmdTerraformLand); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
57 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
58 DEF_COMMAND(CmdPurchaseLandArea); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
59 DEF_COMMAND(CmdSellLandArea); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
60 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
61 DEF_COMMAND(CmdBuildTunnel); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
62 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
63 DEF_COMMAND(CmdBuildTrainDepot); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
64 DEF_COMMAND(CmdBuildTrainWaypoint); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
65 DEF_COMMAND(CmdRenameWaypoint); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
66 DEF_COMMAND(CmdRemoveTrainWaypoint); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
67 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
68 DEF_COMMAND(CmdBuildRoadStop); |
6012
542153c1c803
(svn r8735) -Feature: drive-through road stops made possible by the hard work of mart3p.
rubidium <rubidium@openttd.org>
parents:
5587
diff
changeset
|
69 DEF_COMMAND(CmdRemoveRoadStop); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
70 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
71 DEF_COMMAND(CmdBuildLongRoad); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
72 DEF_COMMAND(CmdRemoveLongRoad); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
73 DEF_COMMAND(CmdBuildRoad); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
74 DEF_COMMAND(CmdRemoveRoad); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
75 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
76 DEF_COMMAND(CmdBuildRoadDepot); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
77 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
78 DEF_COMMAND(CmdBuildAirport); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
79 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
80 DEF_COMMAND(CmdBuildDock); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
81 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
82 DEF_COMMAND(CmdBuildShipDepot); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
83 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
84 DEF_COMMAND(CmdBuildBuoy); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
85 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
86 DEF_COMMAND(CmdPlantTree); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
87 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
88 DEF_COMMAND(CmdBuildRailVehicle); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
89 DEF_COMMAND(CmdMoveRailVehicle); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
90 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
91 DEF_COMMAND(CmdSellRailWagon); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
92 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
93 DEF_COMMAND(CmdSendTrainToDepot); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
94 DEF_COMMAND(CmdForceTrainProceed); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
95 DEF_COMMAND(CmdReverseTrainDirection); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
96 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
97 DEF_COMMAND(CmdModifyOrder); |
6794
4449e9d10ee5
(svn r10033) -Feature [FS#760]: skip to the selected order in the order list when clicking on the "skip" button while pressing CTRL.
rubidium <rubidium@openttd.org>
parents:
6667
diff
changeset
|
98 DEF_COMMAND(CmdSkipToOrder); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
99 DEF_COMMAND(CmdDeleteOrder); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
100 DEF_COMMAND(CmdInsertOrder); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
101 DEF_COMMAND(CmdChangeServiceInt); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
102 DEF_COMMAND(CmdRestoreOrderIndex); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
103 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
104 DEF_COMMAND(CmdBuildIndustry); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
105 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
106 DEF_COMMAND(CmdBuildCompanyHQ); |
10207
c54d140df948
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium <rubidium@openttd.org>
parents:
10151
diff
changeset
|
107 DEF_COMMAND(CmdSetCompanyManagerFace); |
c54d140df948
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium <rubidium@openttd.org>
parents:
10151
diff
changeset
|
108 DEF_COMMAND(CmdSetCompanyColor); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
109 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
110 DEF_COMMAND(CmdIncreaseLoan); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
111 DEF_COMMAND(CmdDecreaseLoan); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
112 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
113 DEF_COMMAND(CmdWantEnginePreview); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
114 |
10151
8a25a93ea7b4
(svn r14337) -Codechange: use CmdRename* and CMD_RENAME_* for vehicle, president and company renaming commands, too
smatz <smatz@openttd.org>
parents:
9928
diff
changeset
|
115 DEF_COMMAND(CmdRenameVehicle); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
116 DEF_COMMAND(CmdRenameEngine); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
117 |
10151
8a25a93ea7b4
(svn r14337) -Codechange: use CmdRename* and CMD_RENAME_* for vehicle, president and company renaming commands, too
smatz <smatz@openttd.org>
parents:
9928
diff
changeset
|
118 DEF_COMMAND(CmdRenameCompany); |
8a25a93ea7b4
(svn r14337) -Codechange: use CmdRename* and CMD_RENAME_* for vehicle, president and company renaming commands, too
smatz <smatz@openttd.org>
parents:
9928
diff
changeset
|
119 DEF_COMMAND(CmdRenamePresident); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
120 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
121 DEF_COMMAND(CmdRenameStation); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
122 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
123 DEF_COMMAND(CmdSellAircraft); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
124 DEF_COMMAND(CmdBuildAircraft); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
125 DEF_COMMAND(CmdSendAircraftToHangar); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
126 DEF_COMMAND(CmdRefitAircraft); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
127 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
128 DEF_COMMAND(CmdPlaceSign); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
129 DEF_COMMAND(CmdRenameSign); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
130 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
131 DEF_COMMAND(CmdBuildRoadVeh); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
132 DEF_COMMAND(CmdSellRoadVeh); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
133 DEF_COMMAND(CmdSendRoadVehToDepot); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
134 DEF_COMMAND(CmdTurnRoadVeh); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
135 DEF_COMMAND(CmdRefitRoadVeh); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
136 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
137 DEF_COMMAND(CmdPause); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
138 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
139 DEF_COMMAND(CmdBuyShareInCompany); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
140 DEF_COMMAND(CmdSellShareInCompany); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
141 DEF_COMMAND(CmdBuyCompany); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
142 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
143 DEF_COMMAND(CmdBuildTown); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
144 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
145 DEF_COMMAND(CmdRenameTown); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
146 DEF_COMMAND(CmdDoTownAction); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
147 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
148 DEF_COMMAND(CmdSetRoadDriveSide); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
149 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
150 DEF_COMMAND(CmdChangePatchSetting); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
151 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
152 DEF_COMMAND(CmdSellShip); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
153 DEF_COMMAND(CmdBuildShip); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
154 DEF_COMMAND(CmdSendShipToDepot); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
155 DEF_COMMAND(CmdRefitShip); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
156 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
157 DEF_COMMAND(CmdOrderRefit); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
158 DEF_COMMAND(CmdCloneOrder); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
159 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
160 DEF_COMMAND(CmdClearArea); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
161 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
162 DEF_COMMAND(CmdGiveMoney); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
163 DEF_COMMAND(CmdMoneyCheat); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
164 DEF_COMMAND(CmdBuildCanal); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
165 DEF_COMMAND(CmdBuildLock); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
166 |
10207
c54d140df948
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium <rubidium@openttd.org>
parents:
10151
diff
changeset
|
167 DEF_COMMAND(CmdCompanyCtrl); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
168 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
169 DEF_COMMAND(CmdLevelLand); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
170 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
171 DEF_COMMAND(CmdRefitRailVehicle); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
172 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
173 DEF_COMMAND(CmdBuildSignalTrack); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
174 DEF_COMMAND(CmdRemoveSignalTrack); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
175 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
176 DEF_COMMAND(CmdSetAutoReplace); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
177 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
178 DEF_COMMAND(CmdCloneVehicle); |
9921
29d461128c75
(svn r14076) -Codechange: Merge the four start/stop commands into a single CMD_START_STOP_VEHICLE.
frosch <frosch@openttd.org>
parents:
9652
diff
changeset
|
179 DEF_COMMAND(CmdStartStopVehicle); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
180 DEF_COMMAND(CmdMassStartStopVehicle); |
9928
0cc9c6c36c43
(svn r14083) -Fix [FS#1264, FS#2037, FS#2038, FS#2110]: Rewrite the autoreplace kernel.
frosch <frosch@openttd.org>
parents:
9921
diff
changeset
|
181 DEF_COMMAND(CmdAutoreplaceVehicle); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
182 DEF_COMMAND(CmdDepotSellAllVehicles); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
183 DEF_COMMAND(CmdDepotMassAutoReplace); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
184 |
6643
18d58b36b9b3
(svn r9874) -Feature: advanced vehicle lists a.k.a. group interface. Now you can make groups of vehicles and perform all kinds of tasks on that given group. Original code by nycom and graphics by skidd13.
rubidium <rubidium@openttd.org>
parents:
6630
diff
changeset
|
185 DEF_COMMAND(CmdCreateGroup); |
18d58b36b9b3
(svn r9874) -Feature: advanced vehicle lists a.k.a. group interface. Now you can make groups of vehicles and perform all kinds of tasks on that given group. Original code by nycom and graphics by skidd13.
rubidium <rubidium@openttd.org>
parents:
6630
diff
changeset
|
186 DEF_COMMAND(CmdRenameGroup); |
18d58b36b9b3
(svn r9874) -Feature: advanced vehicle lists a.k.a. group interface. Now you can make groups of vehicles and perform all kinds of tasks on that given group. Original code by nycom and graphics by skidd13.
rubidium <rubidium@openttd.org>
parents:
6630
diff
changeset
|
187 DEF_COMMAND(CmdDeleteGroup); |
18d58b36b9b3
(svn r9874) -Feature: advanced vehicle lists a.k.a. group interface. Now you can make groups of vehicles and perform all kinds of tasks on that given group. Original code by nycom and graphics by skidd13.
rubidium <rubidium@openttd.org>
parents:
6630
diff
changeset
|
188 DEF_COMMAND(CmdAddVehicleGroup); |
18d58b36b9b3
(svn r9874) -Feature: advanced vehicle lists a.k.a. group interface. Now you can make groups of vehicles and perform all kinds of tasks on that given group. Original code by nycom and graphics by skidd13.
rubidium <rubidium@openttd.org>
parents:
6630
diff
changeset
|
189 DEF_COMMAND(CmdAddSharedVehicleGroup); |
18d58b36b9b3
(svn r9874) -Feature: advanced vehicle lists a.k.a. group interface. Now you can make groups of vehicles and perform all kinds of tasks on that given group. Original code by nycom and graphics by skidd13.
rubidium <rubidium@openttd.org>
parents:
6630
diff
changeset
|
190 DEF_COMMAND(CmdRemoveAllVehiclesGroup); |
6667
12d521513434
(svn r9898) -Fix (r9874): Many...
peter1138 <peter1138@openttd.org>
parents:
6643
diff
changeset
|
191 DEF_COMMAND(CmdSetGroupReplaceProtection); |
12d521513434
(svn r9898) -Fix (r9874): Many...
peter1138 <peter1138@openttd.org>
parents:
6643
diff
changeset
|
192 |
6832
17319fb8c1c3
(svn r10071) -Feature [FS#828]: moving of orders (skidd13).
rubidium <rubidium@openttd.org>
parents:
6794
diff
changeset
|
193 DEF_COMMAND(CmdMoveOrder); |
6980
cb6b3e277df0
(svn r10236) -Feature: Introduce a form of timetabling for vehicles.
maedhros <maedhros@openttd.org>
parents:
6957
diff
changeset
|
194 DEF_COMMAND(CmdChangeTimetable); |
cb6b3e277df0
(svn r10236) -Feature: Introduce a form of timetabling for vehicles.
maedhros <maedhros@openttd.org>
parents:
6957
diff
changeset
|
195 DEF_COMMAND(CmdSetVehicleOnTime); |
7066
bd6373f5acf4
(svn r10331) -Feature: Add the possibility of automatically filling in timetables based on
maedhros <maedhros@openttd.org>
parents:
7002
diff
changeset
|
196 DEF_COMMAND(CmdAutofillTimetable); |
7559
ad850ff2c61a
(svn r11084) -Documentation [FS#1219]: of command.*. Patch by Progman.
rubidium <rubidium@openttd.org>
parents:
7521
diff
changeset
|
197 #undef DEF_COMMAND |
6832
17319fb8c1c3
(svn r10071) -Feature [FS#828]: moving of orders (skidd13).
rubidium <rubidium@openttd.org>
parents:
6794
diff
changeset
|
198 |
7559
ad850ff2c61a
(svn r11084) -Documentation [FS#1219]: of command.*. Patch by Progman.
rubidium <rubidium@openttd.org>
parents:
7521
diff
changeset
|
199 /** |
ad850ff2c61a
(svn r11084) -Documentation [FS#1219]: of command.*. Patch by Progman.
rubidium <rubidium@openttd.org>
parents:
7521
diff
changeset
|
200 * The master command table |
ad850ff2c61a
(svn r11084) -Documentation [FS#1219]: of command.*. Patch by Progman.
rubidium <rubidium@openttd.org>
parents:
7521
diff
changeset
|
201 * |
ad850ff2c61a
(svn r11084) -Documentation [FS#1219]: of command.*. Patch by Progman.
rubidium <rubidium@openttd.org>
parents:
7521
diff
changeset
|
202 * This table contains all possible CommandProc functions with |
ad850ff2c61a
(svn r11084) -Documentation [FS#1219]: of command.*. Patch by Progman.
rubidium <rubidium@openttd.org>
parents:
7521
diff
changeset
|
203 * the flags which belongs to it. The indizes are the same |
ad850ff2c61a
(svn r11084) -Documentation [FS#1219]: of command.*. Patch by Progman.
rubidium <rubidium@openttd.org>
parents:
7521
diff
changeset
|
204 * as the value from the CMD_* enums. |
ad850ff2c61a
(svn r11084) -Documentation [FS#1219]: of command.*. Patch by Progman.
rubidium <rubidium@openttd.org>
parents:
7521
diff
changeset
|
205 */ |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
206 static const Command _command_proc_table[] = { |
10606
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
207 {CmdBuildRailroadTrack, CMD_NO_WATER | CMD_AUTO}, /* CMD_BUILD_RAILROAD_TRACK */ |
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
208 {CmdRemoveRailroadTrack, CMD_AUTO}, /* CMD_REMOVE_RAILROAD_TRACK */ |
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
209 {CmdBuildSingleRail, CMD_NO_WATER | CMD_AUTO}, /* CMD_BUILD_SINGLE_RAIL */ |
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
210 {CmdRemoveSingleRail, CMD_AUTO}, /* CMD_REMOVE_SINGLE_RAIL */ |
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
211 {CmdLandscapeClear, 0}, /* CMD_LANDSCAPE_CLEAR */ |
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
212 {CmdBuildBridge, CMD_AUTO}, /* CMD_BUILD_BRIDGE */ |
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
213 {CmdBuildRailroadStation, CMD_NO_WATER | CMD_AUTO}, /* CMD_BUILD_RAILROAD_STATION */ |
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
214 {CmdBuildTrainDepot, CMD_NO_WATER | CMD_AUTO}, /* CMD_BUILD_TRAIN_DEPOT */ |
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
215 {CmdBuildSingleSignal, CMD_AUTO}, /* CMD_BUILD_SIGNALS */ |
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
216 {CmdRemoveSingleSignal, CMD_AUTO}, /* CMD_REMOVE_SIGNALS */ |
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
217 {CmdTerraformLand, CMD_AUTO}, /* CMD_TERRAFORM_LAND */ |
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
218 {CmdPurchaseLandArea, CMD_NO_WATER | CMD_AUTO}, /* CMD_PURCHASE_LAND_AREA */ |
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
219 {CmdSellLandArea, 0}, /* CMD_SELL_LAND_AREA */ |
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
220 {CmdBuildTunnel, CMD_AUTO}, /* CMD_BUILD_TUNNEL */ |
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
221 {CmdRemoveFromRailroadStation, 0}, /* CMD_REMOVE_FROM_RAILROAD_STATION */ |
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
222 {CmdConvertRail, 0}, /* CMD_CONVERT_RAILD */ |
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
223 {CmdBuildTrainWaypoint, 0}, /* CMD_BUILD_TRAIN_WAYPOINT */ |
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
224 {CmdRenameWaypoint, 0}, /* CMD_RENAME_WAYPOINT */ |
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
225 {CmdRemoveTrainWaypoint, 0}, /* CMD_REMOVE_TRAIN_WAYPOINT */ |
8500
83450457346b
(svn r12075) -Codechange: Remove explicit numbering on command enum, and remove blanks from command list where old commands have been removed.
peter1138 <peter1138@openttd.org>
parents:
8486
diff
changeset
|
226 |
10606
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
227 {CmdBuildRoadStop, CMD_NO_WATER | CMD_AUTO}, /* CMD_BUILD_ROAD_STOP */ |
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
228 {CmdRemoveRoadStop, 0}, /* CMD_REMOVE_ROAD_STOP */ |
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
229 {CmdBuildLongRoad, CMD_NO_WATER | CMD_AUTO}, /* CMD_BUILD_LONG_ROAD */ |
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
230 {CmdRemoveLongRoad, CMD_NO_TEST | CMD_AUTO}, /* CMD_REMOVE_LONG_ROAD; towns may disallow removing road bits (as they are connected) in test, but in exec they're removed and thus removing is allowed. */ |
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
231 {CmdBuildRoad, 0}, /* CMD_BUILD_ROAD */ |
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
232 {CmdRemoveRoad, 0}, /* CMD_REMOVE_ROAD */ |
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
233 {CmdBuildRoadDepot, CMD_NO_WATER | CMD_AUTO}, /* CMD_BUILD_ROAD_DEPOT */ |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
234 |
10606
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
235 {CmdBuildAirport, CMD_NO_WATER | CMD_AUTO}, /* CMD_BUILD_AIRPORT */ |
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
236 {CmdBuildDock, CMD_AUTO}, /* CMD_BUILD_DOCK */ |
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
237 {CmdBuildShipDepot, CMD_AUTO}, /* CMD_BUILD_SHIP_DEPOT */ |
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
238 {CmdBuildBuoy, CMD_AUTO}, /* CMD_BUILD_BUOY */ |
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
239 {CmdPlantTree, CMD_AUTO}, /* CMD_PLANT_TREE */ |
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
240 {CmdBuildRailVehicle, 0}, /* CMD_BUILD_RAIL_VEHICLE */ |
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
241 {CmdMoveRailVehicle, 0}, /* CMD_MOVE_RAIL_VEHICLE */ |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
242 |
10606
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
243 {CmdSellRailWagon, 0}, /* CMD_SELL_RAIL_WAGON */ |
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
244 {CmdSendTrainToDepot, 0}, /* CMD_SEND_TRAIN_TO_DEPOT */ |
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
245 {CmdForceTrainProceed, 0}, /* CMD_FORCE_TRAIN_PROCEED */ |
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
246 {CmdReverseTrainDirection, 0}, /* CMD_REVERSE_TRAIN_DIRECTION */ |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
247 |
10606
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
248 {CmdModifyOrder, 0}, /* CMD_MODIFY_ORDER */ |
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
249 {CmdSkipToOrder, 0}, /* CMD_SKIP_TO_ORDER */ |
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
250 {CmdDeleteOrder, 0}, /* CMD_DELETE_ORDER */ |
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
251 {CmdInsertOrder, 0}, /* CMD_INSERT_ORDER */ |
8500
83450457346b
(svn r12075) -Codechange: Remove explicit numbering on command enum, and remove blanks from command list where old commands have been removed.
peter1138 <peter1138@openttd.org>
parents:
8486
diff
changeset
|
252 |
10606
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
253 {CmdChangeServiceInt, 0}, /* CMD_CHANGE_SERVICE_INT */ |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
254 |
10606
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
255 {CmdBuildIndustry, 0}, /* CMD_BUILD_INDUSTRY */ |
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
256 {CmdBuildCompanyHQ, CMD_NO_WATER | CMD_AUTO}, /* CMD_BUILD_COMPANY_HQ */ |
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
257 {CmdSetCompanyManagerFace, 0}, /* CMD_SET_COMPANY_MANAGER_FACE */ |
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
258 {CmdSetCompanyColor, 0}, /* CMD_SET_COMPANY_COLOR */ |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
259 |
10606
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
260 {CmdIncreaseLoan, 0}, /* CMD_INCREASE_LOAN */ |
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
261 {CmdDecreaseLoan, 0}, /* CMD_DECREASE_LOAN */ |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
262 |
10606
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
263 {CmdWantEnginePreview, 0}, /* CMD_WANT_ENGINE_PREVIEW */ |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
264 |
10606
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
265 {CmdRenameVehicle, 0}, /* CMD_RENAME_VEHICLE */ |
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
266 {CmdRenameEngine, 0}, /* CMD_RENAME_ENGINE */ |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
267 |
10606
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
268 {CmdRenameCompany, 0}, /* CMD_RENAME_COMPANY */ |
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
269 {CmdRenamePresident, 0}, /* CMD_RENAME_PRESIDENT */ |
8500
83450457346b
(svn r12075) -Codechange: Remove explicit numbering on command enum, and remove blanks from command list where old commands have been removed.
peter1138 <peter1138@openttd.org>
parents:
8486
diff
changeset
|
270 |
10606
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
271 {CmdRenameStation, 0}, /* CMD_RENAME_STATION */ |
8500
83450457346b
(svn r12075) -Codechange: Remove explicit numbering on command enum, and remove blanks from command list where old commands have been removed.
peter1138 <peter1138@openttd.org>
parents:
8486
diff
changeset
|
272 |
10606
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
273 {CmdSellAircraft, 0}, /* CMD_SELL_AIRCRAFT */ |
7559
ad850ff2c61a
(svn r11084) -Documentation [FS#1219]: of command.*. Patch by Progman.
rubidium <rubidium@openttd.org>
parents:
7521
diff
changeset
|
274 |
10606
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
275 {CmdBuildAircraft, 0}, /* CMD_BUILD_AIRCRAFT */ |
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
276 {CmdSendAircraftToHangar, 0}, /* CMD_SEND_AIRCRAFT_TO_HANGAR */ |
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
277 {CmdRefitAircraft, 0}, /* CMD_REFIT_AIRCRAFT */ |
8500
83450457346b
(svn r12075) -Codechange: Remove explicit numbering on command enum, and remove blanks from command list where old commands have been removed.
peter1138 <peter1138@openttd.org>
parents:
8486
diff
changeset
|
278 |
10606
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
279 {CmdPlaceSign, 0}, /* CMD_PLACE_SIGN */ |
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
280 {CmdRenameSign, 0}, /* CMD_RENAME_SIGN */ |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
281 |
10606
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
282 {CmdBuildRoadVeh, 0}, /* CMD_BUILD_ROAD_VEH */ |
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
283 {CmdSellRoadVeh, 0}, /* CMD_SELL_ROAD_VEH */ |
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
284 {CmdSendRoadVehToDepot, 0}, /* CMD_SEND_ROADVEH_TO_DEPOT */ |
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
285 {CmdTurnRoadVeh, 0}, /* CMD_TURN_ROADVEH */ |
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
286 {CmdRefitRoadVeh, 0}, /* CMD_REFIT_ROAD_VEH */ |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
287 |
10606
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
288 {CmdPause, CMD_SERVER}, /* CMD_PAUSE */ |
7559
ad850ff2c61a
(svn r11084) -Documentation [FS#1219]: of command.*. Patch by Progman.
rubidium <rubidium@openttd.org>
parents:
7521
diff
changeset
|
289 |
10606
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
290 {CmdBuyShareInCompany, 0}, /* CMD_BUY_SHARE_IN_COMPANY */ |
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
291 {CmdSellShareInCompany, 0}, /* CMD_SELL_SHARE_IN_COMPANY */ |
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
292 {CmdBuyCompany, 0}, /* CMD_BUY_COMANY */ |
8500
83450457346b
(svn r12075) -Codechange: Remove explicit numbering on command enum, and remove blanks from command list where old commands have been removed.
peter1138 <peter1138@openttd.org>
parents:
8486
diff
changeset
|
293 |
10606
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
294 {CmdBuildTown, CMD_OFFLINE}, /* CMD_BUILD_TOWN */ |
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
295 {CmdRenameTown, CMD_SERVER}, /* CMD_RENAME_TOWN */ |
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
296 {CmdDoTownAction, 0}, /* CMD_DO_TOWN_ACTION */ |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
297 |
10606
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
298 {CmdSetRoadDriveSide, CMD_SERVER}, /* CMD_SET_ROAD_DRIVE_SIDE */ |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
299 |
10606
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
300 {CmdSellShip, 0}, /* CMD_SELL_SHIP */ |
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
301 {CmdBuildShip, 0}, /* CMD_BUILD_SHIP */ |
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
302 {CmdSendShipToDepot, 0}, /* CMD_SEND_SHIP_TO_DEPOT */ |
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
303 {CmdRefitShip, 0}, /* CMD_REFIT_SHIP */ |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
304 |
10606
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
305 {CmdOrderRefit, 0}, /* CMD_ORDER_REFIT */ |
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
306 {CmdCloneOrder, 0}, /* CMD_CLONE_ORDER */ |
8500
83450457346b
(svn r12075) -Codechange: Remove explicit numbering on command enum, and remove blanks from command list where old commands have been removed.
peter1138 <peter1138@openttd.org>
parents:
8486
diff
changeset
|
307 |
10606
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
308 {CmdClearArea, CMD_NO_TEST}, /* CMD_CLEAR_AREA; destroying multi-tile houses makes town rating differ between test and execution */ |
8500
83450457346b
(svn r12075) -Codechange: Remove explicit numbering on command enum, and remove blanks from command list where old commands have been removed.
peter1138 <peter1138@openttd.org>
parents:
8486
diff
changeset
|
309 |
10606
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
310 {CmdMoneyCheat, CMD_OFFLINE}, /* CMD_MONEY_CHEAT */ |
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
311 {CmdBuildCanal, CMD_AUTO}, /* CMD_BUILD_CANAL */ |
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
312 {CmdCompanyCtrl, 0}, /* CMD_COMPANY_CTRL */ |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
313 |
10606
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
314 {CmdLevelLand, CMD_NO_TEST | CMD_AUTO}, /* CMD_LEVEL_LAND; test run might clear tiles multiple times, in execution that only happens once */ |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
315 |
10606
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
316 {CmdRefitRailVehicle, 0}, /* CMD_REFIT_RAIL_VEHICLE */ |
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
317 {CmdRestoreOrderIndex, 0}, /* CMD_RESTORE_ORDER_INDEX */ |
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
318 {CmdBuildLock, CMD_AUTO}, /* CMD_BUILD_LOCK */ |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
319 |
10606
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
320 {CmdBuildSignalTrack, CMD_AUTO}, /* CMD_BUILD_SIGNAL_TRACK */ |
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
321 {CmdRemoveSignalTrack, CMD_AUTO}, /* CMD_REMOVE_SIGNAL_TRACK */ |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
322 |
10606
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
323 {CmdGiveMoney, 0}, /* CMD_GIVE_MONEY */ |
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
324 {CmdChangePatchSetting, CMD_SERVER}, /* CMD_CHANGE_PATCH_SETTING */ |
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
325 {CmdSetAutoReplace, 0}, /* CMD_SET_AUTOREPLACE */ |
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
326 {CmdCloneVehicle, CMD_NO_TEST}, /* CMD_CLONE_VEHICLE; NewGRF callbacks influence building and refitting making it impossible to correctly estimate the cost */ |
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
327 {CmdStartStopVehicle, 0}, /* CMD_START_STOP_VEHICLE */ |
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
328 {CmdMassStartStopVehicle, 0}, /* CMD_MASS_START_STOP */ |
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
329 {CmdAutoreplaceVehicle, 0}, /* CMD_AUTOREPLACE_VEHICLE */ |
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
330 {CmdDepotSellAllVehicles, 0}, /* CMD_DEPOT_SELL_ALL_VEHICLES */ |
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
331 {CmdDepotMassAutoReplace, 0}, /* CMD_DEPOT_MASS_AUTOREPLACE */ |
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
332 {CmdCreateGroup, 0}, /* CMD_CREATE_GROUP */ |
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
333 {CmdDeleteGroup, 0}, /* CMD_DELETE_GROUP */ |
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
334 {CmdRenameGroup, 0}, /* CMD_RENAME_GROUP */ |
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
335 {CmdAddVehicleGroup, 0}, /* CMD_ADD_VEHICLE_GROUP */ |
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
336 {CmdAddSharedVehicleGroup, 0}, /* CMD_ADD_SHARE_VEHICLE_GROUP */ |
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
337 {CmdRemoveAllVehiclesGroup, 0}, /* CMD_REMOVE_ALL_VEHICLES_GROUP */ |
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
338 {CmdSetGroupReplaceProtection, 0}, /* CMD_SET_GROUP_REPLACE_PROTECTION */ |
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
339 {CmdMoveOrder, 0}, /* CMD_MOVE_ORDER */ |
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
340 {CmdChangeTimetable, 0}, /* CMD_CHANGE_TIMETABLE */ |
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
341 {CmdSetVehicleOnTime, 0}, /* CMD_SET_VEHICLE_ON_TIME */ |
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
342 {CmdAutofillTimetable, 0}, /* CMD_AUTOFILL_TIMETABLE */ |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
343 }; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
344 |
7559
ad850ff2c61a
(svn r11084) -Documentation [FS#1219]: of command.*. Patch by Progman.
rubidium <rubidium@openttd.org>
parents:
7521
diff
changeset
|
345 /*! |
ad850ff2c61a
(svn r11084) -Documentation [FS#1219]: of command.*. Patch by Progman.
rubidium <rubidium@openttd.org>
parents:
7521
diff
changeset
|
346 * This function range-checks a cmd, and checks if the cmd is not NULL |
ad850ff2c61a
(svn r11084) -Documentation [FS#1219]: of command.*. Patch by Progman.
rubidium <rubidium@openttd.org>
parents:
7521
diff
changeset
|
347 * |
ad850ff2c61a
(svn r11084) -Documentation [FS#1219]: of command.*. Patch by Progman.
rubidium <rubidium@openttd.org>
parents:
7521
diff
changeset
|
348 * @param cmd The integervalue of a command |
ad850ff2c61a
(svn r11084) -Documentation [FS#1219]: of command.*. Patch by Progman.
rubidium <rubidium@openttd.org>
parents:
7521
diff
changeset
|
349 * @return true if the command is valid (and got a CommandProc function) |
ad850ff2c61a
(svn r11084) -Documentation [FS#1219]: of command.*. Patch by Progman.
rubidium <rubidium@openttd.org>
parents:
7521
diff
changeset
|
350 */ |
10237
d39d46dc7057
(svn r14465) -Codechange: minor code style of command.cpp.
rubidium <rubidium@openttd.org>
parents:
10225
diff
changeset
|
351 bool IsValidCommand(uint32 cmd) |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
352 { |
10604
ec12a7f3eef8
(svn r14889) -Codechange: replace some magic numbers with constants.
rubidium <rubidium@openttd.org>
parents:
10515
diff
changeset
|
353 cmd &= CMD_ID_MASK; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
354 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
355 return |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
356 cmd < lengthof(_command_proc_table) && |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
357 _command_proc_table[cmd].proc != NULL; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
358 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
359 |
7559
ad850ff2c61a
(svn r11084) -Documentation [FS#1219]: of command.*. Patch by Progman.
rubidium <rubidium@openttd.org>
parents:
7521
diff
changeset
|
360 /*! |
10604
ec12a7f3eef8
(svn r14889) -Codechange: replace some magic numbers with constants.
rubidium <rubidium@openttd.org>
parents:
10515
diff
changeset
|
361 * This function mask the parameter with CMD_ID_MASK and returns |
7559
ad850ff2c61a
(svn r11084) -Documentation [FS#1219]: of command.*. Patch by Progman.
rubidium <rubidium@openttd.org>
parents:
7521
diff
changeset
|
362 * the flags which belongs to the given command. |
ad850ff2c61a
(svn r11084) -Documentation [FS#1219]: of command.*. Patch by Progman.
rubidium <rubidium@openttd.org>
parents:
7521
diff
changeset
|
363 * |
ad850ff2c61a
(svn r11084) -Documentation [FS#1219]: of command.*. Patch by Progman.
rubidium <rubidium@openttd.org>
parents:
7521
diff
changeset
|
364 * @param cmd The integer value of the command |
ad850ff2c61a
(svn r11084) -Documentation [FS#1219]: of command.*. Patch by Progman.
rubidium <rubidium@openttd.org>
parents:
7521
diff
changeset
|
365 * @return The flags for this command |
ad850ff2c61a
(svn r11084) -Documentation [FS#1219]: of command.*. Patch by Progman.
rubidium <rubidium@openttd.org>
parents:
7521
diff
changeset
|
366 */ |
10237
d39d46dc7057
(svn r14465) -Codechange: minor code style of command.cpp.
rubidium <rubidium@openttd.org>
parents:
10225
diff
changeset
|
367 byte GetCommandFlags(uint32 cmd) |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
368 { |
10237
d39d46dc7057
(svn r14465) -Codechange: minor code style of command.cpp.
rubidium <rubidium@openttd.org>
parents:
10225
diff
changeset
|
369 assert(IsValidCommand(cmd)); |
d39d46dc7057
(svn r14465) -Codechange: minor code style of command.cpp.
rubidium <rubidium@openttd.org>
parents:
10225
diff
changeset
|
370 |
10604
ec12a7f3eef8
(svn r14889) -Codechange: replace some magic numbers with constants.
rubidium <rubidium@openttd.org>
parents:
10515
diff
changeset
|
371 return _command_proc_table[cmd & CMD_ID_MASK].flags; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
372 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
373 |
8232
cca79a4335e0
(svn r11795) -Fix [FS#1616]: take town rating into account when testing if a command can be executed.
glx <glx@openttd.org>
parents:
8230
diff
changeset
|
374 static int _docommand_recursive = 0; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
375 |
7559
ad850ff2c61a
(svn r11084) -Documentation [FS#1219]: of command.*. Patch by Progman.
rubidium <rubidium@openttd.org>
parents:
7521
diff
changeset
|
376 /*! |
ad850ff2c61a
(svn r11084) -Documentation [FS#1219]: of command.*. Patch by Progman.
rubidium <rubidium@openttd.org>
parents:
7521
diff
changeset
|
377 * This function executes a given command with the parameters from the #CommandProc parameter list. |
ad850ff2c61a
(svn r11084) -Documentation [FS#1219]: of command.*. Patch by Progman.
rubidium <rubidium@openttd.org>
parents:
7521
diff
changeset
|
378 * Depending on the flags parameter it execute or test a command. |
ad850ff2c61a
(svn r11084) -Documentation [FS#1219]: of command.*. Patch by Progman.
rubidium <rubidium@openttd.org>
parents:
7521
diff
changeset
|
379 * |
ad850ff2c61a
(svn r11084) -Documentation [FS#1219]: of command.*. Patch by Progman.
rubidium <rubidium@openttd.org>
parents:
7521
diff
changeset
|
380 * @param tile The tile to apply the command on (for the #CommandProc) |
ad850ff2c61a
(svn r11084) -Documentation [FS#1219]: of command.*. Patch by Progman.
rubidium <rubidium@openttd.org>
parents:
7521
diff
changeset
|
381 * @param p1 Additional data for the command (for the #CommandProc) |
ad850ff2c61a
(svn r11084) -Documentation [FS#1219]: of command.*. Patch by Progman.
rubidium <rubidium@openttd.org>
parents:
7521
diff
changeset
|
382 * @param p2 Additional data for the command (for the #CommandProc) |
ad850ff2c61a
(svn r11084) -Documentation [FS#1219]: of command.*. Patch by Progman.
rubidium <rubidium@openttd.org>
parents:
7521
diff
changeset
|
383 * @param flags Flags for the command and how to execute the command |
10499
45ca88a8de7d
(svn r14754) -Codechange: get rid of _cmd_text and just pass it as (optional) parameter.
rubidium <rubidium@openttd.org>
parents:
10237
diff
changeset
|
384 * @param cmd The command-id to execute (a value of the CMD_* enums) |
7559
ad850ff2c61a
(svn r11084) -Documentation [FS#1219]: of command.*. Patch by Progman.
rubidium <rubidium@openttd.org>
parents:
7521
diff
changeset
|
385 * @see CommandProc |
ad850ff2c61a
(svn r11084) -Documentation [FS#1219]: of command.*. Patch by Progman.
rubidium <rubidium@openttd.org>
parents:
7521
diff
changeset
|
386 */ |
10499
45ca88a8de7d
(svn r14754) -Codechange: get rid of _cmd_text and just pass it as (optional) parameter.
rubidium <rubidium@openttd.org>
parents:
10237
diff
changeset
|
387 CommandCost DoCommand(TileIndex tile, uint32 p1, uint32 p2, uint32 flags, uint32 cmd, const char *text) |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
388 { |
6943
fd42cb9816c6
(svn r10197) -Codechange: replace int32 with CommandCost where appropriate.
rubidium <rubidium@openttd.org>
parents:
6832
diff
changeset
|
389 CommandCost res; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
390 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
391 /* Do not even think about executing out-of-bounds tile-commands */ |
10499
45ca88a8de7d
(svn r14754) -Codechange: get rid of _cmd_text and just pass it as (optional) parameter.
rubidium <rubidium@openttd.org>
parents:
10237
diff
changeset
|
392 if (!IsValidTile(tile)) return CMD_ERROR; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
393 |
10499
45ca88a8de7d
(svn r14754) -Codechange: get rid of _cmd_text and just pass it as (optional) parameter.
rubidium <rubidium@openttd.org>
parents:
10237
diff
changeset
|
394 CommandProc *proc = _command_proc_table[cmd].proc; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
395 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
396 if (_docommand_recursive == 0) _error_message = INVALID_STRING_ID; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
397 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
398 _docommand_recursive++; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
399 |
6123
595dc16a6fd8
(svn r8859) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas <belugas@openttd.org>
parents:
6012
diff
changeset
|
400 /* only execute the test call if it's toplevel, or we're not execing. */ |
8486
99f058177c49
(svn r12061) -Cleanup: since r12060, DC_FORCETEST is not used anymore
smatz <smatz@openttd.org>
parents:
8442
diff
changeset
|
401 if (_docommand_recursive == 1 || !(flags & DC_EXEC) ) { |
8232
cca79a4335e0
(svn r11795) -Fix [FS#1616]: take town rating into account when testing if a command can be executed.
glx <glx@openttd.org>
parents:
8230
diff
changeset
|
402 SetTownRatingTestMode(true); |
10499
45ca88a8de7d
(svn r14754) -Codechange: get rid of _cmd_text and just pass it as (optional) parameter.
rubidium <rubidium@openttd.org>
parents:
10237
diff
changeset
|
403 res = proc(tile, flags & ~DC_EXEC, p1, p2, text); |
8232
cca79a4335e0
(svn r11795) -Fix [FS#1616]: take town rating into account when testing if a command can be executed.
glx <glx@openttd.org>
parents:
8230
diff
changeset
|
404 SetTownRatingTestMode(false); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
405 if (CmdFailed(res)) { |
6950
d2846442a133
(svn r10205) -Codechange: refactor returning of cost, so it can be more easily modified.
rubidium <rubidium@openttd.org>
parents:
6943
diff
changeset
|
406 res.SetGlobalErrorMessage(); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
407 goto error; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
408 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
409 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
410 if (_docommand_recursive == 1 && |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
411 !(flags & DC_QUERY_COST) && |
8519
0e4b2a37af1f
(svn r12094) -Codechange: use DC_BANKRUPT command flag when removing player property to allow further fixes
smatz <smatz@openttd.org>
parents:
8500
diff
changeset
|
412 !(flags & DC_BANKRUPT) && |
6950
d2846442a133
(svn r10205) -Codechange: refactor returning of cost, so it can be more easily modified.
rubidium <rubidium@openttd.org>
parents:
6943
diff
changeset
|
413 res.GetCost() != 0 && |
10207
c54d140df948
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium <rubidium@openttd.org>
parents:
10151
diff
changeset
|
414 !CheckCompanyHasMoney(res)) { |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
415 goto error; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
416 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
417 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
418 if (!(flags & DC_EXEC)) { |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
419 _docommand_recursive--; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
420 return res; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
421 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
422 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
423 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
424 /* Execute the command here. All cost-relevant functions set the expenses type |
8230
5b61305fcdd4
(svn r11793) -Codechange: pass the expense type via the CommandCost instead of a global variable. Patch by Noldo (FS#1114).
rubidium <rubidium@openttd.org>
parents:
8199
diff
changeset
|
425 * themselves to the cost object at some point */ |
10499
45ca88a8de7d
(svn r14754) -Codechange: get rid of _cmd_text and just pass it as (optional) parameter.
rubidium <rubidium@openttd.org>
parents:
10237
diff
changeset
|
426 res = proc(tile, flags, p1, p2, text); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
427 if (CmdFailed(res)) { |
6950
d2846442a133
(svn r10205) -Codechange: refactor returning of cost, so it can be more easily modified.
rubidium <rubidium@openttd.org>
parents:
6943
diff
changeset
|
428 res.SetGlobalErrorMessage(); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
429 error: |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
430 _docommand_recursive--; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
431 return CMD_ERROR; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
432 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
433 |
6123
595dc16a6fd8
(svn r8859) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas <belugas@openttd.org>
parents:
6012
diff
changeset
|
434 /* if toplevel, subtract the money. */ |
8519
0e4b2a37af1f
(svn r12094) -Codechange: use DC_BANKRUPT command flag when removing player property to allow further fixes
smatz <smatz@openttd.org>
parents:
8500
diff
changeset
|
435 if (--_docommand_recursive == 0 && !(flags & DC_BANKRUPT)) { |
10207
c54d140df948
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium <rubidium@openttd.org>
parents:
10151
diff
changeset
|
436 SubtractMoneyFromCompany(res); |
10499
45ca88a8de7d
(svn r14754) -Codechange: get rid of _cmd_text and just pass it as (optional) parameter.
rubidium <rubidium@openttd.org>
parents:
10237
diff
changeset
|
437 /* XXX - Old AI hack which doesn't use DoCommandP; update last build coord of company */ |
10207
c54d140df948
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium <rubidium@openttd.org>
parents:
10151
diff
changeset
|
438 if (tile != 0 && IsValidCompanyID(_current_company)) { |
c54d140df948
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium <rubidium@openttd.org>
parents:
10151
diff
changeset
|
439 GetCompany(_current_company)->last_build_coordinate = tile; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
440 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
441 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
442 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
443 return res; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
444 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
445 |
7559
ad850ff2c61a
(svn r11084) -Documentation [FS#1219]: of command.*. Patch by Progman.
rubidium <rubidium@openttd.org>
parents:
7521
diff
changeset
|
446 /*! |
ad850ff2c61a
(svn r11084) -Documentation [FS#1219]: of command.*. Patch by Progman.
rubidium <rubidium@openttd.org>
parents:
7521
diff
changeset
|
447 * This functions returns the money which can be used to execute a command. |
10207
c54d140df948
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium <rubidium@openttd.org>
parents:
10151
diff
changeset
|
448 * This is either the money of the current company or INT64_MAX if there |
c54d140df948
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium <rubidium@openttd.org>
parents:
10151
diff
changeset
|
449 * is no such a company "at the moment" like the server itself. |
7559
ad850ff2c61a
(svn r11084) -Documentation [FS#1219]: of command.*. Patch by Progman.
rubidium <rubidium@openttd.org>
parents:
7521
diff
changeset
|
450 * |
10207
c54d140df948
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium <rubidium@openttd.org>
parents:
10151
diff
changeset
|
451 * @return The available money of a company or INT64_MAX |
7559
ad850ff2c61a
(svn r11084) -Documentation [FS#1219]: of command.*. Patch by Progman.
rubidium <rubidium@openttd.org>
parents:
7521
diff
changeset
|
452 */ |
6990
a19700261804
(svn r10246) -Fix (r10297): some forgotten money conversions and truncation issues. Thanks to benc for providing the patch.
rubidium <rubidium@openttd.org>
parents:
6980
diff
changeset
|
453 Money GetAvailableMoneyForCommand() |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
454 { |
10207
c54d140df948
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium <rubidium@openttd.org>
parents:
10151
diff
changeset
|
455 CompanyID company = _current_company; |
c54d140df948
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium <rubidium@openttd.org>
parents:
10151
diff
changeset
|
456 if (!IsValidCompanyID(company)) return INT64_MAX; |
c54d140df948
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium <rubidium@openttd.org>
parents:
10151
diff
changeset
|
457 return GetCompany(company)->money; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
458 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
459 |
7559
ad850ff2c61a
(svn r11084) -Documentation [FS#1219]: of command.*. Patch by Progman.
rubidium <rubidium@openttd.org>
parents:
7521
diff
changeset
|
460 /*! |
10207
c54d140df948
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium <rubidium@openttd.org>
parents:
10151
diff
changeset
|
461 * Toplevel network safe docommand function for the current company. Must not be called recursively. |
7559
ad850ff2c61a
(svn r11084) -Documentation [FS#1219]: of command.*. Patch by Progman.
rubidium <rubidium@openttd.org>
parents:
7521
diff
changeset
|
462 * The callback is called when the command succeeded or failed. The parameters |
ad850ff2c61a
(svn r11084) -Documentation [FS#1219]: of command.*. Patch by Progman.
rubidium <rubidium@openttd.org>
parents:
7521
diff
changeset
|
463 * tile, p1 and p2 are from the #CommandProc function. The paramater cmd is the command to execute. |
10207
c54d140df948
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium <rubidium@openttd.org>
parents:
10151
diff
changeset
|
464 * The parameter my_cmd is used to indicate if the command is from a company or the server. |
7559
ad850ff2c61a
(svn r11084) -Documentation [FS#1219]: of command.*. Patch by Progman.
rubidium <rubidium@openttd.org>
parents:
7521
diff
changeset
|
465 * |
ad850ff2c61a
(svn r11084) -Documentation [FS#1219]: of command.*. Patch by Progman.
rubidium <rubidium@openttd.org>
parents:
7521
diff
changeset
|
466 * @param tile The tile to perform a command on (see #CommandProc) |
ad850ff2c61a
(svn r11084) -Documentation [FS#1219]: of command.*. Patch by Progman.
rubidium <rubidium@openttd.org>
parents:
7521
diff
changeset
|
467 * @param p1 Additional data for the command (see #CommandProc) |
ad850ff2c61a
(svn r11084) -Documentation [FS#1219]: of command.*. Patch by Progman.
rubidium <rubidium@openttd.org>
parents:
7521
diff
changeset
|
468 * @param p2 Additional data for the command (see #CommandProc) |
10499
45ca88a8de7d
(svn r14754) -Codechange: get rid of _cmd_text and just pass it as (optional) parameter.
rubidium <rubidium@openttd.org>
parents:
10237
diff
changeset
|
469 * @param cmd The command to execute (a CMD_* value) |
7559
ad850ff2c61a
(svn r11084) -Documentation [FS#1219]: of command.*. Patch by Progman.
rubidium <rubidium@openttd.org>
parents:
7521
diff
changeset
|
470 * @param callback A callback function to call after the command is finished |
10499
45ca88a8de7d
(svn r14754) -Codechange: get rid of _cmd_text and just pass it as (optional) parameter.
rubidium <rubidium@openttd.org>
parents:
10237
diff
changeset
|
471 * @param text The text to pass |
10207
c54d140df948
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium <rubidium@openttd.org>
parents:
10151
diff
changeset
|
472 * @param my_cmd indicator if the command is from a company or server (to display error messages for a user) |
7559
ad850ff2c61a
(svn r11084) -Documentation [FS#1219]: of command.*. Patch by Progman.
rubidium <rubidium@openttd.org>
parents:
7521
diff
changeset
|
473 * @return true if the command succeeded, else false |
ad850ff2c61a
(svn r11084) -Documentation [FS#1219]: of command.*. Patch by Progman.
rubidium <rubidium@openttd.org>
parents:
7521
diff
changeset
|
474 */ |
10499
45ca88a8de7d
(svn r14754) -Codechange: get rid of _cmd_text and just pass it as (optional) parameter.
rubidium <rubidium@openttd.org>
parents:
10237
diff
changeset
|
475 bool DoCommandP(TileIndex tile, uint32 p1, uint32 p2, uint32 cmd, CommandCallback *callback, const char *text, bool my_cmd) |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
476 { |
10605
32ba3eb6d7c9
(svn r14890) -Codechange: move the notest information into the command table.
rubidium <rubidium@openttd.org>
parents:
10604
diff
changeset
|
477 assert(_docommand_recursive == 0); |
32ba3eb6d7c9
(svn r14890) -Codechange: move the notest information into the command table.
rubidium <rubidium@openttd.org>
parents:
10604
diff
changeset
|
478 |
32ba3eb6d7c9
(svn r14890) -Codechange: move the notest information into the command table.
rubidium <rubidium@openttd.org>
parents:
10604
diff
changeset
|
479 /* Do not even think about executing out-of-bounds tile-commands */ |
32ba3eb6d7c9
(svn r14890) -Codechange: move the notest information into the command table.
rubidium <rubidium@openttd.org>
parents:
10604
diff
changeset
|
480 if (!IsValidTile(tile)) return false; |
32ba3eb6d7c9
(svn r14890) -Codechange: move the notest information into the command table.
rubidium <rubidium@openttd.org>
parents:
10604
diff
changeset
|
481 |
6950
d2846442a133
(svn r10205) -Codechange: refactor returning of cost, so it can be more easily modified.
rubidium <rubidium@openttd.org>
parents:
6943
diff
changeset
|
482 CommandCost res, res2; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
483 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
484 int x = TileX(tile) * TILE_SIZE; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
485 int y = TileY(tile) * TILE_SIZE; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
486 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
487 _error_message = INVALID_STRING_ID; |
10605
32ba3eb6d7c9
(svn r14890) -Codechange: move the notest information into the command table.
rubidium <rubidium@openttd.org>
parents:
10604
diff
changeset
|
488 StringID error_part1 = GB(cmd, 16, 16); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
489 _additional_cash_required = 0; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
490 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
491 /** Spectator has no rights except for the (dedicated) server which |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
492 * is/can be a spectator but as the server it can do anything */ |
10207
c54d140df948
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium <rubidium@openttd.org>
parents:
10151
diff
changeset
|
493 if (_current_company == COMPANY_SPECTATOR && !_network_server) { |
7222
ad1994c6d92f
(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.
rubidium <rubidium@openttd.org>
parents:
7066
diff
changeset
|
494 if (my_cmd) ShowErrorMessage(_error_message, error_part1, x, y); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
495 return false; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
496 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
497 |
6123
595dc16a6fd8
(svn r8859) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas <belugas@openttd.org>
parents:
6012
diff
changeset
|
498 /* get pointer to command handler */ |
10604
ec12a7f3eef8
(svn r14889) -Codechange: replace some magic numbers with constants.
rubidium <rubidium@openttd.org>
parents:
10515
diff
changeset
|
499 byte cmd_id = cmd & CMD_ID_MASK; |
ec12a7f3eef8
(svn r14889) -Codechange: replace some magic numbers with constants.
rubidium <rubidium@openttd.org>
parents:
10515
diff
changeset
|
500 assert(cmd_id < lengthof(_command_proc_table)); |
10605
32ba3eb6d7c9
(svn r14890) -Codechange: move the notest information into the command table.
rubidium <rubidium@openttd.org>
parents:
10604
diff
changeset
|
501 |
32ba3eb6d7c9
(svn r14890) -Codechange: move the notest information into the command table.
rubidium <rubidium@openttd.org>
parents:
10604
diff
changeset
|
502 CommandProc *proc = _command_proc_table[cmd_id].proc; |
10499
45ca88a8de7d
(svn r14754) -Codechange: get rid of _cmd_text and just pass it as (optional) parameter.
rubidium <rubidium@openttd.org>
parents:
10237
diff
changeset
|
503 if (proc == NULL) return false; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
504 |
10605
32ba3eb6d7c9
(svn r14890) -Codechange: move the notest information into the command table.
rubidium <rubidium@openttd.org>
parents:
10604
diff
changeset
|
505 /* Flags get send to the DoCommand */ |
32ba3eb6d7c9
(svn r14890) -Codechange: move the notest information into the command table.
rubidium <rubidium@openttd.org>
parents:
10604
diff
changeset
|
506 uint32 flags = 0; |
32ba3eb6d7c9
(svn r14890) -Codechange: move the notest information into the command table.
rubidium <rubidium@openttd.org>
parents:
10604
diff
changeset
|
507 /* Command flags are used internally */ |
32ba3eb6d7c9
(svn r14890) -Codechange: move the notest information into the command table.
rubidium <rubidium@openttd.org>
parents:
10604
diff
changeset
|
508 uint cmd_flags = GetCommandFlags(cmd); |
10606
4b69f32abb9d
(svn r14895) -Change: move CMD_NO_WATER from all DoCommandPs to the command table
rubidium <rubidium@openttd.org>
parents:
10605
diff
changeset
|
509 if (cmd_flags & CMD_NO_WATER) flags |= DC_NO_WATER; |
10605
32ba3eb6d7c9
(svn r14890) -Codechange: move the notest information into the command table.
rubidium <rubidium@openttd.org>
parents:
10604
diff
changeset
|
510 if (cmd_flags & CMD_AUTO) flags |= DC_AUTO; |
7521
f5b39ff47e0e
(svn r11040) -Fix [FS#1179]: removing CMD_AUTO from some commands could remotely trigger an assertion.
rubidium <rubidium@openttd.org>
parents:
7506
diff
changeset
|
511 |
10605
32ba3eb6d7c9
(svn r14890) -Codechange: move the notest information into the command table.
rubidium <rubidium@openttd.org>
parents:
10604
diff
changeset
|
512 bool notest = (cmd_flags & CMD_NO_TEST) != 0; |
8187
628ae1d0d227
(svn r11750) -Revert (r11749): commited too much
glx <glx@openttd.org>
parents:
8186
diff
changeset
|
513 |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
514 _docommand_recursive = 1; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
515 |
6123
595dc16a6fd8
(svn r8859) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas <belugas@openttd.org>
parents:
6012
diff
changeset
|
516 /* cost estimation only? */ |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
517 if (!IsGeneratingWorld() && |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
518 _shift_pressed && |
10207
c54d140df948
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium <rubidium@openttd.org>
parents:
10151
diff
changeset
|
519 IsLocalCompany() && |
10607
e3b26a6536ae
(svn r14896) -Codechange: remove an unused constant and the related dead code.
rubidium <rubidium@openttd.org>
parents:
10606
diff
changeset
|
520 !(cmd & CMD_NETWORK_COMMAND) && |
10604
ec12a7f3eef8
(svn r14889) -Codechange: replace some magic numbers with constants.
rubidium <rubidium@openttd.org>
parents:
10515
diff
changeset
|
521 cmd_id != CMD_PAUSE) { |
6123
595dc16a6fd8
(svn r8859) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas <belugas@openttd.org>
parents:
6012
diff
changeset
|
522 /* estimate the cost. */ |
8442
1a90922472a6
(svn r12012) -Fix (r11795): Enable TownRatingTestMode during cost estimation with 'shift'-key.
frosch <frosch@openttd.org>
parents:
8306
diff
changeset
|
523 SetTownRatingTestMode(true); |
10499
45ca88a8de7d
(svn r14754) -Codechange: get rid of _cmd_text and just pass it as (optional) parameter.
rubidium <rubidium@openttd.org>
parents:
10237
diff
changeset
|
524 res = proc(tile, flags, p1, p2, text); |
8442
1a90922472a6
(svn r12012) -Fix (r11795): Enable TownRatingTestMode during cost estimation with 'shift'-key.
frosch <frosch@openttd.org>
parents:
8306
diff
changeset
|
525 SetTownRatingTestMode(false); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
526 if (CmdFailed(res)) { |
6950
d2846442a133
(svn r10205) -Codechange: refactor returning of cost, so it can be more easily modified.
rubidium <rubidium@openttd.org>
parents:
6943
diff
changeset
|
527 res.SetGlobalErrorMessage(); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
528 ShowErrorMessage(_error_message, error_part1, x, y); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
529 } else { |
6950
d2846442a133
(svn r10205) -Codechange: refactor returning of cost, so it can be more easily modified.
rubidium <rubidium@openttd.org>
parents:
6943
diff
changeset
|
530 ShowEstimatedCostOrIncome(res.GetCost(), x, y); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
531 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
532 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
533 _docommand_recursive = 0; |
7609
9e4c3b886ccb
(svn r11138) -Codechange: prepare some subsystems for persistent storage for NewGRFs.
rubidium <rubidium@openttd.org>
parents:
7559
diff
changeset
|
534 ClearStorageChanges(false); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
535 return false; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
536 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
537 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
538 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
539 if (!((cmd & CMD_NO_TEST_IF_IN_NETWORK) && _networking)) { |
6123
595dc16a6fd8
(svn r8859) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas <belugas@openttd.org>
parents:
6012
diff
changeset
|
540 /* first test if the command can be executed. */ |
8232
cca79a4335e0
(svn r11795) -Fix [FS#1616]: take town rating into account when testing if a command can be executed.
glx <glx@openttd.org>
parents:
8230
diff
changeset
|
541 SetTownRatingTestMode(true); |
10499
45ca88a8de7d
(svn r14754) -Codechange: get rid of _cmd_text and just pass it as (optional) parameter.
rubidium <rubidium@openttd.org>
parents:
10237
diff
changeset
|
542 res = proc(tile, flags, p1, p2, text); |
8232
cca79a4335e0
(svn r11795) -Fix [FS#1616]: take town rating into account when testing if a command can be executed.
glx <glx@openttd.org>
parents:
8230
diff
changeset
|
543 SetTownRatingTestMode(false); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
544 if (CmdFailed(res)) { |
6950
d2846442a133
(svn r10205) -Codechange: refactor returning of cost, so it can be more easily modified.
rubidium <rubidium@openttd.org>
parents:
6943
diff
changeset
|
545 res.SetGlobalErrorMessage(); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
546 goto show_error; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
547 } |
6123
595dc16a6fd8
(svn r8859) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas <belugas@openttd.org>
parents:
6012
diff
changeset
|
548 /* no money? Only check if notest is off */ |
10207
c54d140df948
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium <rubidium@openttd.org>
parents:
10151
diff
changeset
|
549 if (!notest && res.GetCost() != 0 && !CheckCompanyHasMoney(res)) goto show_error; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
550 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
551 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
552 #ifdef ENABLE_NETWORK |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
553 /** If we are in network, and the command is not from the network |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
554 * send it to the command-queue and abort execution |
10207
c54d140df948
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium <rubidium@openttd.org>
parents:
10151
diff
changeset
|
555 * If we are a dedicated server temporarily switch local company, otherwise |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
556 * the other parties won't be able to execute our command and will desync. |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
557 * We also need to do this if the server's company has gone bankrupt |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
558 * @todo Rewrite (dedicated) server to something more than a dirty hack! |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
559 */ |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
560 if (_networking && !(cmd & CMD_NETWORK_COMMAND)) { |
10225
fe1681c9d05b
(svn r14448) -Codechange [FS#2328]: rename a few variables (based on a patch by planetmaker)
smatz <smatz@openttd.org>
parents:
10208
diff
changeset
|
561 CompanyID bck = _local_company; |
fe1681c9d05b
(svn r14448) -Codechange [FS#2328]: rename a few variables (based on a patch by planetmaker)
smatz <smatz@openttd.org>
parents:
10208
diff
changeset
|
562 if (_network_dedicated || (_network_server && bck == COMPANY_SPECTATOR)) _local_company = COMPANY_FIRST; |
10499
45ca88a8de7d
(svn r14754) -Codechange: get rid of _cmd_text and just pass it as (optional) parameter.
rubidium <rubidium@openttd.org>
parents:
10237
diff
changeset
|
563 NetworkSend_Command(tile, p1, p2, cmd, callback, text); |
10225
fe1681c9d05b
(svn r14448) -Codechange [FS#2328]: rename a few variables (based on a patch by planetmaker)
smatz <smatz@openttd.org>
parents:
10208
diff
changeset
|
564 if (_network_dedicated || (_network_server && bck == COMPANY_SPECTATOR)) _local_company = bck; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
565 _docommand_recursive = 0; |
7609
9e4c3b886ccb
(svn r11138) -Codechange: prepare some subsystems for persistent storage for NewGRFs.
rubidium <rubidium@openttd.org>
parents:
7559
diff
changeset
|
566 ClearStorageChanges(false); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
567 return true; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
568 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
569 #endif /* ENABLE_NETWORK */ |
10515
7156262cf0c9
(svn r14772) -Codechange: make the "dump log of game to reproduce" desync debug stuff a runtime configurable debug option instead of a compile time option.
rubidium <rubidium@openttd.org>
parents:
10499
diff
changeset
|
570 DEBUG(desync, 1, "cmd: %08x; %08x; %1x; %06x; %08x; %08x; %04x; %s\n", _date, _date_fract, (int)_current_company, tile, p1, p2, cmd & ~CMD_NETWORK_COMMAND, text); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
571 |
10207
c54d140df948
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium <rubidium@openttd.org>
parents:
10151
diff
changeset
|
572 /* update last build coordinate of company. */ |
c54d140df948
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium <rubidium@openttd.org>
parents:
10151
diff
changeset
|
573 if (tile != 0 && IsValidCompanyID(_current_company)) { |
c54d140df948
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium <rubidium@openttd.org>
parents:
10151
diff
changeset
|
574 GetCompany(_current_company)->last_build_coordinate = tile; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
575 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
576 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
577 /* Actually try and execute the command. If no cost-type is given |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
578 * use the construction one */ |
10499
45ca88a8de7d
(svn r14754) -Codechange: get rid of _cmd_text and just pass it as (optional) parameter.
rubidium <rubidium@openttd.org>
parents:
10237
diff
changeset
|
579 res2 = proc(tile, flags | DC_EXEC, p1, p2, text); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
580 |
6123
595dc16a6fd8
(svn r8859) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas <belugas@openttd.org>
parents:
6012
diff
changeset
|
581 /* If notest is on, it means the result of the test can be different than |
595dc16a6fd8
(svn r8859) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas <belugas@openttd.org>
parents:
6012
diff
changeset
|
582 * the real command.. so ignore the test */ |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
583 if (!notest && !((cmd & CMD_NO_TEST_IF_IN_NETWORK) && _networking)) { |
6950
d2846442a133
(svn r10205) -Codechange: refactor returning of cost, so it can be more easily modified.
rubidium <rubidium@openttd.org>
parents:
6943
diff
changeset
|
584 assert(res.GetCost() == res2.GetCost() && CmdFailed(res) == CmdFailed(res2)); // sanity check |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
585 } else { |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
586 if (CmdFailed(res2)) { |
6950
d2846442a133
(svn r10205) -Codechange: refactor returning of cost, so it can be more easily modified.
rubidium <rubidium@openttd.org>
parents:
6943
diff
changeset
|
587 res.SetGlobalErrorMessage(); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
588 goto show_error; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
589 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
590 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
591 |
10207
c54d140df948
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium <rubidium@openttd.org>
parents:
10151
diff
changeset
|
592 SubtractMoneyFromCompany(res2); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
593 |
8306
ea2c123b3655
(svn r11871) -Fix [FS#1074]: do not update signals after each tile when building/removing a large block of track/signals/station
smatz <smatz@openttd.org>
parents:
8275
diff
changeset
|
594 /* update signals if needed */ |
ea2c123b3655
(svn r11871) -Fix [FS#1074]: do not update signals after each tile when building/removing a large block of track/signals/station
smatz <smatz@openttd.org>
parents:
8275
diff
changeset
|
595 UpdateSignalsInBuffer(); |
ea2c123b3655
(svn r11871) -Fix [FS#1074]: do not update signals after each tile when building/removing a large block of track/signals/station
smatz <smatz@openttd.org>
parents:
8275
diff
changeset
|
596 |
10207
c54d140df948
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium <rubidium@openttd.org>
parents:
10151
diff
changeset
|
597 if (IsLocalCompany() && _game_mode != GM_EDITOR) { |
7506
3cdc649e4e30
(svn r11021) -Fix [FS#1175]: do not display income/expenses when they do not belong to a "valid" tile, like the money cheat/giving money.
rubidium <rubidium@openttd.org>
parents:
7266
diff
changeset
|
598 if (res2.GetCost() != 0 && tile != 0) ShowCostOrIncomeAnimation(x, y, GetSlopeZ(x, y), res2.GetCost()); |
6990
a19700261804
(svn r10246) -Fix (r10297): some forgotten money conversions and truncation issues. Thanks to benc for providing the patch.
rubidium <rubidium@openttd.org>
parents:
6980
diff
changeset
|
599 if (_additional_cash_required != 0) { |
7002
fa75522e0249
(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.
rubidium <rubidium@openttd.org>
parents:
6991
diff
changeset
|
600 SetDParam(0, _additional_cash_required); |
7222
ad1994c6d92f
(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.
rubidium <rubidium@openttd.org>
parents:
7066
diff
changeset
|
601 if (my_cmd) ShowErrorMessage(STR_0003_NOT_ENOUGH_CASH_REQUIRES, error_part1, x, y); |
6950
d2846442a133
(svn r10205) -Codechange: refactor returning of cost, so it can be more easily modified.
rubidium <rubidium@openttd.org>
parents:
6943
diff
changeset
|
602 if (res2.GetCost() == 0) goto callb_err; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
603 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
604 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
605 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
606 _docommand_recursive = 0; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
607 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
608 if (callback) callback(true, tile, p1, p2); |
7609
9e4c3b886ccb
(svn r11138) -Codechange: prepare some subsystems for persistent storage for NewGRFs.
rubidium <rubidium@openttd.org>
parents:
7559
diff
changeset
|
609 ClearStorageChanges(true); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
610 return true; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
611 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
612 show_error: |
6123
595dc16a6fd8
(svn r8859) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas <belugas@openttd.org>
parents:
6012
diff
changeset
|
613 /* show error message if the command fails? */ |
10207
c54d140df948
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium <rubidium@openttd.org>
parents:
10151
diff
changeset
|
614 if (IsLocalCompany() && error_part1 != 0 && my_cmd) { |
6491
696f0e1b046e
(svn r9672) -Cleanup: lots of coding style fixes around operands.
rubidium <rubidium@openttd.org>
parents:
6453
diff
changeset
|
615 ShowErrorMessage(_error_message, error_part1, x, y); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
616 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
617 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
618 callb_err: |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
619 _docommand_recursive = 0; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
620 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
621 if (callback) callback(false, tile, p1, p2); |
7609
9e4c3b886ccb
(svn r11138) -Codechange: prepare some subsystems for persistent storage for NewGRFs.
rubidium <rubidium@openttd.org>
parents:
7559
diff
changeset
|
622 ClearStorageChanges(false); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
623 return false; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
624 } |
8854
855ce528445f
(svn r12616) -Codechange: r12591 didn't work as expected for NDS, move one function back to cpp
smatz <smatz@openttd.org>
parents:
8841
diff
changeset
|
625 |
855ce528445f
(svn r12616) -Codechange: r12591 didn't work as expected for NDS, move one function back to cpp
smatz <smatz@openttd.org>
parents:
8841
diff
changeset
|
626 |
855ce528445f
(svn r12616) -Codechange: r12591 didn't work as expected for NDS, move one function back to cpp
smatz <smatz@openttd.org>
parents:
8841
diff
changeset
|
627 CommandCost CommandCost::AddCost(CommandCost ret) |
855ce528445f
(svn r12616) -Codechange: r12591 didn't work as expected for NDS, move one function back to cpp
smatz <smatz@openttd.org>
parents:
8841
diff
changeset
|
628 { |
855ce528445f
(svn r12616) -Codechange: r12591 didn't work as expected for NDS, move one function back to cpp
smatz <smatz@openttd.org>
parents:
8841
diff
changeset
|
629 this->AddCost(ret.cost); |
855ce528445f
(svn r12616) -Codechange: r12591 didn't work as expected for NDS, move one function back to cpp
smatz <smatz@openttd.org>
parents:
8841
diff
changeset
|
630 if (this->success && !ret.success) { |
855ce528445f
(svn r12616) -Codechange: r12591 didn't work as expected for NDS, move one function back to cpp
smatz <smatz@openttd.org>
parents:
8841
diff
changeset
|
631 this->message = ret.message; |
855ce528445f
(svn r12616) -Codechange: r12591 didn't work as expected for NDS, move one function back to cpp
smatz <smatz@openttd.org>
parents:
8841
diff
changeset
|
632 this->success = false; |
855ce528445f
(svn r12616) -Codechange: r12591 didn't work as expected for NDS, move one function back to cpp
smatz <smatz@openttd.org>
parents:
8841
diff
changeset
|
633 } |
855ce528445f
(svn r12616) -Codechange: r12591 didn't work as expected for NDS, move one function back to cpp
smatz <smatz@openttd.org>
parents:
8841
diff
changeset
|
634 return *this; |
855ce528445f
(svn r12616) -Codechange: r12591 didn't work as expected for NDS, move one function back to cpp
smatz <smatz@openttd.org>
parents:
8841
diff
changeset
|
635 } |