signs.cpp File Reference

#include "stdafx.h"
#include "openttd.h"
#include "landscape.h"
#include "player_func.h"
#include "signs.h"
#include "saveload.h"
#include "command_func.h"
#include "variables.h"
#include "strings_func.h"
#include "viewport_func.h"
#include "zoom_func.h"
#include "functions.h"
#include "window_func.h"
#include "map_func.h"
#include "string_func.h"
#include "table/strings.h"

Go to the source code of this file.

Functions

static void UpdateSignVirtCoords (Sign *si)
 Update the coordinate of one sign.
void UpdateAllSignVirtCoords ()
 Update the coordinates of all signs.
static void MarkSignDirty (Sign *si)
 Marks the region of a sign as dirty.
CommandCost CmdPlaceSign (TileIndex tile, uint32 flags, uint32 p1, uint32 p2)
 Place a sign at the given coordinates.
CommandCost CmdRenameSign (TileIndex tile, uint32 flags, uint32 p1, uint32 p2)
 Rename a sign.
void CcPlaceSign (bool success, 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.
void InitializeSigns ()
 Initialize the signs.
static void Save_SIGN ()
 Save all signs.
static void Load_SIGN ()
 Load all signs.

Variables

SignID _new_sign_id
uint _total_signs
bool _sign_sort_dirty
static const SaveLoad _sign_desc []
const ChunkHandler _sign_chunk_handlers []


Detailed Description

Definition in file signs.cpp.


Function Documentation

void CcPlaceSign ( bool  success,
TileIndex  tile,
uint32  p1,
uint32  p2 
)

Callback function that is called after a sign is placed.

Parameters:
success of the operation
tile unused
p1 unused
p2 unused

Definition at line 180 of file signs.cpp.

Referenced by PlaceProc_Sign().

CommandCost CmdPlaceSign ( TileIndex  tile,
uint32  flags,
uint32  p1,
uint32  p2 
)

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

Definition at line 100 of file signs.cpp.

References DC_EXEC, MarkSignDirty(), return_cmd_error, TILE_SIZE, TileX(), TileY(), and UpdateSignVirtCoords().

CommandCost CmdRenameSign ( TileIndex  tile,
uint32  flags,
uint32  p1,
uint32  p2 
)

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
Returns:
0 if succesfull, otherwise CMD_ERROR

Definition at line 134 of file signs.cpp.

References _cmd_text, CMD_ERROR, DC_EXEC, MarkSignDirty(), and UpdateSignVirtCoords().

void InitializeSigns (  ) 

Initialize the signs.

Definition at line 204 of file signs.cpp.

static void Load_SIGN (  )  [static]

Load all signs.

Definition at line 243 of file signs.cpp.

References SlIterateArray(), and SlObject().

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 194 of file signs.cpp.

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

static void Save_SIGN (  )  [static]

Save all signs.

Definition at line 228 of file signs.cpp.

References SlObject().

void UpdateAllSignVirtCoords (  ) 

Update the coordinates of all signs.

Definition at line 63 of file signs.cpp.

References UpdateSignVirtCoords().

Referenced by InitializeWindowsAndCaches().

static void UpdateSignVirtCoords ( Sign *  si  )  [static]

Update the coordinate of one sign.

Parameters:
si Pointer to the Sign

Definition at line 51 of file signs.cpp.

Referenced by CmdPlaceSign(), CmdRenameSign(), and UpdateAllSignVirtCoords().


Variable Documentation

const ChunkHandler _sign_chunk_handlers[]

Initial value:

 {
  { 'SIGN', Save_SIGN, Load_SIGN, CH_ARRAY | CH_LAST},
}

const SaveLoad _sign_desc[] [static]

Initial value:

 {
  SLE_CONDVAR(Sign, name,  SLE_NAME,                   0, 83),
  SLE_CONDSTR(Sign, name,  SLE_STR, 0,                84, SL_MAX_VERSION),
  SLE_CONDVAR(Sign, x,     SLE_FILE_I16 | SLE_VAR_I32, 0, 4),
  SLE_CONDVAR(Sign, y,     SLE_FILE_I16 | SLE_VAR_I32, 0, 4),
  SLE_CONDVAR(Sign, x,     SLE_INT32,                  5, SL_MAX_VERSION),
  SLE_CONDVAR(Sign, y,     SLE_INT32,                  5, SL_MAX_VERSION),
  SLE_CONDVAR(Sign, owner, SLE_UINT8,                  6, SL_MAX_VERSION),
      SLE_VAR(Sign, z,     SLE_UINT8),

}

Definition at line 211 of file signs.cpp.


Generated on Wed Oct 1 17:03:31 2008 for openttd by  doxygen 1.5.6