File diff r12233:9d0861714103 → r12234:fd1a494e7620
src/tile_cmd.h
Show inline comments
 
@@ -16,6 +16,7 @@
 
#include "direction_type.h"
 
#include "track_type.h"
 
#include "transport_type.h"
 
#include "tile_map.h"
 

	
 
/** The returned bits of VehicleEnterTile. */
 
enum VehicleEnterTileStatus {
 
@@ -73,7 +74,7 @@ typedef CommandCost ClearTileProc(TileIn
 
 * @param tile Tile queried for its accepted cargo
 
 * @param res  Storage destination of the cargo accepted
 
 */
 
typedef void GetAcceptedCargoProc(TileIndex tile, AcceptedCargo res);
 
typedef void AddAcceptedCargoProc(TileIndex tile, AcceptedCargo res);
 

	
 
/**
 
 * Tile callback function signature for obtaining a tile description
 
@@ -136,7 +137,7 @@ struct TileTypeProcs {
 
	DrawTileProc *draw_tile_proc;                  ///< Called to render the tile and its contents to the screen
 
	GetSlopeZProc *get_slope_z_proc;
 
	ClearTileProc *clear_tile_proc;
 
	GetAcceptedCargoProc *get_accepted_cargo_proc; ///< Return accepted cargo of the tile
 
	AddAcceptedCargoProc *add_accepted_cargo_proc; ///< Adds accepted cargo of the tile to cargo array supplied as parameter
 
	GetTileDescProc *get_tile_desc_proc;           ///< Get a description of a tile (for the 'land area information' tool)
 
	GetTileTrackStatusProc *get_tile_track_status_proc; ///< Get available tracks and status of a tile
 
	ClickTileProc *click_tile_proc;                ///< Called when tile is clicked
 
@@ -153,10 +154,16 @@ extern const TileTypeProcs * const _tile
 

	
 
TrackStatus GetTileTrackStatus(TileIndex tile, TransportType mode, uint sub_mode, DiagDirection side = INVALID_DIAGDIR);
 
VehicleEnterTileStatus VehicleEnterTile(Vehicle *v, TileIndex tile, int x, int y);
 
void GetAcceptedCargo(TileIndex tile, AcceptedCargo ac);
 
void ChangeTileOwner(TileIndex tile, Owner old_owner, Owner new_owner);
 
void AnimateTile(TileIndex tile);
 
bool ClickTile(TileIndex tile);
 
void GetTileDesc(TileIndex tile, TileDesc *td);
 

	
 
static inline void AddAcceptedCargo(TileIndex tile, AcceptedCargo ac)
 
{
 
	AddAcceptedCargoProc *proc = _tile_type_procs[GetTileType(tile)]->add_accepted_cargo_proc;
 
	if (proc == NULL) return;
 
	proc(tile, ac);
 
}
 

	
 
#endif /* TILE_CMD_H */