OpenTTD Source  20241109-master-g5e4f8db7d6
signs_cmd.h File Reference

Command definitions related to signs. More...

#include "command_type.h"
#include "signs_type.h"

Go to the source code of this file.

Functions

std::tuple< CommandCost, SignIDCmdPlaceSign (DoCommandFlag flags, TileIndex tile, const std::string &text)
 Place a sign at the given coordinates. More...
 
CommandCost CmdRenameSign (DoCommandFlag flags, SignID sign_id, const std::string &text)
 Rename a sign. More...
 
void CcPlaceSign (Commands cmd, const CommandCost &result, SignID new_sign)
 Callback function that is called after a sign is placed. More...
 

Detailed Description

Command definitions related to signs.

Definition in file signs_cmd.h.

Function Documentation

◆ CcPlaceSign()

void CcPlaceSign ( Commands  cmd,
const CommandCost result,
SignID  new_sign 
)

Callback function that is called after a sign is placed.

Parameters
resultof the operation
new_signID of the placed sign.

Definition at line 108 of file signs_cmd.cpp.

Referenced by PlaceProc_Sign().

◆ CmdPlaceSign()

std::tuple<CommandCost, SignID> CmdPlaceSign ( DoCommandFlag  flags,
TileIndex  tile,
const std::string &  text 
)

Place a sign at the given coordinates.

Ownership of sign has no effect whatsoever except for the colour the sign gets for easy recognition, but everybody is able to rename/remove it.

Parameters
tiletile to place sign at
flagstype of operation
textcontents of the sign
Returns
the cost of this operation + the ID of the new sign or an error

Definition at line 35 of file signs_cmd.cpp.

References Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_sign_pool >::CanAllocateItem(), CMD_ERROR, DC_EXEC, INVALID_SIGN, MAX_LENGTH_SIGN_NAME_CHARS, and Utf8StringLength().

◆ CmdRenameSign()

CommandCost CmdRenameSign ( DoCommandFlag  flags,
SignID  sign_id,
const std::string &  text 
)

Rename a sign.

If the new name of the sign is empty, we assume the user wanted to delete it. So delete it. Ownership of signs has no meaning/effect whatsoever except for eyecandy

Parameters
flagstype of operation
sign_idindex of the sign to be renamed/removed
textthe new name or an empty string when resetting to the default
Returns
the cost of this operation or an error

Definition at line 72 of file signs_cmd.cpp.

References CMD_ERROR, CompanyCanRenameSign(), DC_EXEC, Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_sign_pool >::GetIfValid(), MAX_LENGTH_SIGN_NAME_CHARS, and Utf8StringLength().