annotate command.c @ 1796:80af8ed2ebd8 draft

(svn r2300) - CodeChange: check the last number of commands, now only the refit ones remain, and some server-only commands. - CodeChange: remove cmd-misuses CmdStartScenario() and CmdDestroyCompanyHQ() - Fix (invisible): when parameter checking CmdRestoreOrderIndex() the vehicle did not have its orders yet, so it would fail. So move doing this until AFTER the orders have been added back in RestoreVehicleOrders()
author Darkvater <Darkvater@openttd.org>
date Thu, 12 May 2005 23:46:01 +0000
parents 5f679efc4b84
children e800fe388111
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
1 #include "stdafx.h"
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
2 #include "ttd.h"
507
9dcc34b8887e (svn r815) Include strings.h only in the files which need it.
tron <tron@openttd.org>
parents: 467
diff changeset
3 #include "table/strings.h"
679
21e658645b32 (svn r1117) Move map arrays and some related macros into their own files map.c and map.h
tron <tron@openttd.org>
parents: 652
diff changeset
4 #include "map.h"
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
5 #include "gui.h"
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
6 #include "command.h"
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
7 #include "player.h"
543
0bade3c3b8ba (svn r942) -Merged branch/network back into the trunk
truelight <truelight@openttd.org>
parents: 534
diff changeset
8 #include "network.h"
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
9
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
10 #define DEF_COMMAND(yyyy) int32 yyyy(int x, int y, uint32 flags, uint32 p1, uint32 p2)
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
11
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
12 DEF_COMMAND(CmdBuildRailroadTrack);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
13 DEF_COMMAND(CmdRemoveRailroadTrack);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
14 DEF_COMMAND(CmdBuildSingleRail);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
15 DEF_COMMAND(CmdRemoveSingleRail);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
16
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
17 DEF_COMMAND(CmdLandscapeClear);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
18
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
19 DEF_COMMAND(CmdBuildBridge);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
20
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
21 DEF_COMMAND(CmdBuildRailroadStation);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
22 DEF_COMMAND(CmdRemoveFromRailroadStation);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
23 DEF_COMMAND(CmdConvertRail);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
24
1227
259e7dab9c80 (svn r1731) - Fix: [ 1106930 ] BugFix: placing signals with 2x1 drags workaround is completely rewritten. Also features checks for hacked/modified clients. Thanks a lot Hackykid!
darkvater <darkvater@openttd.org>
parents: 1217
diff changeset
25 DEF_COMMAND(CmdBuildSingleSignal);
259e7dab9c80 (svn r1731) - Fix: [ 1106930 ] BugFix: placing signals with 2x1 drags workaround is completely rewritten. Also features checks for hacked/modified clients. Thanks a lot Hackykid!
darkvater <darkvater@openttd.org>
parents: 1217
diff changeset
26 DEF_COMMAND(CmdRemoveSingleSignal);
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
27
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
28 DEF_COMMAND(CmdTerraformLand);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
29
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
30 DEF_COMMAND(CmdPurchaseLandArea);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
31 DEF_COMMAND(CmdSellLandArea);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
32
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
33 DEF_COMMAND(CmdBuildTunnel);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
34
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
35 DEF_COMMAND(CmdBuildTrainDepot);
395
9566850ffa0d (svn r587) -newgrf: Rename all /Checkpoint/i tokens to 'Waypoint's. The name actually makes some sense and is also compatible with TTDPatch (pasky).
darkvater <darkvater@openttd.org>
parents: 215
diff changeset
36 DEF_COMMAND(CmdBuildTrainWaypoint);
9566850ffa0d (svn r587) -newgrf: Rename all /Checkpoint/i tokens to 'Waypoint's. The name actually makes some sense and is also compatible with TTDPatch (pasky).
darkvater <darkvater@openttd.org>
parents: 215
diff changeset
37 DEF_COMMAND(CmdRenameWaypoint);
9566850ffa0d (svn r587) -newgrf: Rename all /Checkpoint/i tokens to 'Waypoint's. The name actually makes some sense and is also compatible with TTDPatch (pasky).
darkvater <darkvater@openttd.org>
parents: 215
diff changeset
38 DEF_COMMAND(CmdRemoveTrainWaypoint);
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
39
1217
9bc5fcb40a5d (svn r1721) -Feature: It is now possible to build multiple road stations (up to 8) on
celestar <celestar@openttd.org>
parents: 1093
diff changeset
40 DEF_COMMAND(CmdBuildRoadStop);
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
41
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
42 DEF_COMMAND(CmdBuildLongRoad);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
43 DEF_COMMAND(CmdRemoveLongRoad);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
44 DEF_COMMAND(CmdBuildRoad);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
45 DEF_COMMAND(CmdRemoveRoad);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
46
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
47 DEF_COMMAND(CmdBuildRoadDepot);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
48
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
49 DEF_COMMAND(CmdBuildAirport);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
50
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
51 DEF_COMMAND(CmdBuildDock);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
52
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
53 DEF_COMMAND(CmdBuildShipDepot);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
54
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
55 DEF_COMMAND(CmdBuildBuoy);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
56
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
57 DEF_COMMAND(CmdPlantTree);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
58
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
59 DEF_COMMAND(CmdBuildRailVehicle);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
60 DEF_COMMAND(CmdMoveRailVehicle);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
61
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
62 DEF_COMMAND(CmdStartStopTrain);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
63
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
64 DEF_COMMAND(CmdSellRailWagon);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
65
1794
5f679efc4b84 (svn r2298) - CodeChange: removed CmdAbuses: CmdSetTownNameType(), CmdStartNewGame(), CmdCreateScenario(), CmdSetNewLandscapeType() and CmdGenRandomNewGame().
Darkvater <Darkvater@openttd.org>
parents: 1786
diff changeset
66 DEF_COMMAND(CmdSendTrainToDepot);
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
67 DEF_COMMAND(CmdForceTrainProceed);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
68 DEF_COMMAND(CmdReverseTrainDirection);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
69
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
70 DEF_COMMAND(CmdModifyOrder);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
71 DEF_COMMAND(CmdSkipOrder);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
72 DEF_COMMAND(CmdDeleteOrder);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
73 DEF_COMMAND(CmdInsertOrder);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
74 DEF_COMMAND(CmdChangeTrainServiceInt);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
75 DEF_COMMAND(CmdRestoreOrderIndex);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
76
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
77 DEF_COMMAND(CmdBuildIndustry);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
78
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
79 DEF_COMMAND(CmdBuildCompanyHQ);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
80 DEF_COMMAND(CmdSetPlayerFace);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
81 DEF_COMMAND(CmdSetPlayerColor);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
82
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
83 DEF_COMMAND(CmdIncreaseLoan);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
84 DEF_COMMAND(CmdDecreaseLoan);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
85
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
86 DEF_COMMAND(CmdWantEnginePreview);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
87
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
88 DEF_COMMAND(CmdNameVehicle);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
89 DEF_COMMAND(CmdRenameEngine);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
90
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
91 DEF_COMMAND(CmdChangeCompanyName);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
92 DEF_COMMAND(CmdChangePresidentName);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
93
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
94 DEF_COMMAND(CmdRenameStation);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
95
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
96 DEF_COMMAND(CmdSellAircraft);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
97 DEF_COMMAND(CmdStartStopAircraft);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
98 DEF_COMMAND(CmdBuildAircraft);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
99 DEF_COMMAND(CmdSendAircraftToHangar);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
100 DEF_COMMAND(CmdChangeAircraftServiceInt);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
101 DEF_COMMAND(CmdRefitAircraft);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
102
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
103 DEF_COMMAND(CmdPlaceSign);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
104 DEF_COMMAND(CmdRenameSign);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
105
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
106 DEF_COMMAND(CmdBuildRoadVeh);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
107 DEF_COMMAND(CmdStartStopRoadVeh);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
108 DEF_COMMAND(CmdSellRoadVeh);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
109 DEF_COMMAND(CmdSendRoadVehToDepot);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
110 DEF_COMMAND(CmdTurnRoadVeh);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
111 DEF_COMMAND(CmdChangeRoadVehServiceInt);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
112
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
113 DEF_COMMAND(CmdPause);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
114
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
115 DEF_COMMAND(CmdBuyShareInCompany);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
116 DEF_COMMAND(CmdSellShareInCompany);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
117 DEF_COMMAND(CmdBuyCompany);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
118
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
119 DEF_COMMAND(CmdBuildTown);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
120
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
121 DEF_COMMAND(CmdRenameTown);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
122 DEF_COMMAND(CmdDoTownAction);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
123
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
124 DEF_COMMAND(CmdSetRoadDriveSide);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
125
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
126 DEF_COMMAND(CmdChangeDifficultyLevel);
543
0bade3c3b8ba (svn r942) -Merged branch/network back into the trunk
truelight <truelight@openttd.org>
parents: 534
diff changeset
127 DEF_COMMAND(CmdChangePatchSetting);
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
128
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
129 DEF_COMMAND(CmdStartStopShip);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
130 DEF_COMMAND(CmdSellShip);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
131 DEF_COMMAND(CmdBuildShip);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
132 DEF_COMMAND(CmdSendShipToDepot);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
133 DEF_COMMAND(CmdChangeShipServiceInt);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
134 DEF_COMMAND(CmdRefitShip);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
135
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
136 DEF_COMMAND(CmdCloneOrder);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
137
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
138 DEF_COMMAND(CmdClearArea);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
139
543
0bade3c3b8ba (svn r942) -Merged branch/network back into the trunk
truelight <truelight@openttd.org>
parents: 534
diff changeset
140 DEF_COMMAND(CmdGiveMoney);
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
141 DEF_COMMAND(CmdMoneyCheat);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
142 DEF_COMMAND(CmdBuildCanal);
147
4a8a161e8d54 (svn r148) -Feature: Company HQ can now be moved somewhere else (cost 1% of company value). Water floods HQ.
darkvater <darkvater@openttd.org>
parents: 58
diff changeset
143 DEF_COMMAND(CmdBuildLock);
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
144
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
145 DEF_COMMAND(CmdPlayerCtrl);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
146
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
147 DEF_COMMAND(CmdLevelLand);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
148
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
149 DEF_COMMAND(CmdRefitRailVehicle);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
150
1227
259e7dab9c80 (svn r1731) - Fix: [ 1106930 ] BugFix: placing signals with 2x1 drags workaround is completely rewritten. Also features checks for hacked/modified clients. Thanks a lot Hackykid!
darkvater <darkvater@openttd.org>
parents: 1217
diff changeset
151 DEF_COMMAND(CmdBuildSignalTrack);
259e7dab9c80 (svn r1731) - Fix: [ 1106930 ] BugFix: placing signals with 2x1 drags workaround is completely rewritten. Also features checks for hacked/modified clients. Thanks a lot Hackykid!
darkvater <darkvater@openttd.org>
parents: 1217
diff changeset
152 DEF_COMMAND(CmdRemoveSignalTrack);
58
9c9aa1db223f (svn r59) -Feature: Added Autosignals, just like Autorail. Can copy signal style, convert signal<->semaphore, etc. Big thanks to betatesters Dribbel and Testman57 (Darkvater)
darkvater <darkvater@openttd.org>
parents: 0
diff changeset
153
842
a71aeb1cfa97 (svn r1323) Adding autoreplace feature
bjarni <bjarni@openttd.org>
parents: 826
diff changeset
154 DEF_COMMAND(CmdReplaceVehicle);
812
ddbbbf294f73 (svn r1283) -Add: AutoRenew is now a client-side patch instead of a game-side patch
truelight <truelight@openttd.org>
parents: 679
diff changeset
155
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
156 /* The master command table */
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
157 static CommandProc * const _command_proc_table[] = {
147
4a8a161e8d54 (svn r148) -Feature: Company HQ can now be moved somewhere else (cost 1% of company value). Water floods HQ.
darkvater <darkvater@openttd.org>
parents: 58
diff changeset
158 CmdBuildRailroadTrack, /* 0 */
4a8a161e8d54 (svn r148) -Feature: Company HQ can now be moved somewhere else (cost 1% of company value). Water floods HQ.
darkvater <darkvater@openttd.org>
parents: 58
diff changeset
159 CmdRemoveRailroadTrack, /* 1 */
4a8a161e8d54 (svn r148) -Feature: Company HQ can now be moved somewhere else (cost 1% of company value). Water floods HQ.
darkvater <darkvater@openttd.org>
parents: 58
diff changeset
160 CmdBuildSingleRail, /* 2 */
4a8a161e8d54 (svn r148) -Feature: Company HQ can now be moved somewhere else (cost 1% of company value). Water floods HQ.
darkvater <darkvater@openttd.org>
parents: 58
diff changeset
161 CmdRemoveSingleRail, /* 3 */
4a8a161e8d54 (svn r148) -Feature: Company HQ can now be moved somewhere else (cost 1% of company value). Water floods HQ.
darkvater <darkvater@openttd.org>
parents: 58
diff changeset
162 CmdLandscapeClear, /* 4 */
4a8a161e8d54 (svn r148) -Feature: Company HQ can now be moved somewhere else (cost 1% of company value). Water floods HQ.
darkvater <darkvater@openttd.org>
parents: 58
diff changeset
163 CmdBuildBridge, /* 5 */
4a8a161e8d54 (svn r148) -Feature: Company HQ can now be moved somewhere else (cost 1% of company value). Water floods HQ.
darkvater <darkvater@openttd.org>
parents: 58
diff changeset
164 CmdBuildRailroadStation, /* 6 */
4a8a161e8d54 (svn r148) -Feature: Company HQ can now be moved somewhere else (cost 1% of company value). Water floods HQ.
darkvater <darkvater@openttd.org>
parents: 58
diff changeset
165 CmdBuildTrainDepot, /* 7 */
1227
259e7dab9c80 (svn r1731) - Fix: [ 1106930 ] BugFix: placing signals with 2x1 drags workaround is completely rewritten. Also features checks for hacked/modified clients. Thanks a lot Hackykid!
darkvater <darkvater@openttd.org>
parents: 1217
diff changeset
166 CmdBuildSingleSignal, /* 8 */
259e7dab9c80 (svn r1731) - Fix: [ 1106930 ] BugFix: placing signals with 2x1 drags workaround is completely rewritten. Also features checks for hacked/modified clients. Thanks a lot Hackykid!
darkvater <darkvater@openttd.org>
parents: 1217
diff changeset
167 CmdRemoveSingleSignal, /* 9 */
147
4a8a161e8d54 (svn r148) -Feature: Company HQ can now be moved somewhere else (cost 1% of company value). Water floods HQ.
darkvater <darkvater@openttd.org>
parents: 58
diff changeset
168 CmdTerraformLand, /* 10 */
4a8a161e8d54 (svn r148) -Feature: Company HQ can now be moved somewhere else (cost 1% of company value). Water floods HQ.
darkvater <darkvater@openttd.org>
parents: 58
diff changeset
169 CmdPurchaseLandArea, /* 11 */
4a8a161e8d54 (svn r148) -Feature: Company HQ can now be moved somewhere else (cost 1% of company value). Water floods HQ.
darkvater <darkvater@openttd.org>
parents: 58
diff changeset
170 CmdSellLandArea, /* 12 */
4a8a161e8d54 (svn r148) -Feature: Company HQ can now be moved somewhere else (cost 1% of company value). Water floods HQ.
darkvater <darkvater@openttd.org>
parents: 58
diff changeset
171 CmdBuildTunnel, /* 13 */
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
172 CmdRemoveFromRailroadStation, /* 14 */
147
4a8a161e8d54 (svn r148) -Feature: Company HQ can now be moved somewhere else (cost 1% of company value). Water floods HQ.
darkvater <darkvater@openttd.org>
parents: 58
diff changeset
173 CmdConvertRail, /* 15 */
395
9566850ffa0d (svn r587) -newgrf: Rename all /Checkpoint/i tokens to 'Waypoint's. The name actually makes some sense and is also compatible with TTDPatch (pasky).
darkvater <darkvater@openttd.org>
parents: 215
diff changeset
174 CmdBuildTrainWaypoint, /* 16 */
9566850ffa0d (svn r587) -newgrf: Rename all /Checkpoint/i tokens to 'Waypoint's. The name actually makes some sense and is also compatible with TTDPatch (pasky).
darkvater <darkvater@openttd.org>
parents: 215
diff changeset
175 CmdRenameWaypoint, /* 17 */
9566850ffa0d (svn r587) -newgrf: Rename all /Checkpoint/i tokens to 'Waypoint's. The name actually makes some sense and is also compatible with TTDPatch (pasky).
darkvater <darkvater@openttd.org>
parents: 215
diff changeset
176 CmdRemoveTrainWaypoint, /* 18 */
1217
9bc5fcb40a5d (svn r1721) -Feature: It is now possible to build multiple road stations (up to 8) on
celestar <celestar@openttd.org>
parents: 1093
diff changeset
177 NULL, /* 19 */
147
4a8a161e8d54 (svn r148) -Feature: Company HQ can now be moved somewhere else (cost 1% of company value). Water floods HQ.
darkvater <darkvater@openttd.org>
parents: 58
diff changeset
178 NULL, /* 20 */
1217
9bc5fcb40a5d (svn r1721) -Feature: It is now possible to build multiple road stations (up to 8) on
celestar <celestar@openttd.org>
parents: 1093
diff changeset
179 CmdBuildRoadStop, /* 21 */
147
4a8a161e8d54 (svn r148) -Feature: Company HQ can now be moved somewhere else (cost 1% of company value). Water floods HQ.
darkvater <darkvater@openttd.org>
parents: 58
diff changeset
180 NULL, /* 22 */
4a8a161e8d54 (svn r148) -Feature: Company HQ can now be moved somewhere else (cost 1% of company value). Water floods HQ.
darkvater <darkvater@openttd.org>
parents: 58
diff changeset
181 CmdBuildLongRoad, /* 23 */
4a8a161e8d54 (svn r148) -Feature: Company HQ can now be moved somewhere else (cost 1% of company value). Water floods HQ.
darkvater <darkvater@openttd.org>
parents: 58
diff changeset
182 CmdRemoveLongRoad, /* 24 */
4a8a161e8d54 (svn r148) -Feature: Company HQ can now be moved somewhere else (cost 1% of company value). Water floods HQ.
darkvater <darkvater@openttd.org>
parents: 58
diff changeset
183 CmdBuildRoad, /* 25 */
4a8a161e8d54 (svn r148) -Feature: Company HQ can now be moved somewhere else (cost 1% of company value). Water floods HQ.
darkvater <darkvater@openttd.org>
parents: 58
diff changeset
184 CmdRemoveRoad, /* 26 */
4a8a161e8d54 (svn r148) -Feature: Company HQ can now be moved somewhere else (cost 1% of company value). Water floods HQ.
darkvater <darkvater@openttd.org>
parents: 58
diff changeset
185 CmdBuildRoadDepot, /* 27 */
4a8a161e8d54 (svn r148) -Feature: Company HQ can now be moved somewhere else (cost 1% of company value). Water floods HQ.
darkvater <darkvater@openttd.org>
parents: 58
diff changeset
186 NULL, /* 28 */
4a8a161e8d54 (svn r148) -Feature: Company HQ can now be moved somewhere else (cost 1% of company value). Water floods HQ.
darkvater <darkvater@openttd.org>
parents: 58
diff changeset
187 CmdBuildAirport, /* 29 */
4a8a161e8d54 (svn r148) -Feature: Company HQ can now be moved somewhere else (cost 1% of company value). Water floods HQ.
darkvater <darkvater@openttd.org>
parents: 58
diff changeset
188 CmdBuildDock, /* 30 */
4a8a161e8d54 (svn r148) -Feature: Company HQ can now be moved somewhere else (cost 1% of company value). Water floods HQ.
darkvater <darkvater@openttd.org>
parents: 58
diff changeset
189 CmdBuildShipDepot, /* 31 */
4a8a161e8d54 (svn r148) -Feature: Company HQ can now be moved somewhere else (cost 1% of company value). Water floods HQ.
darkvater <darkvater@openttd.org>
parents: 58
diff changeset
190 CmdBuildBuoy, /* 32 */
4a8a161e8d54 (svn r148) -Feature: Company HQ can now be moved somewhere else (cost 1% of company value). Water floods HQ.
darkvater <darkvater@openttd.org>
parents: 58
diff changeset
191 CmdPlantTree, /* 33 */
4a8a161e8d54 (svn r148) -Feature: Company HQ can now be moved somewhere else (cost 1% of company value). Water floods HQ.
darkvater <darkvater@openttd.org>
parents: 58
diff changeset
192 CmdBuildRailVehicle, /* 34 */
4a8a161e8d54 (svn r148) -Feature: Company HQ can now be moved somewhere else (cost 1% of company value). Water floods HQ.
darkvater <darkvater@openttd.org>
parents: 58
diff changeset
193 CmdMoveRailVehicle, /* 35 */
4a8a161e8d54 (svn r148) -Feature: Company HQ can now be moved somewhere else (cost 1% of company value). Water floods HQ.
darkvater <darkvater@openttd.org>
parents: 58
diff changeset
194 CmdStartStopTrain, /* 36 */
4a8a161e8d54 (svn r148) -Feature: Company HQ can now be moved somewhere else (cost 1% of company value). Water floods HQ.
darkvater <darkvater@openttd.org>
parents: 58
diff changeset
195 NULL, /* 37 */
4a8a161e8d54 (svn r148) -Feature: Company HQ can now be moved somewhere else (cost 1% of company value). Water floods HQ.
darkvater <darkvater@openttd.org>
parents: 58
diff changeset
196 CmdSellRailWagon, /* 38 */
1794
5f679efc4b84 (svn r2298) - CodeChange: removed CmdAbuses: CmdSetTownNameType(), CmdStartNewGame(), CmdCreateScenario(), CmdSetNewLandscapeType() and CmdGenRandomNewGame().
Darkvater <Darkvater@openttd.org>
parents: 1786
diff changeset
197 CmdSendTrainToDepot, /* 39 */
147
4a8a161e8d54 (svn r148) -Feature: Company HQ can now be moved somewhere else (cost 1% of company value). Water floods HQ.
darkvater <darkvater@openttd.org>
parents: 58
diff changeset
198 CmdForceTrainProceed, /* 40 */
4a8a161e8d54 (svn r148) -Feature: Company HQ can now be moved somewhere else (cost 1% of company value). Water floods HQ.
darkvater <darkvater@openttd.org>
parents: 58
diff changeset
199 CmdReverseTrainDirection, /* 41 */
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
200
147
4a8a161e8d54 (svn r148) -Feature: Company HQ can now be moved somewhere else (cost 1% of company value). Water floods HQ.
darkvater <darkvater@openttd.org>
parents: 58
diff changeset
201 CmdModifyOrder, /* 42 */
4a8a161e8d54 (svn r148) -Feature: Company HQ can now be moved somewhere else (cost 1% of company value). Water floods HQ.
darkvater <darkvater@openttd.org>
parents: 58
diff changeset
202 CmdSkipOrder, /* 43 */
4a8a161e8d54 (svn r148) -Feature: Company HQ can now be moved somewhere else (cost 1% of company value). Water floods HQ.
darkvater <darkvater@openttd.org>
parents: 58
diff changeset
203 CmdDeleteOrder, /* 44 */
4a8a161e8d54 (svn r148) -Feature: Company HQ can now be moved somewhere else (cost 1% of company value). Water floods HQ.
darkvater <darkvater@openttd.org>
parents: 58
diff changeset
204 CmdInsertOrder, /* 45 */
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
205
147
4a8a161e8d54 (svn r148) -Feature: Company HQ can now be moved somewhere else (cost 1% of company value). Water floods HQ.
darkvater <darkvater@openttd.org>
parents: 58
diff changeset
206 CmdChangeTrainServiceInt, /* 46 */
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
207
147
4a8a161e8d54 (svn r148) -Feature: Company HQ can now be moved somewhere else (cost 1% of company value). Water floods HQ.
darkvater <darkvater@openttd.org>
parents: 58
diff changeset
208 CmdBuildIndustry, /* 47 */
4a8a161e8d54 (svn r148) -Feature: Company HQ can now be moved somewhere else (cost 1% of company value). Water floods HQ.
darkvater <darkvater@openttd.org>
parents: 58
diff changeset
209 CmdBuildCompanyHQ, /* 48 */
4a8a161e8d54 (svn r148) -Feature: Company HQ can now be moved somewhere else (cost 1% of company value). Water floods HQ.
darkvater <darkvater@openttd.org>
parents: 58
diff changeset
210 CmdSetPlayerFace, /* 49 */
4a8a161e8d54 (svn r148) -Feature: Company HQ can now be moved somewhere else (cost 1% of company value). Water floods HQ.
darkvater <darkvater@openttd.org>
parents: 58
diff changeset
211 CmdSetPlayerColor, /* 50 */
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
212
147
4a8a161e8d54 (svn r148) -Feature: Company HQ can now be moved somewhere else (cost 1% of company value). Water floods HQ.
darkvater <darkvater@openttd.org>
parents: 58
diff changeset
213 CmdIncreaseLoan, /* 51 */
4a8a161e8d54 (svn r148) -Feature: Company HQ can now be moved somewhere else (cost 1% of company value). Water floods HQ.
darkvater <darkvater@openttd.org>
parents: 58
diff changeset
214 CmdDecreaseLoan, /* 52 */
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
215
147
4a8a161e8d54 (svn r148) -Feature: Company HQ can now be moved somewhere else (cost 1% of company value). Water floods HQ.
darkvater <darkvater@openttd.org>
parents: 58
diff changeset
216 CmdWantEnginePreview, /* 53 */
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
217
147
4a8a161e8d54 (svn r148) -Feature: Company HQ can now be moved somewhere else (cost 1% of company value). Water floods HQ.
darkvater <darkvater@openttd.org>
parents: 58
diff changeset
218 CmdNameVehicle, /* 54 */
4a8a161e8d54 (svn r148) -Feature: Company HQ can now be moved somewhere else (cost 1% of company value). Water floods HQ.
darkvater <darkvater@openttd.org>
parents: 58
diff changeset
219 CmdRenameEngine, /* 55 */
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
220
147
4a8a161e8d54 (svn r148) -Feature: Company HQ can now be moved somewhere else (cost 1% of company value). Water floods HQ.
darkvater <darkvater@openttd.org>
parents: 58
diff changeset
221 CmdChangeCompanyName, /* 56 */
4a8a161e8d54 (svn r148) -Feature: Company HQ can now be moved somewhere else (cost 1% of company value). Water floods HQ.
darkvater <darkvater@openttd.org>
parents: 58
diff changeset
222 CmdChangePresidentName, /* 57 */
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
223
147
4a8a161e8d54 (svn r148) -Feature: Company HQ can now be moved somewhere else (cost 1% of company value). Water floods HQ.
darkvater <darkvater@openttd.org>
parents: 58
diff changeset
224 CmdRenameStation, /* 58 */
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
225
147
4a8a161e8d54 (svn r148) -Feature: Company HQ can now be moved somewhere else (cost 1% of company value). Water floods HQ.
darkvater <darkvater@openttd.org>
parents: 58
diff changeset
226 CmdSellAircraft, /* 59 */
4a8a161e8d54 (svn r148) -Feature: Company HQ can now be moved somewhere else (cost 1% of company value). Water floods HQ.
darkvater <darkvater@openttd.org>
parents: 58
diff changeset
227 CmdStartStopAircraft, /* 60 */
1794
5f679efc4b84 (svn r2298) - CodeChange: removed CmdAbuses: CmdSetTownNameType(), CmdStartNewGame(), CmdCreateScenario(), CmdSetNewLandscapeType() and CmdGenRandomNewGame().
Darkvater <Darkvater@openttd.org>
parents: 1786
diff changeset
228
147
4a8a161e8d54 (svn r148) -Feature: Company HQ can now be moved somewhere else (cost 1% of company value). Water floods HQ.
darkvater <darkvater@openttd.org>
parents: 58
diff changeset
229 CmdBuildAircraft, /* 61 */
4a8a161e8d54 (svn r148) -Feature: Company HQ can now be moved somewhere else (cost 1% of company value). Water floods HQ.
darkvater <darkvater@openttd.org>
parents: 58
diff changeset
230 CmdSendAircraftToHangar, /* 62 */
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
231 CmdChangeAircraftServiceInt, /* 63 */
1796
80af8ed2ebd8 (svn r2300) - CodeChange: check the last number of commands, now only the refit ones remain, and some server-only commands.
Darkvater <Darkvater@openttd.org>
parents: 1794
diff changeset
232 CmdRefitAircraft, /* 64 <-- REFIT: Hackykid */
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
233
147
4a8a161e8d54 (svn r148) -Feature: Company HQ can now be moved somewhere else (cost 1% of company value). Water floods HQ.
darkvater <darkvater@openttd.org>
parents: 58
diff changeset
234 CmdPlaceSign, /* 65 */
4a8a161e8d54 (svn r148) -Feature: Company HQ can now be moved somewhere else (cost 1% of company value). Water floods HQ.
darkvater <darkvater@openttd.org>
parents: 58
diff changeset
235 CmdRenameSign, /* 66 */
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
236
147
4a8a161e8d54 (svn r148) -Feature: Company HQ can now be moved somewhere else (cost 1% of company value). Water floods HQ.
darkvater <darkvater@openttd.org>
parents: 58
diff changeset
237 CmdBuildRoadVeh, /* 67 */
4a8a161e8d54 (svn r148) -Feature: Company HQ can now be moved somewhere else (cost 1% of company value). Water floods HQ.
darkvater <darkvater@openttd.org>
parents: 58
diff changeset
238 CmdStartStopRoadVeh, /* 68 */
4a8a161e8d54 (svn r148) -Feature: Company HQ can now be moved somewhere else (cost 1% of company value). Water floods HQ.
darkvater <darkvater@openttd.org>
parents: 58
diff changeset
239 CmdSellRoadVeh, /* 69 */
4a8a161e8d54 (svn r148) -Feature: Company HQ can now be moved somewhere else (cost 1% of company value). Water floods HQ.
darkvater <darkvater@openttd.org>
parents: 58
diff changeset
240 CmdSendRoadVehToDepot, /* 70 */
4a8a161e8d54 (svn r148) -Feature: Company HQ can now be moved somewhere else (cost 1% of company value). Water floods HQ.
darkvater <darkvater@openttd.org>
parents: 58
diff changeset
241 CmdTurnRoadVeh, /* 71 */
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
242 CmdChangeRoadVehServiceInt, /* 72 */
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
243
1794
5f679efc4b84 (svn r2298) - CodeChange: removed CmdAbuses: CmdSetTownNameType(), CmdStartNewGame(), CmdCreateScenario(), CmdSetNewLandscapeType() and CmdGenRandomNewGame().
Darkvater <Darkvater@openttd.org>
parents: 1786
diff changeset
244 CmdPause, /* 73 <-- TODO: check/enforce by server */
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
245
147
4a8a161e8d54 (svn r148) -Feature: Company HQ can now be moved somewhere else (cost 1% of company value). Water floods HQ.
darkvater <darkvater@openttd.org>
parents: 58
diff changeset
246 CmdBuyShareInCompany, /* 74 */
4a8a161e8d54 (svn r148) -Feature: Company HQ can now be moved somewhere else (cost 1% of company value). Water floods HQ.
darkvater <darkvater@openttd.org>
parents: 58
diff changeset
247 CmdSellShareInCompany, /* 75 */
4a8a161e8d54 (svn r148) -Feature: Company HQ can now be moved somewhere else (cost 1% of company value). Water floods HQ.
darkvater <darkvater@openttd.org>
parents: 58
diff changeset
248 CmdBuyCompany, /* 76 */
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
249
1796
80af8ed2ebd8 (svn r2300) - CodeChange: check the last number of commands, now only the refit ones remain, and some server-only commands.
Darkvater <Darkvater@openttd.org>
parents: 1794
diff changeset
250 CmdBuildTown, /* 77 <-- offline */
147
4a8a161e8d54 (svn r148) -Feature: Company HQ can now be moved somewhere else (cost 1% of company value). Water floods HQ.
darkvater <darkvater@openttd.org>
parents: 58
diff changeset
251 NULL, /* 78 */
4a8a161e8d54 (svn r148) -Feature: Company HQ can now be moved somewhere else (cost 1% of company value). Water floods HQ.
darkvater <darkvater@openttd.org>
parents: 58
diff changeset
252 NULL, /* 79 */
1794
5f679efc4b84 (svn r2298) - CodeChange: removed CmdAbuses: CmdSetTownNameType(), CmdStartNewGame(), CmdCreateScenario(), CmdSetNewLandscapeType() and CmdGenRandomNewGame().
Darkvater <Darkvater@openttd.org>
parents: 1786
diff changeset
253 CmdRenameTown, /* 80 <-- TODO: check/enforce by server */
147
4a8a161e8d54 (svn r148) -Feature: Company HQ can now be moved somewhere else (cost 1% of company value). Water floods HQ.
darkvater <darkvater@openttd.org>
parents: 58
diff changeset
254 CmdDoTownAction, /* 81 */
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
255
1794
5f679efc4b84 (svn r2298) - CodeChange: removed CmdAbuses: CmdSetTownNameType(), CmdStartNewGame(), CmdCreateScenario(), CmdSetNewLandscapeType() and CmdGenRandomNewGame().
Darkvater <Darkvater@openttd.org>
parents: 1786
diff changeset
256 CmdSetRoadDriveSide, /* 82 <-- TODO: check/enforce by server */
5f679efc4b84 (svn r2298) - CodeChange: removed CmdAbuses: CmdSetTownNameType(), CmdStartNewGame(), CmdCreateScenario(), CmdSetNewLandscapeType() and CmdGenRandomNewGame().
Darkvater <Darkvater@openttd.org>
parents: 1786
diff changeset
257 NULL, /* 83 */
147
4a8a161e8d54 (svn r148) -Feature: Company HQ can now be moved somewhere else (cost 1% of company value). Water floods HQ.
darkvater <darkvater@openttd.org>
parents: 58
diff changeset
258 NULL, /* 84 */
1794
5f679efc4b84 (svn r2298) - CodeChange: removed CmdAbuses: CmdSetTownNameType(), CmdStartNewGame(), CmdCreateScenario(), CmdSetNewLandscapeType() and CmdGenRandomNewGame().
Darkvater <Darkvater@openttd.org>
parents: 1786
diff changeset
259 CmdChangeDifficultyLevel, /* 85 <-- TODO: check/enforce by server */
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
260
147
4a8a161e8d54 (svn r148) -Feature: Company HQ can now be moved somewhere else (cost 1% of company value). Water floods HQ.
darkvater <darkvater@openttd.org>
parents: 58
diff changeset
261 CmdStartStopShip, /* 86 */
4a8a161e8d54 (svn r148) -Feature: Company HQ can now be moved somewhere else (cost 1% of company value). Water floods HQ.
darkvater <darkvater@openttd.org>
parents: 58
diff changeset
262 CmdSellShip, /* 87 */
4a8a161e8d54 (svn r148) -Feature: Company HQ can now be moved somewhere else (cost 1% of company value). Water floods HQ.
darkvater <darkvater@openttd.org>
parents: 58
diff changeset
263 CmdBuildShip, /* 88 */
4a8a161e8d54 (svn r148) -Feature: Company HQ can now be moved somewhere else (cost 1% of company value). Water floods HQ.
darkvater <darkvater@openttd.org>
parents: 58
diff changeset
264 CmdSendShipToDepot, /* 89 */
4a8a161e8d54 (svn r148) -Feature: Company HQ can now be moved somewhere else (cost 1% of company value). Water floods HQ.
darkvater <darkvater@openttd.org>
parents: 58
diff changeset
265 CmdChangeShipServiceInt, /* 90 */
1796
80af8ed2ebd8 (svn r2300) - CodeChange: check the last number of commands, now only the refit ones remain, and some server-only commands.
Darkvater <Darkvater@openttd.org>
parents: 1794
diff changeset
266 CmdRefitShip, /* 91 <-- REFIT: Hackykid */
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
267
1794
5f679efc4b84 (svn r2298) - CodeChange: removed CmdAbuses: CmdSetTownNameType(), CmdStartNewGame(), CmdCreateScenario(), CmdSetNewLandscapeType() and CmdGenRandomNewGame().
Darkvater <Darkvater@openttd.org>
parents: 1786
diff changeset
268 NULL, /* 92 */
1728
da1b358049ae (svn r2232) Remove unused commands
tron <tron@openttd.org>
parents: 1702
diff changeset
269 NULL, /* 93 */
1794
5f679efc4b84 (svn r2298) - CodeChange: removed CmdAbuses: CmdSetTownNameType(), CmdStartNewGame(), CmdCreateScenario(), CmdSetNewLandscapeType() and CmdGenRandomNewGame().
Darkvater <Darkvater@openttd.org>
parents: 1786
diff changeset
270 NULL, /* 94 */
1728
da1b358049ae (svn r2232) Remove unused commands
tron <tron@openttd.org>
parents: 1702
diff changeset
271 NULL, /* 95 */
147
4a8a161e8d54 (svn r148) -Feature: Company HQ can now be moved somewhere else (cost 1% of company value). Water floods HQ.
darkvater <darkvater@openttd.org>
parents: 58
diff changeset
272 NULL, /* 96 */
1794
5f679efc4b84 (svn r2298) - CodeChange: removed CmdAbuses: CmdSetTownNameType(), CmdStartNewGame(), CmdCreateScenario(), CmdSetNewLandscapeType() and CmdGenRandomNewGame().
Darkvater <Darkvater@openttd.org>
parents: 1786
diff changeset
273 NULL, /* 97 */
5f679efc4b84 (svn r2298) - CodeChange: removed CmdAbuses: CmdSetTownNameType(), CmdStartNewGame(), CmdCreateScenario(), CmdSetNewLandscapeType() and CmdGenRandomNewGame().
Darkvater <Darkvater@openttd.org>
parents: 1786
diff changeset
274 NULL, /* 98 */
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
275
147
4a8a161e8d54 (svn r148) -Feature: Company HQ can now be moved somewhere else (cost 1% of company value). Water floods HQ.
darkvater <darkvater@openttd.org>
parents: 58
diff changeset
276 CmdCloneOrder, /* 99 */
4a8a161e8d54 (svn r148) -Feature: Company HQ can now be moved somewhere else (cost 1% of company value). Water floods HQ.
darkvater <darkvater@openttd.org>
parents: 58
diff changeset
277
4a8a161e8d54 (svn r148) -Feature: Company HQ can now be moved somewhere else (cost 1% of company value). Water floods HQ.
darkvater <darkvater@openttd.org>
parents: 58
diff changeset
278 CmdClearArea, /* 100 */
1728
da1b358049ae (svn r2232) Remove unused commands
tron <tron@openttd.org>
parents: 1702
diff changeset
279 NULL, /* 101 */
1796
80af8ed2ebd8 (svn r2300) - CodeChange: check the last number of commands, now only the refit ones remain, and some server-only commands.
Darkvater <Darkvater@openttd.org>
parents: 1794
diff changeset
280
80af8ed2ebd8 (svn r2300) - CodeChange: check the last number of commands, now only the refit ones remain, and some server-only commands.
Darkvater <Darkvater@openttd.org>
parents: 1794
diff changeset
281 CmdMoneyCheat, /* 102 <-- offline (debug) */
147
4a8a161e8d54 (svn r148) -Feature: Company HQ can now be moved somewhere else (cost 1% of company value). Water floods HQ.
darkvater <darkvater@openttd.org>
parents: 58
diff changeset
282 CmdBuildCanal, /* 103 */
1796
80af8ed2ebd8 (svn r2300) - CodeChange: check the last number of commands, now only the refit ones remain, and some server-only commands.
Darkvater <Darkvater@openttd.org>
parents: 1794
diff changeset
283 CmdPlayerCtrl, /* 104 */
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
284
1796
80af8ed2ebd8 (svn r2300) - CodeChange: check the last number of commands, now only the refit ones remain, and some server-only commands.
Darkvater <Darkvater@openttd.org>
parents: 1794
diff changeset
285 CmdLevelLand, /* 105 */
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
286
1796
80af8ed2ebd8 (svn r2300) - CodeChange: check the last number of commands, now only the refit ones remain, and some server-only commands.
Darkvater <Darkvater@openttd.org>
parents: 1794
diff changeset
287 CmdRefitRailVehicle, /* 106 <-- REFIT: Hackykid */
147
4a8a161e8d54 (svn r148) -Feature: Company HQ can now be moved somewhere else (cost 1% of company value). Water floods HQ.
darkvater <darkvater@openttd.org>
parents: 58
diff changeset
288 CmdRestoreOrderIndex, /* 107 */
1796
80af8ed2ebd8 (svn r2300) - CodeChange: check the last number of commands, now only the refit ones remain, and some server-only commands.
Darkvater <Darkvater@openttd.org>
parents: 1794
diff changeset
289 CmdBuildLock, /* 108 */
80af8ed2ebd8 (svn r2300) - CodeChange: check the last number of commands, now only the refit ones remain, and some server-only commands.
Darkvater <Darkvater@openttd.org>
parents: 1794
diff changeset
290 NULL, /* 109 */
80af8ed2ebd8 (svn r2300) - CodeChange: check the last number of commands, now only the refit ones remain, and some server-only commands.
Darkvater <Darkvater@openttd.org>
parents: 1794
diff changeset
291 CmdBuildSignalTrack, /* 110 */
80af8ed2ebd8 (svn r2300) - CodeChange: check the last number of commands, now only the refit ones remain, and some server-only commands.
Darkvater <Darkvater@openttd.org>
parents: 1794
diff changeset
292 CmdRemoveSignalTrack, /* 111 */
80af8ed2ebd8 (svn r2300) - CodeChange: check the last number of commands, now only the refit ones remain, and some server-only commands.
Darkvater <Darkvater@openttd.org>
parents: 1794
diff changeset
293 NULL, /* 112 */
1227
259e7dab9c80 (svn r1731) - Fix: [ 1106930 ] BugFix: placing signals with 2x1 drags workaround is completely rewritten. Also features checks for hacked/modified clients. Thanks a lot Hackykid!
darkvater <darkvater@openttd.org>
parents: 1217
diff changeset
294 CmdGiveMoney, /* 113 */
1794
5f679efc4b84 (svn r2298) - CodeChange: removed CmdAbuses: CmdSetTownNameType(), CmdStartNewGame(), CmdCreateScenario(), CmdSetNewLandscapeType() and CmdGenRandomNewGame().
Darkvater <Darkvater@openttd.org>
parents: 1786
diff changeset
295 CmdChangePatchSetting, /* 114 <-- TODO: check/enforce by server */
1796
80af8ed2ebd8 (svn r2300) - CodeChange: check the last number of commands, now only the refit ones remain, and some server-only commands.
Darkvater <Darkvater@openttd.org>
parents: 1794
diff changeset
296 CmdReplaceVehicle, /* 115 */
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
297 };
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
298
903
81a2e3172b5a (svn r1389) -Add: [Network] Added packet protection. No longer a client or server
truelight <truelight@openttd.org>
parents: 889
diff changeset
299 /* This function range-checks a cmd, and checks if the cmd is not NULL */
959
ca7c19a004cc (svn r1451) Fix some of the signed/unsigned comparison warnings
tron <tron@openttd.org>
parents: 926
diff changeset
300 bool IsValidCommand(uint cmd)
903
81a2e3172b5a (svn r1389) -Add: [Network] Added packet protection. No longer a client or server
truelight <truelight@openttd.org>
parents: 889
diff changeset
301 {
81a2e3172b5a (svn r1389) -Add: [Network] Added packet protection. No longer a client or server
truelight <truelight@openttd.org>
parents: 889
diff changeset
302 cmd = cmd & 0xFF;
81a2e3172b5a (svn r1389) -Add: [Network] Added packet protection. No longer a client or server
truelight <truelight@openttd.org>
parents: 889
diff changeset
303
959
ca7c19a004cc (svn r1451) Fix some of the signed/unsigned comparison warnings
tron <tron@openttd.org>
parents: 926
diff changeset
304 if (cmd >= lengthof(_command_proc_table) || _command_proc_table[cmd] == NULL)
903
81a2e3172b5a (svn r1389) -Add: [Network] Added packet protection. No longer a client or server
truelight <truelight@openttd.org>
parents: 889
diff changeset
305 return false;
81a2e3172b5a (svn r1389) -Add: [Network] Added packet protection. No longer a client or server
truelight <truelight@openttd.org>
parents: 889
diff changeset
306
81a2e3172b5a (svn r1389) -Add: [Network] Added packet protection. No longer a client or server
truelight <truelight@openttd.org>
parents: 889
diff changeset
307 return true;
81a2e3172b5a (svn r1389) -Add: [Network] Added packet protection. No longer a client or server
truelight <truelight@openttd.org>
parents: 889
diff changeset
308 }
81a2e3172b5a (svn r1389) -Add: [Network] Added packet protection. No longer a client or server
truelight <truelight@openttd.org>
parents: 889
diff changeset
309
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
310 int32 DoCommandByTile(TileIndex tile, uint32 p1, uint32 p2, uint32 flags, uint procc)
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
311 {
926
b1ef952b19f8 (svn r1414) Move TileIndex, TILE_MASK and GET_TILE_[XY] to map.h and turn the latter into inline functions names Tile[XY]
tron <tron@openttd.org>
parents: 903
diff changeset
312 return DoCommand(TileX(tile) * 16, TileY(tile) * 16, p1, p2, flags, procc);
193
d9c55f0bc5ec (svn r194) -Codechange: stripping trailing-spaces. Please keep this that way!
truelight <truelight@openttd.org>
parents: 147
diff changeset
313 }
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
314
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
315
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
316 //extern void _stdcall Sleep(int s);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
317
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
318 int32 DoCommand(int x, int y, uint32 p1, uint32 p2, uint32 flags, uint procc)
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
319 {
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
320 int32 res;
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
321 CommandProc *proc;
193
d9c55f0bc5ec (svn r194) -Codechange: stripping trailing-spaces. Please keep this that way!
truelight <truelight@openttd.org>
parents: 147
diff changeset
322
1776
891db10c7fdc (svn r2280) - Fix: Check if the passed tile to DoCommand is within the current mapsize
Darkvater <Darkvater@openttd.org>
parents: 1728
diff changeset
323 /* Do not even think about executing out-of-bounds tile-commands */
891db10c7fdc (svn r2280) - Fix: Check if the passed tile to DoCommand is within the current mapsize
Darkvater <Darkvater@openttd.org>
parents: 1728
diff changeset
324 if (TILE_FROM_XY(x,y) > MapSize()) return CMD_ERROR;
891db10c7fdc (svn r2280) - Fix: Check if the passed tile to DoCommand is within the current mapsize
Darkvater <Darkvater@openttd.org>
parents: 1728
diff changeset
325
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
326 proc = _command_proc_table[procc];
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
327
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
328 if (_docommand_recursive == 0) {
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
329 _error_message = INVALID_STRING_ID;
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
330 // update last build coord of player
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
331 if ( (x|y) != 0 && _current_player < MAX_PLAYERS) {
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
332 DEREF_PLAYER(_current_player)->last_build_coordinate = TILE_FROM_XY(x,y);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
333 }
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
334 }
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
335
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
336 _docommand_recursive++;
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
337
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
338 // only execute the test call if it's toplevel, or we're not execing.
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
339 if (_docommand_recursive == 1 || !(flags & DC_EXEC) || (flags & DC_FORCETEST) ) {
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
340 res = proc(x, y, flags&~DC_EXEC, p1, p2);
1691
681b5e560269 (svn r2195) Add CmdFailed() as the One True Way(tm) to check if a command failed.
tron <tron@openttd.org>
parents: 1623
diff changeset
341 if (CmdFailed(res)) {
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
342 if (res & 0xFFFF) _error_message = res & 0xFFFF;
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
343 goto error;
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
344 }
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
345
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
346 if (_docommand_recursive == 1) {
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
347 if (!(flags&DC_QUERY_COST) && res != 0 && !CheckPlayerHasMoney(res))
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
348 goto error;
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
349 }
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
350
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
351 if (!(flags & DC_EXEC)) {
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
352 _docommand_recursive--;
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
353 return res;
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
354 }
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
355 }
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
356
889
8a7301b5aa5b (svn r1375) -Fix: [1050990] Buying trains sometimes accounted for incorrectly. Was the result of the cost getting reset in a recursive call of docommand. That is fixed. In addition all cost-commands are typed explicitely. Please do not forget to do so or your costs will be credited to construction if you are unlucky.
darkvater <darkvater@openttd.org>
parents: 842
diff changeset
357 /* Execute the command here. All cost-relevant functions set the expenses type
8a7301b5aa5b (svn r1375) -Fix: [1050990] Buying trains sometimes accounted for incorrectly. Was the result of the cost getting reset in a recursive call of docommand. That is fixed. In addition all cost-commands are typed explicitely. Please do not forget to do so or your costs will be credited to construction if you are unlucky.
darkvater <darkvater@openttd.org>
parents: 842
diff changeset
358 * themselves with "SET_EXPENSES_TYPE(...);" at the beginning of the function */
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
359 res = proc(x, y, flags, p1, p2);
1691
681b5e560269 (svn r2195) Add CmdFailed() as the One True Way(tm) to check if a command failed.
tron <tron@openttd.org>
parents: 1623
diff changeset
360 if (CmdFailed(res)) {
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
361 if (res & 0xFFFF) _error_message = res & 0xFFFF;
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
362 error:
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
363 _docommand_recursive--;
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
364 return CMD_ERROR;
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
365 }
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
366
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
367 // if toplevel, subtract the money.
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
368 if (--_docommand_recursive == 0) {
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
369 SubtractMoneyFromPlayer(res);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
370 }
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
371
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
372 return res;
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
373 }
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
374
1093
5029c37a31c0 (svn r1594) Convert all undefined parameter lists to (void) and add the appropriate warning flags in the Makefile
tron <tron@openttd.org>
parents: 959
diff changeset
375 int32 GetAvailableMoneyForCommand(void)
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
376 {
1794
5f679efc4b84 (svn r2298) - CodeChange: removed CmdAbuses: CmdSetTownNameType(), CmdStartNewGame(), CmdCreateScenario(), CmdSetNewLandscapeType() and CmdGenRandomNewGame().
Darkvater <Darkvater@openttd.org>
parents: 1786
diff changeset
377 PlayerID pid = _current_player;
147
4a8a161e8d54 (svn r148) -Feature: Company HQ can now be moved somewhere else (cost 1% of company value). Water floods HQ.
darkvater <darkvater@openttd.org>
parents: 58
diff changeset
378 if (pid >= MAX_PLAYERS) return 0x7FFFFFFF; // max int
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
379 return DEREF_PLAYER(pid)->player_money;
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
380 }
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
381
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
382 // toplevel network safe docommand function for the current player. must not be called recursively.
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
383 // the callback is called when the command succeeded or failed.
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
384 bool DoCommandP(TileIndex tile, uint32 p1, uint32 p2, CommandCallback *callback, uint32 cmd)
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
385 {
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
386 int32 res = 0,res2;
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
387 CommandProc *proc;
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
388 uint32 flags;
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
389 bool notest;
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
390
926
b1ef952b19f8 (svn r1414) Move TileIndex, TILE_MASK and GET_TILE_[XY] to map.h and turn the latter into inline functions names Tile[XY]
tron <tron@openttd.org>
parents: 903
diff changeset
391 int x = TileX(tile) * 16;
b1ef952b19f8 (svn r1414) Move TileIndex, TILE_MASK and GET_TILE_[XY] to map.h and turn the latter into inline functions names Tile[XY]
tron <tron@openttd.org>
parents: 903
diff changeset
392 int y = TileY(tile) * 16;
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
393
1776
891db10c7fdc (svn r2280) - Fix: Check if the passed tile to DoCommand is within the current mapsize
Darkvater <Darkvater@openttd.org>
parents: 1728
diff changeset
394 /* Do not even think about executing out-of-bounds tile-commands */
891db10c7fdc (svn r2280) - Fix: Check if the passed tile to DoCommand is within the current mapsize
Darkvater <Darkvater@openttd.org>
parents: 1728
diff changeset
395 if (tile > MapSize()) return false;
891db10c7fdc (svn r2280) - Fix: Check if the passed tile to DoCommand is within the current mapsize
Darkvater <Darkvater@openttd.org>
parents: 1728
diff changeset
396
193
d9c55f0bc5ec (svn r194) -Codechange: stripping trailing-spaces. Please keep this that way!
truelight <truelight@openttd.org>
parents: 147
diff changeset
397 assert(_docommand_recursive == 0);
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
398
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
399 _error_message = INVALID_STRING_ID;
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
400 _error_message_2 = cmd >> 16;
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
401 _additional_cash_required = 0;
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
402
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
403 // spectator has no rights.
147
4a8a161e8d54 (svn r148) -Feature: Company HQ can now be moved somewhere else (cost 1% of company value). Water floods HQ.
darkvater <darkvater@openttd.org>
parents: 58
diff changeset
404 if (_current_player == OWNER_SPECTATOR) {
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
405 ShowErrorMessage(_error_message, _error_message_2, x, y);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
406 return false;
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
407 }
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
408
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
409 flags = 0;
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
410 if (cmd & CMD_AUTO) flags |= DC_AUTO;
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
411 if (cmd & CMD_NO_WATER) flags |= DC_NO_WATER;
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
412
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
413 // get pointer to command handler
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
414 assert((cmd & 0xFF) < lengthof(_command_proc_table));
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
415 proc = _command_proc_table[cmd & 0xFF];
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
416
826
f0bdeb9778ab (svn r1297) Language fixes in the source.. (ln-)
miham <miham@openttd.org>
parents: 812
diff changeset
417 // Some commands have a different output in dryrun than the realrun
543
0bade3c3b8ba (svn r942) -Merged branch/network back into the trunk
truelight <truelight@openttd.org>
parents: 534
diff changeset
418 // e.g.: if you demolish a whole town, the dryrun would say okay.
0bade3c3b8ba (svn r942) -Merged branch/network back into the trunk
truelight <truelight@openttd.org>
parents: 534
diff changeset
419 // but by really destroying, your rating drops and at a certain point
0bade3c3b8ba (svn r942) -Merged branch/network back into the trunk
truelight <truelight@openttd.org>
parents: 534
diff changeset
420 // it will fail. so res and res2 are different
467
9741de53e1b5 (svn r697) Fix the town road removal crash _still_ present there.
pasky <pasky@openttd.org>
parents: 395
diff changeset
421 // CMD_REMOVE_ROAD: This command has special local authority
9741de53e1b5 (svn r697) Fix the town road removal crash _still_ present there.
pasky <pasky@openttd.org>
parents: 395
diff changeset
422 // restrictions which may cause the test run to fail (the previous
9741de53e1b5 (svn r697) Fix the town road removal crash _still_ present there.
pasky <pasky@openttd.org>
parents: 395
diff changeset
423 // road fragments still stay there and the town won't let you
9741de53e1b5 (svn r697) Fix the town road removal crash _still_ present there.
pasky <pasky@openttd.org>
parents: 395
diff changeset
424 // disconnect the road system), but the exec will succeed and this
9741de53e1b5 (svn r697) Fix the town road removal crash _still_ present there.
pasky <pasky@openttd.org>
parents: 395
diff changeset
425 // fact will trigger an assertion failure. --pasky
193
d9c55f0bc5ec (svn r194) -Codechange: stripping trailing-spaces. Please keep this that way!
truelight <truelight@openttd.org>
parents: 147
diff changeset
426 notest =
d9c55f0bc5ec (svn r194) -Codechange: stripping trailing-spaces. Please keep this that way!
truelight <truelight@openttd.org>
parents: 147
diff changeset
427 (cmd & 0xFF) == CMD_CLEAR_AREA ||
d9c55f0bc5ec (svn r194) -Codechange: stripping trailing-spaces. Please keep this that way!
truelight <truelight@openttd.org>
parents: 147
diff changeset
428 (cmd & 0xFF) == CMD_CONVERT_RAIL ||
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
429 (cmd & 0xFF) == CMD_LEVEL_LAND ||
1701
6ead7449b9ce (svn r2205) - Fixup of revision 2200, not twice CMD_REMOVE_LONG_ROAD :p. Thanks TrueLight.
Darkvater <Darkvater@openttd.org>
parents: 1696
diff changeset
430 (cmd & 0xFF) == CMD_REMOVE_ROAD ||
1696
e74c7e40880e (svn r2200) - Fix [ 1179892 ] click & drag removal of road assertion fail. Add CMD_REMOVE_LONG_ROAD to the 'notest' section as it might have difficulties with town ratings, etc. Read the comment for more info (mgasterix)
Darkvater <Darkvater@openttd.org>
parents: 1691
diff changeset
431 (cmd & 0xFF) == CMD_REMOVE_LONG_ROAD;
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
432
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
433 _docommand_recursive = 1;
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
434
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
435 // cost estimation only?
842
a71aeb1cfa97 (svn r1323) Adding autoreplace feature
bjarni <bjarni@openttd.org>
parents: 826
diff changeset
436 if (_shift_pressed && _current_player == _local_player && !(cmd & (CMD_NETWORK_COMMAND | CMD_SHOW_NO_ERROR))) {
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
437 // estimate the cost.
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
438 res = proc(x, y, flags, p1, p2);
1691
681b5e560269 (svn r2195) Add CmdFailed() as the One True Way(tm) to check if a command failed.
tron <tron@openttd.org>
parents: 1623
diff changeset
439 if (CmdFailed(res)) {
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
440 if (res & 0xFFFF) _error_message = res & 0xFFFF;
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
441 ShowErrorMessage(_error_message, _error_message_2, x, y);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
442 } else {
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
443 ShowEstimatedCostOrIncome(res, x, y);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
444 }
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
445
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
446 _docommand_recursive = 0;
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
447 return false;
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
448 }
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
449
193
d9c55f0bc5ec (svn r194) -Codechange: stripping trailing-spaces. Please keep this that way!
truelight <truelight@openttd.org>
parents: 147
diff changeset
450
543
0bade3c3b8ba (svn r942) -Merged branch/network back into the trunk
truelight <truelight@openttd.org>
parents: 534
diff changeset
451 if (!((cmd & CMD_NO_TEST_IF_IN_NETWORK) && _networking)) {
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
452 // first test if the command can be executed.
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
453 res = proc(x,y, flags, p1, p2);
1691
681b5e560269 (svn r2195) Add CmdFailed() as the One True Way(tm) to check if a command failed.
tron <tron@openttd.org>
parents: 1623
diff changeset
454 if (CmdFailed(res)) {
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
455 if (res & 0xFFFF) _error_message = res & 0xFFFF;
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
456 goto show_error;
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
457 }
543
0bade3c3b8ba (svn r942) -Merged branch/network back into the trunk
truelight <truelight@openttd.org>
parents: 534
diff changeset
458 // no money? Only check if notest is off
0bade3c3b8ba (svn r942) -Merged branch/network back into the trunk
truelight <truelight@openttd.org>
parents: 534
diff changeset
459 if (!notest && res != 0 && !CheckPlayerHasMoney(res)) goto show_error;
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
460 }
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
461
543
0bade3c3b8ba (svn r942) -Merged branch/network back into the trunk
truelight <truelight@openttd.org>
parents: 534
diff changeset
462 #ifdef ENABLE_NETWORK
0bade3c3b8ba (svn r942) -Merged branch/network back into the trunk
truelight <truelight@openttd.org>
parents: 534
diff changeset
463 // If we are in network, and the command is not from the network
0bade3c3b8ba (svn r942) -Merged branch/network back into the trunk
truelight <truelight@openttd.org>
parents: 534
diff changeset
464 // send it to the command-queue and abort execution
0bade3c3b8ba (svn r942) -Merged branch/network back into the trunk
truelight <truelight@openttd.org>
parents: 534
diff changeset
465 if (_networking && !(cmd & CMD_NETWORK_COMMAND)) {
0bade3c3b8ba (svn r942) -Merged branch/network back into the trunk
truelight <truelight@openttd.org>
parents: 534
diff changeset
466 NetworkSend_Command(tile, p1, p2, cmd, callback);
0bade3c3b8ba (svn r942) -Merged branch/network back into the trunk
truelight <truelight@openttd.org>
parents: 534
diff changeset
467 _docommand_recursive = 0;
0bade3c3b8ba (svn r942) -Merged branch/network back into the trunk
truelight <truelight@openttd.org>
parents: 534
diff changeset
468 return true;
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
469 }
543
0bade3c3b8ba (svn r942) -Merged branch/network back into the trunk
truelight <truelight@openttd.org>
parents: 534
diff changeset
470 #endif /* ENABLE_NETWORK */
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
471
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
472 // update last build coordinate of player.
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
473 if ( tile != 0 && _current_player < MAX_PLAYERS) DEREF_PLAYER(_current_player)->last_build_coordinate = tile;
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
474
889
8a7301b5aa5b (svn r1375) -Fix: [1050990] Buying trains sometimes accounted for incorrectly. Was the result of the cost getting reset in a recursive call of docommand. That is fixed. In addition all cost-commands are typed explicitely. Please do not forget to do so or your costs will be credited to construction if you are unlucky.
darkvater <darkvater@openttd.org>
parents: 842
diff changeset
475 /* Actually try and execute the command. If no cost-type is given
8a7301b5aa5b (svn r1375) -Fix: [1050990] Buying trains sometimes accounted for incorrectly. Was the result of the cost getting reset in a recursive call of docommand. That is fixed. In addition all cost-commands are typed explicitely. Please do not forget to do so or your costs will be credited to construction if you are unlucky.
darkvater <darkvater@openttd.org>
parents: 842
diff changeset
476 * use the construction one */
8a7301b5aa5b (svn r1375) -Fix: [1050990] Buying trains sometimes accounted for incorrectly. Was the result of the cost getting reset in a recursive call of docommand. That is fixed. In addition all cost-commands are typed explicitely. Please do not forget to do so or your costs will be credited to construction if you are unlucky.
darkvater <darkvater@openttd.org>
parents: 842
diff changeset
477 _yearly_expenses_type = EXPENSES_CONSTRUCTION;
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
478 res2 = proc(x,y, flags|DC_EXEC, p1, p2);
193
d9c55f0bc5ec (svn r194) -Codechange: stripping trailing-spaces. Please keep this that way!
truelight <truelight@openttd.org>
parents: 147
diff changeset
479
826
f0bdeb9778ab (svn r1297) Language fixes in the source.. (ln-)
miham <miham@openttd.org>
parents: 812
diff changeset
480 // If notest is on, it means the result of the test can be different than
543
0bade3c3b8ba (svn r942) -Merged branch/network back into the trunk
truelight <truelight@openttd.org>
parents: 534
diff changeset
481 // the real command.. so ignore the test
652
45c107be2fca (svn r1085) -Fix: [Network] [ 1084834 ] If IF_IN_NETWORK flag was on, an error
truelight <truelight@openttd.org>
parents: 601
diff changeset
482 if (!notest && !((cmd & CMD_NO_TEST_IF_IN_NETWORK) && _networking)) {
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
483 assert(res == res2); // sanity check
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
484 } else {
1702
83aefdb31cff (svn r2206) - Regression Fix: slight typo of res2 into res, this also fixes recent bug "[ 1183396 ] Train can't find depot, it gives money in Multiplayer"
Darkvater <Darkvater@openttd.org>
parents: 1701
diff changeset
485 if (CmdFailed(res2)) {
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
486 if (res2 & 0xFFFF) _error_message = res2 & 0xFFFF;
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
487 goto show_error;
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
488 }
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
489 }
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
490
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
491 SubtractMoneyFromPlayer(res2);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
492
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
493 if (_current_player == _local_player && _game_mode != GM_EDITOR) {
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
494 if (res2 != 0)
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
495 ShowCostOrIncomeAnimation(x, y, GetSlopeZ(x, y), res2);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
496 if (_additional_cash_required) {
534
6de858608a45 (svn r901) Small step in the process to clean up the DPARAM mess:
tron <tron@openttd.org>
parents: 507
diff changeset
497 SetDParam(0, _additional_cash_required);
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
498 ShowErrorMessage(STR_0003_NOT_ENOUGH_CASH_REQUIRES, _error_message_2, x,y);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
499 if (res2 == 0) goto callb_err;
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
500 }
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
501 }
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
502
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
503 _docommand_recursive = 0;
193
d9c55f0bc5ec (svn r194) -Codechange: stripping trailing-spaces. Please keep this that way!
truelight <truelight@openttd.org>
parents: 147
diff changeset
504
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
505 if (callback) callback(true, tile, p1, p2);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
506 return true;
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
507
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
508 show_error:
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
509 // show error message if the command fails?
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
510 if (_current_player == _local_player && _error_message_2 != 0)
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
511 ShowErrorMessage(_error_message, _error_message_2, x,y);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
512
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
513 callb_err:
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
514 _docommand_recursive = 0;
193
d9c55f0bc5ec (svn r194) -Codechange: stripping trailing-spaces. Please keep this that way!
truelight <truelight@openttd.org>
parents: 147
diff changeset
515
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
516 if (callback) callback(false, tile, p1, p2);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
517 return false;
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
518 }