|
OpenTTD Source 20260129-master-g2bb01bd0e4
|
Types related to commands. More...
#include "company_type.h"#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 | CommandFunctionTraitHelper< CommandCost(*)(DoCommandFlags, Targs...)> |
| struct | CommandFunctionTraitHelper< Tret< CommandCost, Tretargs... >(*)(DoCommandFlags, Targs...)> |
Macros | |
| #define | DEF_CMD_TRAIT(cmd_, proc_, flags_, type_) |
Typedefs | |
| using | DoCommandFlags = EnumBitSet< DoCommandFlag, uint16_t > |
| using | CommandFlags = EnumBitSet< CommandFlag, uint16_t > |
| typedef std::vector< uint8_t > | CommandDataBuffer |
| Storage buffer for serialized command data. | |
| typedef void | CommandCallback(Commands cmd, const CommandCost &result, TileIndex tile) |
| Define a callback function for the client, after the command is finished. | |
| typedef void | CommandCallbackData(Commands cmd, const CommandCost &result, const CommandDataBuffer &data, CommandDataBuffer result_data) |
| Define a callback function for the client, after the command is finished. | |
Functions | |
| CommandCost | CommandCostWithParam (StringID str, uint64_t value) |
| Return an error status, with string and parameter. | |
| CommandCost | CommandCostWithParam (StringID str, ConvertibleThroughBase auto value) |
Types related to commands.
Definition in file command_type.h.
| #define DEF_CMD_TRAIT | ( | cmd_, | |
| proc_, | |||
| flags_, | |||
| type_ | |||
| ) |
Definition at line 467 of file command_type.h.
| typedef void CommandCallback(Commands cmd, const CommandCost &result, TileIndex tile) |
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.
| cmd | The command that was executed |
| result | The result of the executed command |
| tile | The tile of the command action |
Definition at line 496 of file command_type.h.
| typedef void CommandCallbackData(Commands cmd, const CommandCost &result, const CommandDataBuffer &data, CommandDataBuffer result_data) |
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.
| cmd | The command that was executed |
| result | The result of the executed command |
| tile | The tile of the command action |
| data | Additional data of the command |
| result_data | Additional returned data from the command |
Definition at line 512 of file command_type.h.
| typedef std::vector<uint8_t> CommandDataBuffer |
Storage buffer for serialized command data.
Definition at line 482 of file command_type.h.
| using CommandFlags = EnumBitSet<CommandFlag, uint16_t> |
Definition at line 421 of file command_type.h.
| using DoCommandFlags = EnumBitSet<DoCommandFlag, uint16_t> |
Definition at line 400 of file command_type.h.
|
strong |
Command flags for the command table _command_proc_table.
This enumeration defines flags for the _command_proc_table.
| Enumerator | |
|---|---|
| Server | the command can only be initiated by the server |
| Spectator | the command may be initiated by a spectator |
| Offline | the command cannot be executed in a multiplayer game; single-player only |
| Auto | set the DoCommandFlag::Auto flag on this command |
| AllTiles | allow this command also on TileType::Void tiles |
| NoTest | the command's output may differ between test and execute due to town rating changes etc. |
| NoWater | set the DoCommandFlag::NoWater flag on this command |
| ClientID | set p2 with the ClientID of the sending client. |
| Deity | the command may be executed by COMPANY_DEITY |
| StrCtrl | the command's string may contain control strings |
| NoEst | the command is never estimated. |
| Location | the command has implicit location argument. |
Definition at line 407 of file command_type.h.
|
strong |
Different command pause levels.
Definition at line 440 of file command_type.h.
|
strong |
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.
| Enumerator | |
|---|---|
| BuildRailLong | build a rail track |
| RemoveRailLong | remove a rail track |
| BuildRail | build a single rail track |
| RemoveRail | remove a single rail track |
| LandscapeClear | demolish a tile |
| BuildBridge | build a bridge |
| BuildRailStation | build a rail station |
| BuildRailDepot | build a train depot |
| BuildSignal | build a signal |
| RemoveSignal | remove a signal |
| TerraformLand | terraform a tile |
| BuildObject | build an object |
| BuildObjectArea | build an area of objects |
| BuildTunnel | build a tunnel |
| RemoveFromRailStation | remove a (rectangle of) tiles from a rail station |
| ConvertRail | convert a rail type |
| BuildRailWaypoint | build a waypoint |
| RenameWaypoint | rename a waypoint |
| MoveWaypointNAme | move a waypoint name |
| RemoveFromRailWaypoint | remove a (rectangle of) tiles from a rail waypoint |
| BuildRoadWaypoint | build a road waypoint |
| RemoveFromRoadWaypoint | remove a (rectangle of) tiles from a road waypoint |
| BuildRoadStop | build a road stop |
| RemoveRoadStop | remove a road stop |
| BuildRoadLong | build a complete road (not a "half" one) |
| RemoveRoadLong | remove a complete road (not a "half" one) |
| BuildRoad | build a "half" road |
| BuildRoadDepot | build a road depot |
| ConvertRoad | convert a road type |
| BuildAirport | build an airport |
| BuildDock | build a dock |
| BuildShipDepot | build a ship depot |
| BuildBuoy | build a buoy |
| PlantTree | plant a tree |
| BuildVehicle | build a vehicle |
| SellVehicle | sell a vehicle |
| RefitVehicle | refit the cargo space of a vehicle |
| SendVehicleToDepot | send a vehicle to a depot |
| SetVehicleVisibility | hide or unhide a vehicle in the build vehicle and autoreplace GUIs |
| MoveRailVehicle | move a rail vehicle (in the depot) |
| ForceTrainProceed | proceed a train to pass a red signal |
| ReverseTrainDirection | turn a train around |
| ClearOrderBackup | clear the order backup of a given user/tile |
| ModifyOrder | modify an order (like set full-load) |
| SkipToOrder | skip an order to the next of specific one |
| DeleteOrder | delete an order |
| InsertOrder | insert a new order |
| ChangeServiceInterval | change the server interval of a vehicle |
| BuildIndustry | build a new industry |
| IndustrySetFlags | change industry control flags |
| IndustrySetExclusivity | change industry exclusive consumer/supplier |
| IndustrySetText | change additional text for the industry |
| IndustrySetProduction | change industry production |
| SetCompanyManagerFace | set the manager's face of the company |
| SetCompanyColour | set the colour of the company |
| IncreaseLoan | increase the loan from the bank |
| DecreaseLoan | decrease the loan from the bank |
| SetCompanyMaxLoan | sets the max loan for the company |
| WantEnginePreview | confirm the preview of an engine |
| EngineControl | control availability of the engine for companies |
| RenameVehicle | rename a whole vehicle |
| RenameEngine | rename a engine (in the engine list) |
| RenameCompany | change the company name |
| RenamePresident | change the president name |
| RenameStation | rename a station |
| MoveStationName | move a station name |
| RenameDepot | rename a depot |
| PlaceSign | place a sign |
| RenameSign | rename a sign |
| MoveSign | move a sign |
| TurnRoadVehicle | turn a road vehicle around |
| Pause | pause the game |
| BuyCompany | buy a company which is bankrupt |
| FoundTown | found a town |
| RenameTown | rename a town |
| TownAction | do a action from the town detail window (like advertises or bribe) |
| TownCargoGoal | set the goal of a cargo for a town |
| TownGrowthRate | set the town growth rate |
| TownRating | set rating of a company in a town |
| TownSetText | set the custom text of a town |
| ExpandTown | expand a town |
| DeleteTown | delete a town |
| PlaceHouse | place a house |
| PlaceHouseArea | place an area of houses |
| OrderRefit | change the refit information of an order (for "goto depot" ) |
| CloneOrder | clone (and share) an order |
| ClearArea | clear an area |
| MoneyCheat | do the money cheat |
| ChangeBankBalance | change bank balance to charge costs or give money from a GS |
| BuildCanal | build a canal |
| CreateSubsidy | create a new subsidy |
| CompanyControl | used in multiplayer to create a new companies etc. |
| CompanyAllowListControl | Used in multiplayer to add/remove a client's public key to/from the company's allow list. |
| CreateCustomNewsItem | create a custom news message |
| CreateGoal | create a new goal |
| RemoveGoal | remove a goal |
| SetGoalDestination | update goal destination of a goal |
| SetGoalText | update goal text of a goal |
| SetGoalProgress | update goal progress text of a goal |
| SetGoalCompleted | update goal completed status of a goal |
| GoalQuestion | ask a goal related question |
| GoalQuestionAnswer | answer(s) to Commands::GoalQuestion |
| CreateStoryPage | create a new story page |
| CreateStoryPageElement | create a new story page element |
| UpdateStoryPageElement | update a story page element |
| SetStoryPageTitle | update title of a story page |
| SetStoryPageDate | update date of a story page |
| ShowStoryPage | show a story page |
| RemoveStoryPage | remove a story page |
| RemoveStoryPageElement | remove a story page element |
| ScrollViewport | scroll main viewport of players |
| StoryPageButton | selection via story page button |
| LevelLand | level land |
| BuildLock | build a lock |
| BuildSignalLong | add signals along a track (by dragging) |
| RemoveSignalLong | remove signals along a track (by dragging) |
| GiveMoney | give money to another company |
| ChangeSetting | change a setting |
| ChangeCompanySetting | change a company setting |
| SetAutoreplace | set an autoreplace entry |
| CloneVehicle | clone a vehicle |
| StartStopVehicle | start or stop a vehicle |
| MassStartStop | start/stop all vehicles (in a depot) |
| AutoreplaceVehicle | replace/renew a vehicle while it is in a depot |
| DepotMassSell | sell all vehicles which are in a given depot |
| DepotMassAutoreplace | force the autoreplace to take action in a given depot |
| CreateGroup | create a new group |
| DeleteGroup | delete a group |
| AlterGroup | alter a group |
| AddVehicleToGroup | add a vehicle to a group |
| AddSharedVehiclesToGroup | add all other shared vehicles to a group which are missing |
| RemoveAllVehiclesGroup | remove all vehicles from a group |
| SetGroupFlag | set/clear a flag for a group |
| SetGroupLivery | set the livery for a group |
| MoveOrder | move an order |
| ChangeTimetable | change the timetable for a vehicle |
| ChangeTimetableBulk | change the timetable for all orders of a vehicle |
| SetVehicleOnTime | set the vehicle on time feature (timetable) |
| AutofillTimetable | autofill the timetable |
| SetTimetableStart | set the date that a timetable should start |
| OpenCloseAirport | open/close an airport to incoming aircraft |
| CreateLeagueTable | create a new league table |
| CreateLeagueTableElement | create a new element in a league table |
| UpdateLeagueTableElementData | update the data fields of a league table element |
| UpdateLeagueTableElementScore | update the score of a league table element |
| RemoveLeagueTableElement | remove a league table element |
| End |
|
Definition at line 196 of file command_type.h.
|
strong |
Types of commands we have.
Definition at line 424 of file command_type.h.
|
strong |
List of flags for a command.
This enums defines some flags which can be used for the commands.
| Enumerator | |
|---|---|
| Execute | execute the given command |
| Auto | don't allow building on structures |
| QueryCost | query cost only, don't build. |
| NoWater | don't allow building on water |
| NoTestTownRating | town rating does not disallow you from building |
| Bankrupt | company bankrupts, skip money check, skip vehicle on tile check in some cases |
| AutoReplace | autoreplace/autorenew is in progress, this shall disable vehicle limits when building, and ignore certain restrictions when undoing things (like vehicle attach callback) |
| NoCargoCapacityCheck | when autoreplace/autorenew is in progress, this shall prevent truncating the amount of cargo in the vehicle to prevent testing the command to remove cargo |
| AllTiles | allow this command also on TileType::Void tiles |
| NoModifyTownRating | do not change town rating |
| ForceClearTile | do not only remove the object on the tile, but also clear any water left on it |
Definition at line 387 of file command_type.h.
| CommandCost CommandCostWithParam | ( | StringID | str, |
| ConvertibleThroughBase auto | value | ||
| ) |
Definition at line 184 of file command_type.h.
| CommandCost CommandCostWithParam | ( | StringID | str, |
| uint64_t | value | ||
| ) |
Return an error status, with string and parameter.
| str | StringID of error. |
| value | Single parameter for error. |
Definition at line 417 of file command.cpp.
References GetEncodedString(), IsLocalCompany(), and CommandCost::SetEncodedMessage().
Referenced by CheckAllowRemoveRoad(), CheckforTownRating(), CheckIfAuthorityAllowsNewStation(), ClearTile_Station(), ClearTile_Town(), CmdBuildAirport(), CmdBuildBridge(), CmdDecreaseLoan(), CmdIncreaseLoan(), DoBuildLock(), CommandHelperBase::InternalExecuteProcessResult(), and IsStationBridgeAboveOk().