annotate command.c @ 1776:891db10c7fdc draft

(svn r2280) - Fix: Check if the passed tile to DoCommand is within the current mapsize
author Darkvater <Darkvater@openttd.org>
date Sat, 07 May 2005 10:26:45 +0000
parents da1b358049ae
children dd56c2d77d1c
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
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
66 DEF_COMMAND(CmdTrainGotoDepot);
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);
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
80 DEF_COMMAND(CmdDestroyCompanyHQ);
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
81 DEF_COMMAND(CmdSetPlayerFace);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
82 DEF_COMMAND(CmdSetPlayerColor);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
83
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
84 DEF_COMMAND(CmdIncreaseLoan);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
85 DEF_COMMAND(CmdDecreaseLoan);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
86
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
87 DEF_COMMAND(CmdWantEnginePreview);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
88
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
89 DEF_COMMAND(CmdNameVehicle);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
90 DEF_COMMAND(CmdRenameEngine);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
91
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
92 DEF_COMMAND(CmdChangeCompanyName);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
93 DEF_COMMAND(CmdChangePresidentName);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
94
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
95 DEF_COMMAND(CmdRenameStation);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
96
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
97 DEF_COMMAND(CmdSellAircraft);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
98 DEF_COMMAND(CmdStartStopAircraft);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
99 DEF_COMMAND(CmdBuildAircraft);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
100 DEF_COMMAND(CmdSendAircraftToHangar);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
101 DEF_COMMAND(CmdChangeAircraftServiceInt);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
102 DEF_COMMAND(CmdRefitAircraft);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
103
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
104 DEF_COMMAND(CmdPlaceSign);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
105 DEF_COMMAND(CmdRenameSign);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
106
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
107 DEF_COMMAND(CmdBuildRoadVeh);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
108 DEF_COMMAND(CmdStartStopRoadVeh);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
109 DEF_COMMAND(CmdSellRoadVeh);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
110 DEF_COMMAND(CmdSendRoadVehToDepot);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
111 DEF_COMMAND(CmdTurnRoadVeh);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
112 DEF_COMMAND(CmdChangeRoadVehServiceInt);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
113
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
114 DEF_COMMAND(CmdPause);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
115
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
116 DEF_COMMAND(CmdBuyShareInCompany);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
117 DEF_COMMAND(CmdSellShareInCompany);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
118 DEF_COMMAND(CmdBuyCompany);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
119
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
120 DEF_COMMAND(CmdBuildTown);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
121
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
122 DEF_COMMAND(CmdRenameTown);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
123 DEF_COMMAND(CmdDoTownAction);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
124
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
125 DEF_COMMAND(CmdSetRoadDriveSide);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
126 DEF_COMMAND(CmdSetTownNameType);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
127
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
128 DEF_COMMAND(CmdChangeDifficultyLevel);
543
0bade3c3b8ba (svn r942) -Merged branch/network back into the trunk
truelight <truelight@openttd.org>
parents: 534
diff changeset
129 DEF_COMMAND(CmdChangePatchSetting);
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
130
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
131 DEF_COMMAND(CmdStartStopShip);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
132 DEF_COMMAND(CmdSellShip);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
133 DEF_COMMAND(CmdBuildShip);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
134 DEF_COMMAND(CmdSendShipToDepot);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
135 DEF_COMMAND(CmdChangeShipServiceInt);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
136 DEF_COMMAND(CmdRefitShip);
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
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
139 DEF_COMMAND(CmdStartNewGame);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
140 DEF_COMMAND(CmdCreateScenario);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
141
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
142 DEF_COMMAND(CmdSetNewLandscapeType);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
143
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
144 DEF_COMMAND(CmdGenRandomNewGame);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
145 DEF_COMMAND(CmdCloneOrder);
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(CmdClearArea);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
148
543
0bade3c3b8ba (svn r942) -Merged branch/network back into the trunk
truelight <truelight@openttd.org>
parents: 534
diff changeset
149 DEF_COMMAND(CmdGiveMoney);
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
150 DEF_COMMAND(CmdMoneyCheat);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
151 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
152 DEF_COMMAND(CmdBuildLock);
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
153
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
154 DEF_COMMAND(CmdPlayerCtrl);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
155
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
156 DEF_COMMAND(CmdLevelLand);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
157
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
158 DEF_COMMAND(CmdRefitRailVehicle);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
159
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
160 DEF_COMMAND(CmdStartScenario);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
161
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
162 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
163 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
164
842
a71aeb1cfa97 (svn r1323) Adding autoreplace feature
bjarni <bjarni@openttd.org>
parents: 826
diff changeset
165 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
166
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
167 /* The master command table */
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
168 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
169 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
170 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
171 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
172 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
173 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
174 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
175 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
176 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
177 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
178 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
179 CmdTerraformLand, /* 10 */
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
180 /***************************************************/
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
181 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
182 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
183 CmdBuildTunnel, /* 13 */
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
184 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
185 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
186 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
187 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
188 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
189 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
190 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
191 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
192 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
193 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
194 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
195 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
196 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
197 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
198 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
199 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
200 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
201 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
202 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
203 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
204 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
205 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
206 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
207 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
208 CmdSellRailWagon, /* 38 */
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 CmdTrainGotoDepot, /* 39 */
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 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
211 CmdReverseTrainDirection, /* 41 */
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 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
214 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
215 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
216 CmdInsertOrder, /* 45 */
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 CmdChangeTrainServiceInt, /* 46 */
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
219
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
220 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
221 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
222 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
223 CmdSetPlayerColor, /* 50 */
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
224
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
225 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
226 CmdDecreaseLoan, /* 52 */
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
227
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
228 CmdWantEnginePreview, /* 53 */
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
229
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
230 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
231 CmdRenameEngine, /* 55 */
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
232
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
233 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
234 CmdChangePresidentName, /* 57 */
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
235
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
236 CmdRenameStation, /* 58 */
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
237
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
238 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
239 CmdStartStopAircraft, /* 60 */
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 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
241 CmdSendAircraftToHangar, /* 62 */
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
242 CmdChangeAircraftServiceInt, /* 63 */
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
243 CmdRefitAircraft, /* 64 */
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
244
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
245 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
246 CmdRenameSign, /* 66 */
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
247
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
248 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
249 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
250 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
251 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
252 CmdTurnRoadVeh, /* 71 */
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
253 CmdChangeRoadVehServiceInt, /* 72 */
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
254
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
255 CmdPause, /* 73 */
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
256
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
257 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
258 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
259 CmdBuyCompany, /* 76 */
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 CmdBuildTown, /* 77 */
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 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
263 NULL, /* 79 */
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 CmdRenameTown, /* 80 */
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 CmdDoTownAction, /* 81 */
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
266
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
267 CmdSetRoadDriveSide, /* 82 */
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
268 CmdSetTownNameType, /* 83 */
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
269 NULL, /* 84 */
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
270 CmdChangeDifficultyLevel, /* 85 */
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
271
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 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
273 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
274 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
275 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
276 CmdChangeShipServiceInt, /* 90 */
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 CmdRefitShip, /* 91 */
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
278
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
279 CmdStartNewGame, /* 92 */
1728
da1b358049ae (svn r2232) Remove unused commands
tron <tron@openttd.org>
parents: 1702
diff changeset
280 NULL, /* 93 */
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
281 CmdCreateScenario, /* 94 */
1728
da1b358049ae (svn r2232) Remove unused commands
tron <tron@openttd.org>
parents: 1702
diff changeset
282 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
283 NULL, /* 96 */
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
284 CmdSetNewLandscapeType, /* 97 */
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
285
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
286 CmdGenRandomNewGame, /* 98 */
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
287
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 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
289
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
290 CmdClearArea, /* 100 */
1728
da1b358049ae (svn r2232) Remove unused commands
tron <tron@openttd.org>
parents: 1702
diff changeset
291 NULL, /* 101 */
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
292
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
293 CmdMoneyCheat, /* 102 */
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
294 CmdBuildCanal, /* 103 */
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
295 CmdPlayerCtrl, /* 104 */
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
296
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
297 CmdLevelLand, /* 105 */
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
298
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
299 CmdRefitRailVehicle, /* 106 */
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
300 CmdRestoreOrderIndex, /* 107 */
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
301 CmdBuildLock, /* 108 */
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
302 CmdStartScenario, /* 109 */
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
303 CmdBuildSignalTrack, /* 110 */
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
304 CmdRemoveSignalTrack, /* 111 */
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
305 CmdDestroyCompanyHQ, /* 112 */
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
306 CmdGiveMoney, /* 113 */
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
307 CmdChangePatchSetting, /* 114 */
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
308 CmdReplaceVehicle, /* 115 */
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
309 };
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
310
903
81a2e3172b5a (svn r1389) -Add: [Network] Added packet protection. No longer a client or server
truelight <truelight@openttd.org>
parents: 889
diff changeset
311 /* 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
312 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
313 {
81a2e3172b5a (svn r1389) -Add: [Network] Added packet protection. No longer a client or server
truelight <truelight@openttd.org>
parents: 889
diff changeset
314 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
315
959
ca7c19a004cc (svn r1451) Fix some of the signed/unsigned comparison warnings
tron <tron@openttd.org>
parents: 926
diff changeset
316 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
317 return false;
81a2e3172b5a (svn r1389) -Add: [Network] Added packet protection. No longer a client or server
truelight <truelight@openttd.org>
parents: 889
diff changeset
318
81a2e3172b5a (svn r1389) -Add: [Network] Added packet protection. No longer a client or server
truelight <truelight@openttd.org>
parents: 889
diff changeset
319 return true;
81a2e3172b5a (svn r1389) -Add: [Network] Added packet protection. No longer a client or server
truelight <truelight@openttd.org>
parents: 889
diff changeset
320 }
81a2e3172b5a (svn r1389) -Add: [Network] Added packet protection. No longer a client or server
truelight <truelight@openttd.org>
parents: 889
diff changeset
321
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
322 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
323 {
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
324 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
325 }
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
326
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 //extern void _stdcall Sleep(int s);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
329
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
330 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
331 {
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
332 int32 res;
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
333 CommandProc *proc;
193
d9c55f0bc5ec (svn r194) -Codechange: stripping trailing-spaces. Please keep this that way!
truelight <truelight@openttd.org>
parents: 147
diff changeset
334
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
335 /* 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
336 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
337
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
338 proc = _command_proc_table[procc];
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
339
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
340 if (_docommand_recursive == 0) {
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
341 _error_message = INVALID_STRING_ID;
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
342 // update last build coord of player
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
343 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
344 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
345 }
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
346 }
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
347
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
348 _docommand_recursive++;
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 // 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
351 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
352 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
353 if (CmdFailed(res)) {
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
354 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
355 goto error;
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
356 }
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
357
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
358 if (_docommand_recursive == 1) {
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
359 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
360 goto error;
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
361 }
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
362
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
363 if (!(flags & DC_EXEC)) {
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
364 _docommand_recursive--;
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
365 return res;
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 }
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
368
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
369 /* 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
370 * 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
371 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
372 if (CmdFailed(res)) {
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
373 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
374 error:
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
375 _docommand_recursive--;
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
376 return CMD_ERROR;
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
377 }
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
378
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
379 // if toplevel, subtract the money.
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
380 if (--_docommand_recursive == 0) {
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
381 SubtractMoneyFromPlayer(res);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
382 }
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
383
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
384 return res;
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
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
387 int32 GetAvailableMoneyForCommand(void)
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
388 {
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
389 uint 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
390 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
391 return DEREF_PLAYER(pid)->player_money;
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
392 }
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
393
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
394 // 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
395 // 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
396 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
397 {
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
398 int32 res = 0,res2;
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
399 CommandProc *proc;
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
400 uint32 flags;
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
401 bool notest;
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
402
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
403 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
404 int y = TileY(tile) * 16;
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
405
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
406 /* 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
407 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
408
193
d9c55f0bc5ec (svn r194) -Codechange: stripping trailing-spaces. Please keep this that way!
truelight <truelight@openttd.org>
parents: 147
diff changeset
409 assert(_docommand_recursive == 0);
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
410
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
411 _error_message = INVALID_STRING_ID;
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
412 _error_message_2 = cmd >> 16;
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
413 _additional_cash_required = 0;
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
414
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
415 // 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
416 if (_current_player == OWNER_SPECTATOR) {
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
417 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
418 return false;
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
419 }
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
420
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
421 flags = 0;
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
422 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
423 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
424
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
425 // get pointer to command handler
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
426 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
427 proc = _command_proc_table[cmd & 0xFF];
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
428
826
f0bdeb9778ab (svn r1297) Language fixes in the source.. (ln-)
miham <miham@openttd.org>
parents: 812
diff changeset
429 // 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
430 // 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
431 // 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
432 // 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
433 // 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
434 // 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
435 // 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
436 // 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
437 // 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
438 notest =
d9c55f0bc5ec (svn r194) -Codechange: stripping trailing-spaces. Please keep this that way!
truelight <truelight@openttd.org>
parents: 147
diff changeset
439 (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
440 (cmd & 0xFF) == CMD_CONVERT_RAIL ||
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
441 (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
442 (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
443 (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
444
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
445 _docommand_recursive = 1;
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
446
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
447 // cost estimation only?
842
a71aeb1cfa97 (svn r1323) Adding autoreplace feature
bjarni <bjarni@openttd.org>
parents: 826
diff changeset
448 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
449 // estimate the cost.
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
450 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
451 if (CmdFailed(res)) {
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
452 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
453 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
454 } else {
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
455 ShowEstimatedCostOrIncome(res, x, y);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
456 }
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
457
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
458 _docommand_recursive = 0;
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
459 return false;
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
193
d9c55f0bc5ec (svn r194) -Codechange: stripping trailing-spaces. Please keep this that way!
truelight <truelight@openttd.org>
parents: 147
diff changeset
462
543
0bade3c3b8ba (svn r942) -Merged branch/network back into the trunk
truelight <truelight@openttd.org>
parents: 534
diff changeset
463 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
464 // 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
465 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
466 if (CmdFailed(res)) {
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
467 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
468 goto show_error;
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 // 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
471 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
472 }
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
473
543
0bade3c3b8ba (svn r942) -Merged branch/network back into the trunk
truelight <truelight@openttd.org>
parents: 534
diff changeset
474 #ifdef ENABLE_NETWORK
0bade3c3b8ba (svn r942) -Merged branch/network back into the trunk
truelight <truelight@openttd.org>
parents: 534
diff changeset
475 // 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
476 // 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
477 if (_networking && !(cmd & CMD_NETWORK_COMMAND)) {
0bade3c3b8ba (svn r942) -Merged branch/network back into the trunk
truelight <truelight@openttd.org>
parents: 534
diff changeset
478 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
479 _docommand_recursive = 0;
0bade3c3b8ba (svn r942) -Merged branch/network back into the trunk
truelight <truelight@openttd.org>
parents: 534
diff changeset
480 return true;
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
481 }
543
0bade3c3b8ba (svn r942) -Merged branch/network back into the trunk
truelight <truelight@openttd.org>
parents: 534
diff changeset
482 #endif /* ENABLE_NETWORK */
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
483
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
484 // update last build coordinate of player.
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
485 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
486
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
487 /* 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
488 * 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
489 _yearly_expenses_type = EXPENSES_CONSTRUCTION;
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
490 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
491
826
f0bdeb9778ab (svn r1297) Language fixes in the source.. (ln-)
miham <miham@openttd.org>
parents: 812
diff changeset
492 // 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
493 // 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
494 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
495 assert(res == res2); // sanity check
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
496 } 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
497 if (CmdFailed(res2)) {
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
498 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
499 goto show_error;
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 SubtractMoneyFromPlayer(res2);
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
504
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
505 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
506 if (res2 != 0)
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
507 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
508 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
509 SetDParam(0, _additional_cash_required);
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
510 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
511 if (res2 == 0) goto callb_err;
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 }
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
514
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
515 _docommand_recursive = 0;
193
d9c55f0bc5ec (svn r194) -Codechange: stripping trailing-spaces. Please keep this that way!
truelight <truelight@openttd.org>
parents: 147
diff changeset
516
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
517 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
518 return true;
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
519
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
520 show_error:
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
521 // 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
522 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
523 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
524
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
525 callb_err:
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
526 _docommand_recursive = 0;
193
d9c55f0bc5ec (svn r194) -Codechange: stripping trailing-spaces. Please keep this that way!
truelight <truelight@openttd.org>
parents: 147
diff changeset
527
0
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
528 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
529 return false;
fa6ee4d75c8a (svn r1) Import of revision 975 of old (crashed) SVN
truelight <truelight@openttd.org>
parents:
diff changeset
530 }