OpenTTD Source
20241108-master-g80f628063a
|
Generic 'commands' that can be performed on all tiles. More...
#include "command_type.h"
#include "vehicle_type.h"
#include "cargo_type.h"
#include "track_type.h"
#include "tile_map.h"
#include "timer/timer_game_calendar.h"
Go to the source code of this file.
Data Structures | |
struct | TileInfo |
Tile information, used while rendering the tile. More... | |
struct | TileDesc |
Tile description for the 'land area information' tool. More... | |
struct | TileTypeProcs |
Set of callback functions for performing tile operations of a given tile type. More... | |
Typedefs | |
typedef void | DrawTileProc(TileInfo *ti) |
Tile callback function signature for drawing a tile and its contents to the screen. More... | |
typedef int | GetSlopeZProc(TileIndex tile, uint x, uint y, bool ground_vehicle) |
Tile callback function signature for obtaining the world Z coordinate of a given point of a tile. More... | |
typedef CommandCost | ClearTileProc(TileIndex tile, DoCommandFlag flags) |
typedef void | AddAcceptedCargoProc(TileIndex tile, CargoArray &acceptance, CargoTypes &always_accepted) |
Tile callback function signature for obtaining cargo acceptance of a tile. More... | |
typedef void | GetTileDescProc(TileIndex tile, TileDesc *td) |
Tile callback function signature for obtaining a tile description. More... | |
typedef TrackStatus | GetTileTrackStatusProc(TileIndex tile, TransportType mode, uint sub_mode, DiagDirection side) |
Tile callback function signature for getting the possible tracks that can be taken on a given tile by a given transport. More... | |
typedef void | AddProducedCargoProc(TileIndex tile, CargoArray &produced) |
Tile callback function signature for obtaining the produced cargo of a tile. More... | |
typedef bool | ClickTileProc(TileIndex tile) |
typedef void | AnimateTileProc(TileIndex tile) |
typedef void | TileLoopProc(TileIndex tile) |
typedef void | ChangeTileOwnerProc(TileIndex tile, Owner old_owner, Owner new_owner) |
typedef VehicleEnterTileStatus | VehicleEnterTileProc(Vehicle *v, TileIndex tile, int x, int y) |
typedef Foundation | GetFoundationProc(TileIndex tile, Slope tileh) |
typedef CommandCost | TerraformTileProc(TileIndex tile, DoCommandFlag flags, int z_new, Slope tileh_new) |
Tile callback function signature of the terraforming callback. More... | |
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 | |
TrackStatus | GetTileTrackStatus (TileIndex tile, TransportType mode, uint sub_mode, DiagDirection side=INVALID_DIAGDIR) |
Returns information about trackdirs and signal states. More... | |
VehicleEnterTileStatus | VehicleEnterTile (Vehicle *v, TileIndex tile, int x, int y) |
Call the tile callback function for a vehicle entering a tile. More... | |
void | ChangeTileOwner (TileIndex tile, Owner old_owner, Owner new_owner) |
Change the owner of a tile. More... | |
void | GetTileDesc (TileIndex tile, TileDesc *td) |
void | AddAcceptedCargo (TileIndex tile, CargoArray &acceptance, CargoTypes *always_accepted) |
void | AddProducedCargo (TileIndex tile, CargoArray &produced) |
void | AnimateTile (TileIndex tile) |
bool | ClickTile (TileIndex tile) |
Variables | |
const TileTypeProcs *const | _tile_type_procs [16] |
Tile callback functions for each type of tile. More... | |
Generic 'commands' that can be performed on all tiles.
Definition in file tile_cmd.h.
typedef void AddAcceptedCargoProc(TileIndex tile, CargoArray &acceptance, CargoTypes &always_accepted) |
Tile callback function signature for obtaining cargo acceptance of a tile.
tile | Tile queried for its accepted cargo |
acceptance | Storage destination of the cargo acceptance in 1/8 |
always_accepted | Bitmask of always accepted cargo types |
Definition at line 98 of file tile_cmd.h.
typedef void AddProducedCargoProc(TileIndex tile, CargoArray &produced) |
Tile callback function signature for obtaining the produced cargo of a tile.
tile | Tile being queried |
produced | Destination array for produced cargo |
Definition at line 127 of file tile_cmd.h.
typedef void DrawTileProc(TileInfo *ti) |
Tile callback function signature for drawing a tile and its contents to the screen.
ti | Information about the tile to draw |
Definition at line 76 of file tile_cmd.h.
typedef int GetSlopeZProc(TileIndex tile, uint x, uint y, bool ground_vehicle) |
Tile callback function signature for obtaining the world Z
coordinate of a given point of a tile.
tile | The queries tile for the Z coordinate. |
x | World X coordinate in tile "units". |
y | World Y coordinate in tile "units". |
ground_vehicle | Whether to get the Z coordinate of the ground vehicle, or the ground. |
Definition at line 89 of file tile_cmd.h.
Tile callback function signature for obtaining a tile description.
tile | Tile being queried |
td | Storage pointer for returned tile description |
Definition at line 105 of file tile_cmd.h.
typedef TrackStatus GetTileTrackStatusProc(TileIndex tile, TransportType mode, uint sub_mode, DiagDirection side) |
Tile callback function signature for getting 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.
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 |
Definition at line 120 of file tile_cmd.h.
typedef CommandCost TerraformTileProc(TileIndex tile, DoCommandFlag flags, int z_new, Slope tileh_new) |
Tile callback function signature of the terraforming callback.
The function is called when a tile is affected by a terraforming operation. It 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).
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. |
Definition at line 152 of file tile_cmd.h.
typedef VehicleEnterTileStatus VehicleEnterTileProc(Vehicle *v, TileIndex tile, int x, int y) |
Definition at line 134 of file tile_cmd.h.
The returned bits of VehicleEnterTile.
Definition at line 21 of file tile_cmd.h.
Change the owner of a tile.
tile | Tile to change |
old_owner | Current owner of the tile |
new_owner | New owner of the tile |
Definition at line 565 of file landscape.cpp.
References _tile_type_procs, and GetTileType().
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.
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 |
Definition at line 554 of file landscape.cpp.
References _tile_type_procs, TileTypeProcs::get_tile_track_status_proc, and GetTileType().
Referenced by CheckRoadBlockedForOvertaking(), CYapfFollowShipT< Types >::CheckShipReverse(), DisasterTick_Submarine(), FixOwnerOfRailTrack(), GenericPlaceSignals(), GetTrackdirBitsForRoad(), MaskWireBits(), RoadFindPathToDest(), RoadVehicle::TileMayHaveSlopedTrack(), TrainController(), TryPathReserve(), TryReserveRailTrack(), UnreserveRailTrack(), and UpdateSignalsInBuffer().
VehicleEnterTileStatus VehicleEnterTile | ( | Vehicle * | v, |
TileIndex | tile, | ||
int | x, | ||
int | y | ||
) |
Call the tile callback function for a vehicle entering a tile.
Definition at line 1838 of file vehicle.cpp.
Referenced by TrainController(), and UpdateStatusAfterSwap().
|
extern |
Tile callback functions for each type of tile.
Definition at line 65 of file landscape.cpp.
Referenced by ChangeTileOwner(), GetFoundationSlope(), and GetTileTrackStatus().