command_type.h File Reference

Types related to commands. More...

#include "economy_type.h"
#include "strings_type.h"
#include "tile_type.h"

Go to the source code of this file.

Data Structures

class  CommandCost
 Common return value for all commands. More...
struct  Command
 Define a command with the flags which belongs to it. More...
struct  CommandContainer
 Structure for buffering the build command when selecting a station to join. More...

Defines

#define CMD_MSG(x)   ((x) << 16)
 Used to combine a StringID with the command.

Typedefs

typedef CommandCost CommandProc (TileIndex tile, DoCommandFlag flags, uint32 p1, uint32 p2, const char *text)
 Defines the callback type for all command handler functions.
typedef void CommandCallback (const CommandCost &result, TileIndex tile, uint32 p1, uint32 p2)
 Define a callback function for the client, after the command is finished.

Enumerations

enum  {
  CMD_BUILD_RAILROAD_TRACK, CMD_REMOVE_RAILROAD_TRACK, CMD_BUILD_SINGLE_RAIL, CMD_REMOVE_SINGLE_RAIL,
  CMD_LANDSCAPE_CLEAR, CMD_BUILD_BRIDGE, CMD_BUILD_RAIL_STATION, CMD_BUILD_TRAIN_DEPOT,
  CMD_BUILD_SIGNALS, CMD_REMOVE_SIGNALS, CMD_TERRAFORM_LAND, CMD_PURCHASE_LAND_AREA,
  CMD_SELL_LAND_AREA, CMD_BUILD_TUNNEL, CMD_REMOVE_FROM_RAIL_STATION, CMD_CONVERT_RAIL,
  CMD_BUILD_RAIL_WAYPOINT, CMD_RENAME_WAYPOINT, CMD_REMOVE_FROM_RAIL_WAYPOINT, CMD_BUILD_ROAD_STOP,
  CMD_REMOVE_ROAD_STOP, CMD_BUILD_LONG_ROAD, CMD_REMOVE_LONG_ROAD, CMD_BUILD_ROAD,
  CMD_BUILD_ROAD_DEPOT, CMD_BUILD_AIRPORT, CMD_BUILD_DOCK, CMD_BUILD_SHIP_DEPOT,
  CMD_BUILD_BUOY, CMD_PLANT_TREE, CMD_BUILD_RAIL_VEHICLE, CMD_MOVE_RAIL_VEHICLE,
  CMD_SELL_RAIL_WAGON, CMD_SEND_TRAIN_TO_DEPOT, CMD_FORCE_TRAIN_PROCEED, CMD_REVERSE_TRAIN_DIRECTION,
  CMD_MODIFY_ORDER, CMD_SKIP_TO_ORDER, CMD_DELETE_ORDER, CMD_INSERT_ORDER,
  CMD_CHANGE_SERVICE_INT, CMD_BUILD_INDUSTRY, CMD_BUILD_COMPANY_HQ, CMD_SET_COMPANY_MANAGER_FACE,
  CMD_SET_COMPANY_COLOUR, CMD_INCREASE_LOAN, CMD_DECREASE_LOAN, CMD_WANT_ENGINE_PREVIEW,
  CMD_RENAME_VEHICLE, CMD_RENAME_ENGINE, CMD_RENAME_COMPANY, CMD_RENAME_PRESIDENT,
  CMD_RENAME_STATION, CMD_SELL_AIRCRAFT, CMD_BUILD_AIRCRAFT, CMD_SEND_AIRCRAFT_TO_HANGAR,
  CMD_REFIT_AIRCRAFT, CMD_PLACE_SIGN, CMD_RENAME_SIGN, CMD_BUILD_ROAD_VEH,
  CMD_SELL_ROAD_VEH, CMD_SEND_ROADVEH_TO_DEPOT, CMD_TURN_ROADVEH, CMD_REFIT_ROAD_VEH,
  CMD_PAUSE, CMD_BUY_SHARE_IN_COMPANY, CMD_SELL_SHARE_IN_COMPANY, CMD_BUY_COMPANY,
  CMD_FOUND_TOWN, CMD_RENAME_TOWN, CMD_DO_TOWN_ACTION, CMD_SELL_SHIP,
  CMD_BUILD_SHIP, CMD_SEND_SHIP_TO_DEPOT, CMD_REFIT_SHIP, CMD_ORDER_REFIT,
  CMD_CLONE_ORDER, CMD_CLEAR_AREA, CMD_MONEY_CHEAT, CMD_BUILD_CANAL,
  CMD_COMPANY_CTRL, CMD_LEVEL_LAND, CMD_REFIT_RAIL_VEHICLE, CMD_RESTORE_ORDER_INDEX,
  CMD_BUILD_LOCK, CMD_BUILD_SIGNAL_TRACK, CMD_REMOVE_SIGNAL_TRACK, CMD_GIVE_MONEY,
  CMD_CHANGE_SETTING, CMD_CHANGE_COMPANY_SETTING, CMD_SET_AUTOREPLACE, CMD_CLONE_VEHICLE,
  CMD_START_STOP_VEHICLE, CMD_MASS_START_STOP, CMD_AUTOREPLACE_VEHICLE, CMD_DEPOT_SELL_ALL_VEHICLES,
  CMD_DEPOT_MASS_AUTOREPLACE, CMD_CREATE_GROUP, CMD_DELETE_GROUP, CMD_RENAME_GROUP,
  CMD_ADD_VEHICLE_GROUP, CMD_ADD_SHARED_VEHICLE_GROUP, CMD_REMOVE_ALL_VEHICLES_GROUP, CMD_SET_GROUP_REPLACE_PROTECTION,
  CMD_MOVE_ORDER, CMD_CHANGE_TIMETABLE, CMD_SET_VEHICLE_ON_TIME, CMD_AUTOFILL_TIMETABLE,
  CMD_SET_TIMETABLE_START
}
 

