tile_cmd.h File Reference

Generic 'commands' that can be performed on all tiles. More...

#include "slope_type.h"
#include "tile_type.h"
#include "command_type.h"
#include "vehicle_type.h"
#include "cargo_type.h"
#include "strings_type.h"
#include "date_type.h"
#include "player_type.h"
#include "direction_type.h"
#include "track_type.h"

Go to the source code of this file.

Data Structures

struct  TileInfo
struct  TileDesc
struct  TileTypeProcs

Typedefs

typedef void DrawTileProc (TileInfo *ti)
typedef uint GetSlopeZProc (TileIndex tile, uint x, uint y)
typedef CommandCost ClearTileProc (TileIndex tile, byte flags)
typedef void GetAcceptedCargoProc (TileIndex tile, AcceptedCargo res)
typedef void GetTileDescProc (TileIndex tile, TileDesc *td)
typedef TrackStatus GetTileTrackStatusProc (TileIndex tile, TransportType mode, uint sub_mode, DiagDirection side)
 GetTileTrackStatusProcs return a value that contains the possible tracks that can be taken on a given tile by a given transport.
typedef void GetProducedCargoProc (TileIndex tile, CargoID *b)
typedef void ClickTileProc (TileIndex tile)
typedef void AnimateTileProc (TileIndex tile)
typedef void TileLoopProc (TileIndex tile)
typedef void ChangeTileOwnerProc (TileIndex tile, PlayerID old_player, PlayerID new_player)
typedef VehicleEnterTileStatus VehicleEnterTileProc (Vehicle *v, TileIndex tile, int x, int y)
typedef Foundation GetFoundationProc (TileIndex tile, Slope tileh)
typedef CommandCost TerraformTileProc (TileIndex tile, uint32 flags, uint z_new, Slope tileh_new)
 Called when a tile is affected by a terraforming operation.

Enumerations

enum  VehicleEnterTileStatus {
  VETS_ENTERED_STATION = 1, VETS_ENTERED_WORMHOLE = 2, VETS_CANNOT_ENTER = 3, VETS_STATION_ID_OFFSET = 8,
  VETS_STATION_MASK = 0xFFFF << VETS_STATION_ID_OFFSET, VETSB_CONTINUE = 0, VETSB_ENTERED_STATION = 1 << VETS_ENTERED_STATION, VETSB_ENTERED_WORMHOLE = 1 << VETS_ENTERED_WORMHOLE,
  VETSB_CANNOT_ENTER = 1 << VETS_CANNOT_ENTER
}
 The returned bits of VehicleEnterTile. More...

Functions

 DECLARE_ENUM_AS_BIT_SET (VehicleEnterTileStatus)
TrackStatus GetTileTrackStatus (TileIndex tile, TransportType mode, uint sub_mode, DiagDirection side=INVALID_DIAGDIR)
 Returns information about trackdirs and signal states.
void GetAcceptedCargo (TileIndex tile, AcceptedCargo ac)
void ChangeTileOwner (TileIndex tile, PlayerID old_player, PlayerID new_player)
void AnimateTile (TileIndex tile)
void ClickTile (TileIndex tile)
void GetTileDesc (TileIndex tile, TileDesc *td)

Variables

const TileTypeProcs *const _tile_type_procs [16]


Detailed Description

Generic 'commands' that can be performed on all tiles.

Definition in file tile_cmd.h.


Typedef Documentation

typedef TrackStatus GetTileTrackStatusProc(TileIndex tile, TransportType mode, uint sub_mode, DiagDirection side)

GetTileTrackStatusProcs return a value that contains the possible tracks that can be taken on a given tile by a given transport.

The return value contains the existing trackdirs and signal states.

see track_func.h for usage of TrackStatus.

Parameters:
tile the tile to get the track status from
mode the mode of transportation
sub_mode used to differentiate between different kinds within the mode
Returns:
the track status information

Definition at line 74 of file tile_cmd.h.

typedef CommandCost TerraformTileProc(TileIndex tile, uint32 flags, uint z_new, Slope tileh_new)

Called when a tile is affected by a terraforming operation.

The function has to check if terraforming of the tile is allowed and return extra terraform-cost that depend on the tiletype. With DC_EXEC in flags it has to perform tiletype-specific actions (like clearing land etc., but not the terraforming itself).

Note:
The terraforming has not yet taken place. So GetTileZ() and GetTileSlope() refer to the landscape before the terraforming operation.
Parameters:
tile The involved tile.
flags Command flags passed to the terraform command (DC_EXEC, DC_QUERY_COST, etc.).
z_new TileZ after terraforming.
tileh_new Slope after terraforming.
Returns:
Error code or extra cost for terraforming (like clearing land, building foundations, etc., but not the terraforming itself.)

Definition at line 98 of file tile_cmd.h.

typedef VehicleEnterTileStatus VehicleEnterTileProc(Vehicle *v, TileIndex tile, int x, int y)

See also:
VehicleEnterTileStatus to see what the return values mean

Definition at line 82 of file tile_cmd.h.


Enumeration Type Documentation

The returned bits of VehicleEnterTile.

Enumerator:
VETS_ENTERED_STATION  The vehicle entered a station.
VETS_ENTERED_WORMHOLE  The vehicle either entered a bridge, tunnel or depot tile (this includes the last tile of the bridge/tunnel).
VETS_CANNOT_ENTER  The vehicle cannot enter the tile.
VETS_STATION_ID_OFFSET  Shift the VehicleEnterTileStatus this many bits to the right to get the station ID when VETS_ENTERED_STATION is set.
VETSB_CONTINUE  Bit sets of the above specified bits.

The vehicle can continue normally

VETSB_ENTERED_STATION  The vehicle entered a station.
VETSB_ENTERED_WORMHOLE  The vehicle either entered a bridge, tunnel or depot tile (this includes the last tile of the bridge/tunnel).
VETSB_CANNOT_ENTER  The vehicle cannot enter the tile.

Definition at line 20 of file tile_cmd.h.


Function Documentation

TrackStatus GetTileTrackStatus ( TileIndex  tile,
TransportType  mode,
uint  sub_mode,
DiagDirection  side 
)

Returns information about trackdirs and signal states.

If there is any trackbit at 'side', return all trackdirbits. For TRANSPORT_ROAD, return no trackbits if there is no roadbit (of given subtype) at given side.

Parameters:
tile tile to get info about
mode transport type
sub_mode for TRANSPORT_ROAD, roadtypes to check
side side we are entering from, INVALID_DIAGDIR to return all trackbits
Returns:
trackdirbits and other info depending on 'mode'

Definition at line 453 of file landscape.cpp.

References GetTileType().


Generated on Mon Sep 22 20:34:28 2008 for openttd by  doxygen 1.5.6