OpenTTD: src/signs_cmd.cpp File Reference

OpenTTD

- Main Page
- Related Pages
- Modules
- Namespaces
- Data Structures
- Files

- File List
- Globals

Functions | Variables
signs_cmd.cpp File Reference

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 "window_func.h"`
`#include "string_func.h"`
`#include "table/strings.h"`
`#include "safeguards.h"`

Go to the source code of this file.

## Functions
CommandCost | CmdPlaceSign (TileIndex tile, DoCommandFlag flags, uint32 p1, uint32 p2, const char *text)
| Place a sign at the given coordinates.
CommandCost | CmdRenameSign (TileIndex tile, DoCommandFlag flags, uint32 p1, uint32 p2, const char *text)
| Rename a sign.
void | CcPlaceSign (const CommandCost &result, TileIndex tile, uint32 p1, uint32 p2)
| Callback function that is called after a sign is placed.
void | PlaceProc_Sign (TileIndex tile)
| PlaceProc function, called when someone pressed the button if the sign-tool is selected.

## Variables
SignID | _new_sign_id
| The last built sign.

## Detailed Description

Handling of sign related commands.

Definition in file signs_cmd.cpp.

## Function Documentation

void CcPlaceSign | ( | const CommandCost & | result,
|  | TileIndex | tile,
|  | uint32 | p1,
|  | uint32 | p2
| ) |  |

Callback function that is called after a sign is placed.

Parameters

  result | of the operation
  tile | unused
  p1 | unused
  p2 | unused

Definition at line 118 of file signs_cmd.cpp.

References _new_sign_id, CommandCost::Failed(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_sign_pool >::Get(), ResetObjectToPlace(), and ShowRenameSignWindow().

Referenced by PlaceProc_Sign().

CommandCost CmdPlaceSign | ( | TileIndex | tile,
|  | DoCommandFlag | flags,
|  | uint32 | p1,
|  | uint32 | p2,
|  | const char * | 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

  tile | tile to place sign at
  flags | type of operation
  p1 | unused
  p2 | unused
  text | unused

Returns
  the cost of this operation or an error

Definition at line 40 of file signs_cmd.cpp.

References _current_company, _new_sign_id, Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_sign_pool >::CanAllocateItem(), CMD_ERROR, DC_EXEC, Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem< Tpool >::index, InvalidateWindowData(), MAX_LENGTH_SIGN_NAME_CHARS, OWNER_DEITY, return_cmd_error, stredup(), StrEmpty(), TILE_SIZE, TileX(), TileY(), Sign::UpdateVirtCoord(), Utf8StringLength(), and WC_SIGN_LIST.

CommandCost CmdRenameSign | ( | TileIndex | tile,
|  | DoCommandFlag | flags,
|  | uint32 | p1,
|  | uint32 | p2,
|  | const char * | 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

  tile | unused
  flags | type of operation
  p1 | index of the sign to be renamed/removed
  p2 | unused
  text | the new name or an empty string when resetting to the default

Returns
  the cost of this operation or an error

Definition at line 79 of file signs_cmd.cpp.

References _current_company, CMD_ERROR, DC_EXEC, free(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_sign_pool >::GetIfValid(), InvalidateWindowData(), ViewportSign::MarkDirty(), MAX_LENGTH_SIGN_NAME_CHARS, OWNER_DEITY, stredup(), StrEmpty(), Sign::UpdateVirtCoord(), Utf8StringLength(), and WC_SIGN_LIST.

void PlaceProc_Sign | ( | TileIndex | tile | ) |

PlaceProc function, called when someone pressed the button if the sign-tool is selected.

Parameters

  tile | on which to place the sign

Definition at line 132 of file signs_cmd.cpp.

References CcPlaceSign(), CMD_MSG, CMD_PLACE_SIGN, and DoCommandP().

Referenced by TerraformToolbarWindow::OnPlaceObject(), MainToolbarWindow::OnPlaceObject(), and ScenarioEditorToolbarWindow::OnPlaceObject().

## Variable Documentation

SignID _new_sign_id

The last built sign.

Definition at line 27 of file signs_cmd.cpp.

Referenced by CcPlaceSign(), and CmdPlaceSign().