List of commands.

More...
enum  DoCommandFlag {
  DC_NONE = 0x000, DC_EXEC = 0x001, DC_AUTO = 0x002, DC_QUERY_COST = 0x004,
  DC_NO_WATER = 0x008, DC_NO_RAIL_OVERLAP = 0x010, DC_NO_TEST_TOWN_RATING = 0x020, DC_BANKRUPT = 0x040,
  DC_AUTOREPLACE = 0x080, DC_ALL_TILES = 0x100, DC_NO_MODIFY_TOWN_RATING = 0x200
}
 

List of flags for a command.

More...
enum  { CMD_NETWORK_COMMAND = 0x0100, CMD_NO_TEST_IF_IN_NETWORK = 0x0200, CMD_FLAGS_MASK = 0xFF00, CMD_ID_MASK = 0x00FF }
 

Defines some flags.

More...
enum  {
  CMD_SERVER = 0x01, CMD_SPECTATOR = 0x02, CMD_OFFLINE = 0x04, CMD_AUTO = 0x08,
  CMD_ALL_TILES = 0x10, CMD_NO_TEST = 0x20, CMD_NO_WATER = 0x40
}
 

Command flags for the command table _command_proc_table.

More...

Functions

 DECLARE_ENUM_AS_BIT_SET (DoCommandFlag)

Detailed Description

Types related to commands.

Definition in file command_type.h.


Define Documentation

#define CMD_MSG (  )     ((x) << 16)

Used to combine a StringID with the command.

This macro can be used to add a StringID (the error message to show) on a command-id (CMD_xxx). Use the binary or-operator "|" to combine the command with the result from this macro.

Parameters:
x The StringID to combine with a command-id

Definition at line 329 of file command_type.h.

