OpenTTD Source 20260206-master-g4d4e37dbf1
signs_cmd.h File Reference

Command definitions related to signs. More...

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

Go to the source code of this file.

Functions

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

Detailed Description

Command definitions related to signs.

Definition in file signs_cmd.h.

Function Documentation

◆ CcPlaceSign()

void CcPlaceSign ( Commands ,
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 135 of file signs_cmd.cpp.

References CommandCost::Failed(), ResetObjectToPlace(), and ShowRenameSignWindow().

Referenced by PlaceProc_Sign().

◆ CmdMoveSign()

CommandCost CmdMoveSign ( DoCommandFlags flags,
SignID sign_id,
TileIndex tile )

Move a sign to the given coordinates.

Ownership of signs has no meaning/effect whatsoever except for eyecandy.

Parameters
flagstype of operation
sign_idindex of the sign to be moved
tiletile to place the sign at
Returns
the cost of this operation or an error

Definition at line 108 of file signs_cmd.cpp.

References _current_company, CMD_ERROR, CompanyCanEditSign(), Execute, GetSlopePixelZ(), BaseBitSet< Timpl, Tvalue_type, Tstorage, Tmask >::Test(), TILE_SIZE, TileX(), TileY(), and Sign::UpdateVirtCoord().

◆ CmdPlaceSign()

std::tuple< CommandCost, SignID > CmdPlaceSign ( DoCommandFlags 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 _current_company, CMD_ERROR, Execute, GetSlopePixelZ(), InvalidateWindowData(), MAX_LENGTH_SIGN_NAME_CHARS, OWNER_DEITY, BaseBitSet< Timpl, Tvalue_type, Tstorage, Tmask >::Test(), TILE_SIZE, TileX(), TileY(), Sign::UpdateVirtCoord(), Utf8StringLength(), and WC_SIGN_LIST.

◆ CmdRenameSign()

CommandCost CmdRenameSign ( DoCommandFlags flags,
SignID sign_id,
const std::string & text,
Colours text_colour )

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
text_colourcolour of the sign's text. Only relevant for OWNER_DEITY. Use INVALID_COLOUR to keep the current colour.
Returns
the cost of this operation or an error

Definition at line 68 of file signs_cmd.cpp.

References _current_company, CMD_ERROR, CompanyCanEditSign(), Execute, InvalidateWindowData(), TrackedViewportSign::kdtree_valid, ViewportSign::MarkDirty(), MAX_LENGTH_SIGN_NAME_CHARS, BaseBitSet< Timpl, Tvalue_type, Tstorage, Tmask >::Test(), Sign::UpdateVirtCoord(), Utf8StringLength(), and WC_SIGN_LIST.