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 (bool success, 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_RAILROAD_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_RAILROAD_STATION, CMD_CONVERT_RAIL,
  CMD_BUILD_TRAIN_WAYPOINT, CMD_RENAME_WAYPOINT, CMD_REMOVE_TRAIN_WAYPOINT, CMD_BUILD_ROAD_STOP,
  CMD_REMOVE_ROAD_STOP, CMD_BUILD_LONG_ROAD, CMD_REMOVE_LONG_ROAD, CMD_BUILD_ROAD,
  CMD_REMOVE_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_BUILD_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_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
}
 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 320 of file command_type.h.

Referenced by CommonRaiseLowerBigLand(), GenericPlaceSignals(), GUIPlaceProcDragXY(), HandleAutoSignalPlacement(), CompanyWindow::OnClick(), BuildRailToolbarWindow::OnPlaceMouseUp(), CompanyWindow::OnPlaceObject(), StationViewWindow::OnQueryTextFinished(), CompanyWindow::OnQueryTextFinished(), PlaceProc_Sign(), RenameSign(), and ShowBuildBridgeWindow().


Typedef Documentation

typedef void CommandCallback(bool success, 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:
success If the command succeeded or not.
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 393 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 367 of file command_type.h.


Enumeration Type Documentation

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_RAILROAD_STATION  build a railroad 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_RAILROAD_STATION  remove a tile station
CMD_CONVERT_RAIL  convert a rail type
CMD_BUILD_TRAIN_WAYPOINT  build a waypoint
CMD_RENAME_WAYPOINT  rename a waypoint
CMD_REMOVE_TRAIN_WAYPOINT  remove a 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_REMOVE_ROAD  remove 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_BUILD_TOWN  build 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_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

Definition at line 145 of file command_type.h.

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 327 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 339 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 296 of file command_type.h.


Generated on Mon Feb 16 23:12:14 2009 for openttd by  doxygen 1.5.6