Referenced by ChangeTimetableStartCallback(), CommonRaiseLowerBigLand(), DepotWindow::DepotClick(), GenericPlaceSignals(), GUIPlaceProcDragXY(), HandleAutoSignalPlacement(), DepotWindow::HandleCloneVehClick(), VehicleViewWindow::OnClick(), VehicleDetailsWindow::OnClick(), TownAuthorityWindow::OnClick(), TimetableWindow::OnClick(), OrdersWindow::OnClick(), BuildIndustryWindow::OnClick(), VehicleGroupWindow::OnClick(), BuyCompanyWindow::OnClick(), CompanyWindow::OnClick(), CompanyFinancesWindow::OnClick(), OrdersWindow::OnDragDrop(), VehicleGroupWindow::OnDragDrop(), DepotWindow::OnDragDrop(), OrdersWindow::OnDropdownSelect(), VehicleGroupWindow::OnDropdownSelect(), BuildTreesWindow::OnPlaceMouseUp(), BuildRoadToolbarWindow::OnPlaceMouseUp(), BuildRailToolbarWindow::OnPlaceMouseUp(), BuildDocksToolbarWindow::OnPlaceMouseUp(), OrdersWindow::OnPlaceObject(), BuildIndustryWindow::OnPlaceObject(), CompanyWindow::OnPlaceObject(), OrdersWindow::OnPlaceObjectAbort(), WaypointWindow::OnQueryTextFinished(), VehicleDetailsWindow::OnQueryTextFinished(), TownViewWindow::OnQueryTextFinished(), TimetableWindow::OnQueryTextFinished(), StationViewWindow::OnQueryTextFinished(), OrdersWindow::OnQueryTextFinished(), VehicleGroupWindow::OnQueryTextFinished(), CompanyWindow::OnQueryTextFinished(), BuildVehicleWindow::OnQueryTextFinished(), OrdersWindow::OrderClick_Delete(), OrdersWindow::OrderClick_FullLoad(), OrdersWindow::OrderClick_NearestDepot(), OrdersWindow::OrderClick_Nonstop(), OrdersWindow::OrderClick_Service(), OrdersWindow::OrderClick_Skip(), OrdersWindow::OrderClick_Unload(), PlaceProc_Sign(), RenameSign(), and ShowBuildBridgeWindow().


Typedef Documentation

typedef void CommandCallback(const CommandCost &result, TileIndex tile, uint32 p1, uint32 p2)

Define a callback function for the client, after the command is finished.

Functions of this type are called after the command is finished. The parameters are from the CommandProc callback type. The boolean parameter indicates if the command succeeded or failed.

Parameters:
result The result of the executed command
tile The tile of the command action
p1 Additional data of the command
p1 Additional data of the command
See also:
CommandProc

Definition at line 403 of file command_type.h.

typedef CommandCost CommandProc(TileIndex tile, DoCommandFlag flags, uint32 p1, uint32 p2, const char *text)

Defines the callback type for all command handler functions.

This type defines the function header for all functions which handles a CMD_* command. A command handler use the parameters to act according to the meaning of the command. The tile parameter defines the tile to perform an action on. The flag parameter is filled with flags from the DC_* enumeration. The parameters p1 and p2 are filled with parameters for the command like "which road type", "which order" or "direction". Each function should mentioned in there doxygen comments the usage of these parameters.

Parameters:
tile The tile to apply a command on
flags Flags for the command, from the DC_* enumeration
p1 Additional data for the command
p2 Additional data for the command
text Additional text
Returns:
The CommandCost of the command, which can be succeeded or failed.

Definition at line 376 of file command_type.h.


Enumeration Type Documentation

anonymous enum

Defines some flags.

This enumeration defines some flags which are binary-or'ed on a command.

Enumerator:
CMD_NETWORK_COMMAND 

execute the command without sending it on the network

CMD_NO_TEST_IF_IN_NETWORK 

When enabled, the command will bypass the no-DC_EXEC round if in network.

CMD_FLAGS_MASK 

mask for all command flags

CMD_ID_MASK 

mask for the command ID

Definition at line 336 of file command_type.h.

anonymous enum

Command flags for the command table _command_proc_table.

This enumeration defines flags for the _command_proc_table.

Enumerator:
CMD_SERVER 

the command can only be initiated by the server

CMD_SPECTATOR 

the command may be initiated by a spectator

CMD_OFFLINE 

the command cannot be executed in a multiplayer game; single-player only

CMD_AUTO 

set the DC_AUTO flag on this command

CMD_ALL_TILES 

allow this command also on MP_VOID tiles

CMD_NO_TEST 

the command's output may differ between test and execute due to town rating changes etc.

CMD_NO_WATER 

set the DC_NO_WATER flag on this command

Definition at line 348 of file command_type.h.

anonymous enum

List of commands.

This enum defines all possible commands which can be executed to the game engine. Observing the game like the query-tool or checking the profit of a vehicle don't result in a command which should be executed in the engine nor send to the server in a network game.

See also:
_command_proc_table
Enumerator:
CMD_BUILD_RAILROAD_TRACK 

build a rail track

CMD_REMOVE_RAILROAD_TRACK 

remove a rail track

CMD_BUILD_SINGLE_RAIL 

