OpenTTD Source
20241108-master-g80f628063a
|
Handling of sign related commands. More...
#include "stdafx.h"
#include "landscape.h"
#include "company_func.h"
#include "signs_base.h"
#include "signs_func.h"
#include "command_func.h"
#include "tilehighlight_func.h"
#include "viewport_kdtree.h"
#include "window_func.h"
#include "string_func.h"
#include "signs_cmd.h"
#include "table/strings.h"
#include "safeguards.h"
Go to the source code of this file.
Functions | |
std::tuple< CommandCost, SignID > | CmdPlaceSign (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, const CommandCost &result, SignID new_sign) |
Callback function that is called after a sign is placed. More... | |
void | PlaceProc_Sign (TileIndex tile) |
PlaceProc function, called when someone pressed the button if the sign-tool is selected. More... | |
Handling of sign related commands.
Definition in file signs_cmd.cpp.
void CcPlaceSign | ( | Commands | cmd, |
const CommandCost & | result, | ||
SignID | new_sign | ||
) |
Callback function that is called after a sign is placed.
result | of the operation |
new_sign | ID of the placed sign. |
Definition at line 108 of file signs_cmd.cpp.
Referenced by PlaceProc_Sign().
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.
tile | tile to place sign at |
flags | type of operation |
text | contents of the sign |
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().
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
flags | type of operation |
sign_id | index of the sign to be renamed/removed |
text | the new name or an empty string when resetting to the default |
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().
void PlaceProc_Sign | ( | TileIndex | tile | ) |
PlaceProc function, called when someone pressed the button if the sign-tool is selected.
tile | on which to place the sign |
Definition at line 122 of file signs_cmd.cpp.
References CcPlaceSign().