build a single rail track

CMD_REMOVE_SINGLE_RAIL 

remove a single rail track

CMD_LANDSCAPE_CLEAR 

demolish a tile

CMD_BUILD_BRIDGE 

build a bridge

CMD_BUILD_RAIL_STATION 

build a rail station

CMD_BUILD_TRAIN_DEPOT 

build a train depot

CMD_BUILD_SIGNALS 

build a signal

CMD_REMOVE_SIGNALS 

remove a signal

CMD_TERRAFORM_LAND 

terraform a tile

CMD_PURCHASE_LAND_AREA 

purchase a tile

CMD_SELL_LAND_AREA 

sell a bought tile before

CMD_BUILD_TUNNEL 

build a tunnel

CMD_REMOVE_FROM_RAIL_STATION 

remove a (rectangle of) tiles from a rail station

CMD_CONVERT_RAIL 

convert a rail type

CMD_BUILD_RAIL_WAYPOINT 

build a waypoint

CMD_RENAME_WAYPOINT 

rename a waypoint

CMD_REMOVE_FROM_RAIL_WAYPOINT 

remove a (rectangle of) tiles from a rail waypoint

CMD_BUILD_ROAD_STOP 

build a road stop

CMD_REMOVE_ROAD_STOP 

remove a road stop

CMD_BUILD_LONG_ROAD 

build a complete road (not a "half" one)

CMD_REMOVE_LONG_ROAD 

remove a complete road (not a "half" one)

CMD_BUILD_ROAD 

build a "half" road

CMD_BUILD_ROAD_DEPOT 

build a road depot

CMD_BUILD_AIRPORT 

build an airport

CMD_BUILD_DOCK 

build a dock

CMD_BUILD_SHIP_DEPOT 

build a ship depot

CMD_BUILD_BUOY 

build a buoy

CMD_PLANT_TREE 

plant a tree

CMD_BUILD_RAIL_VEHICLE 

build a rail vehicle

CMD_MOVE_RAIL_VEHICLE 

move a rail vehicle (in the depot)

CMD_SELL_RAIL_WAGON 

sell a rail wagon

CMD_SEND_TRAIN_TO_DEPOT 

send a train to a depot

CMD_FORCE_TRAIN_PROCEED 

proceed a train to pass a red signal

CMD_REVERSE_TRAIN_DIRECTION 

turn a train around

CMD_MODIFY_ORDER 

modify an order (like set full-load)

CMD_SKIP_TO_ORDER 

skip an order to the next of specific one

CMD_DELETE_ORDER 

delete an order

CMD_INSERT_ORDER 

insert a new order

CMD_CHANGE_SERVICE_INT 

change the server interval of a vehicle

CMD_BUILD_INDUSTRY 

build a new industry

CMD_BUILD_COMPANY_HQ 

build the company headquarter

CMD_SET_COMPANY_MANAGER_FACE 

set the manager's face of the company

CMD_SET_COMPANY_COLOUR 

set the colour of the company

CMD_INCREASE_LOAN 

increase the loan from the bank

CMD_DECREASE_LOAN 

decrease the loan from the bank

CMD_WANT_ENGINE_PREVIEW 

confirm the preview of an engine

CMD_RENAME_VEHICLE 

rename a whole vehicle

CMD_RENAME_ENGINE 

rename a engine (in the engine list)

CMD_RENAME_COMPANY 

change the company name

CMD_RENAME_PRESIDENT 

change the president name

CMD_RENAME_STATION 

rename a station

CMD_SELL_AIRCRAFT 

sell an aircraft

CMD_BUILD_AIRCRAFT 

build an aircraft

CMD_SEND_AIRCRAFT_TO_HANGAR 

send an aircraft to a hanger

CMD_REFIT_AIRCRAFT 

refit the cargo space of an aircraft

CMD_PLACE_SIGN 

place a sign

CMD_RENAME_SIGN 

rename a sign

CMD_BUILD_ROAD_VEH 

build a road vehicle

CMD_SELL_ROAD_VEH 

sell a road vehicle

CMD_SEND_ROADVEH_TO_DEPOT 

send a road vehicle to the depot

CMD_TURN_ROADVEH 

turn a road vehicle around

CMD_REFIT_ROAD_VEH 

refit the cargo space of a road vehicle

CMD_PAUSE 

pause the game

CMD_BUY_SHARE_IN_COMPANY 

buy a share from a company

CMD_SELL_SHARE_IN_COMPANY 

sell a share from a company

CMD_BUY_COMPANY 

buy a company which is bankrupt

CMD_FOUND_TOWN 

found a town

CMD_RENAME_TOWN 

rename a town

CMD_DO_TOWN_ACTION 

do a action from the town detail window (like advertises or bribe)

CMD_SELL_SHIP 

sell a ship

CMD_BUILD_SHIP 

build a new ship

CMD_SEND_SHIP_TO_DEPOT 

send a ship to a depot

CMD_REFIT_SHIP 

refit the cargo space of a ship

CMD_ORDER_REFIT 

change the refit informaction of an order (for "goto depot" )

CMD_CLONE_ORDER 

clone (and share) an order

CMD_CLEAR_AREA 

clear an area

CMD_MONEY_CHEAT 

do the money cheat

CMD_BUILD_CANAL 

build a canal

CMD_COMPANY_CTRL 

used in multiplayer to create a new companies etc.

CMD_LEVEL_LAND 

level land

CMD_REFIT_RAIL_VEHICLE 

refit the cargo space of a train

CMD_RESTORE_ORDER_INDEX 

restore vehicle order-index and service interval

CMD_BUILD_LOCK 

build a lock

CMD_BUILD_SIGNAL_TRACK 

add signals along a track (by dragging)

CMD_REMOVE_SIGNAL_TRACK 

remove signals along a track (by dragging)

CMD_GIVE_MONEY 

give money to another company

CMD_CHANGE_SETTING 

change a setting

CMD_CHANGE_COMPANY_SETTING 

change a company etting

CMD_SET_AUTOREPLACE 

set an autoreplace entry

CMD_CLONE_VEHICLE 

clone a vehicle

CMD_START_STOP_VEHICLE 

start or stop a vehicle

CMD_MASS_START_STOP 

start/stop all vehicles (in a depot)

CMD_AUTOREPLACE_VEHICLE 

replace/renew a vehicle while it is in a depot

CMD_DEPOT_SELL_ALL_VEHICLES 

sell all vehicles which are in a given depot

CMD_DEPOT_MASS_AUTOREPLACE 

force the autoreplace to take action in a given depot

CMD_CREATE_GROUP 

create a new group

CMD_DELETE_GROUP 

delete a group

CMD_RENAME_GROUP 

rename a group

CMD_ADD_VEHICLE_GROUP 

add a vehicle to a group

CMD_ADD_SHARED_VEHICLE_GROUP 

add all other shared vehicles to a group which are missing

CMD_REMOVE_ALL_VEHICLES_GROUP 

remove all vehicles from a group

CMD_SET_GROUP_REPLACE_PROTECTION 

set the autoreplace-protection for a group

CMD_MOVE_ORDER 

move an order

CMD_CHANGE_TIMETABLE 

change the timetable for a vehicle

CMD_SET_VEHICLE_ON_TIME 

set the vehicle on time feature (timetable)

CMD_AUTOFILL_TIMETABLE 

autofill the timetable

CMD_SET_TIMETABLE_START 

set the date that a timetable should start

Definition at line 154 of file command_type.h.

List of flags for a command.

This enums defines some flags which can be used for the commands.

Enumerator:
DC_NONE 

no flag is set

DC_EXEC 

execute the given command

DC_AUTO 

don't allow building on structures

DC_QUERY_COST 

query cost only, don't build.

DC_NO_WATER 

don't allow building on water

DC_NO_RAIL_OVERLAP 

don't allow overlap of rails (used in buildrail)

DC_NO_TEST_TOWN_RATING 

town rating does not disallow you from building

DC_BANKRUPT 

company bankrupts, skip money check, skip vehicle on tile check in some cases

DC_AUTOREPLACE 

autoreplace/autorenew is in progress, this shall disable vehicle limits when building, and ignore certain restrictions when undoing things (like vehicle attach callback)

DC_ALL_TILES 

allow this command also on MP_VOID tiles

DC_NO_MODIFY_TOWN_RATING 

do not change town rating

Definition at line 305 of file command_type.h.


Generated on Sat Jun 19 17:14:58 2010 for OpenTTD by  doxygen 1.6.1