tile_map.h File Reference

Map writing/reading functions for tiles. More...

#include "slope_type.h"
#include "map_func.h"
#include "core/bitmath_func.hpp"
#include "settings_type.h"

Go to the source code of this file.

Functions

static uint TileHeight (TileIndex tile)
 Returns the height of a tile.
static void SetTileHeight (TileIndex tile, uint height)
 Sets the height of a tile.
static uint TilePixelHeight (TileIndex tile)
 Returns the height of a tile in pixels.
static TileType GetTileType (TileIndex tile)
 Get the tiletype of a given tile.
static void SetTileType (TileIndex tile, TileType type)
 Set the type of a tile.
static bool IsTileType (TileIndex tile, TileType type)
 Checks if a tile is a give tiletype.
static bool IsValidTile (TileIndex tile)
 Checks if a tile is valid.
static Owner GetTileOwner (TileIndex tile)
 Returns the owner of a tile.
static void SetTileOwner (TileIndex tile, Owner owner)
 Sets the owner of a tile.
static bool IsTileOwner (TileIndex tile, Owner owner)
 Checks if a tile belongs to the given owner.
static void SetTropicZone (TileIndex tile, TropicZone type)
 Set the tropic zone.
static TropicZone GetTropicZone (TileIndex tile)
 Get the tropic zone.
Slope GetTileSlope (TileIndex tile, uint *h)
 Return the slope of a given tile.
uint GetTileZ (TileIndex tile)
 Get bottom height of the tile.
uint GetTileMaxZ (TileIndex tile)
 Get top height of the tile.

Detailed Description

Map writing/reading functions for tiles.

Definition in file tile_map.h.


Function Documentation

uint GetTileMaxZ ( TileIndex  t  ) 

Get top height of the tile.

Parameters:
t Tile to compute height of
Returns:
Maximum height of the tile

Definition at line 82 of file tile_map.cpp.

References MapMaxX(), MapMaxY(), max(), TILE_HEIGHT, TileDiffXY(), TileHeight(), TileX(), and TileY().

Referenced by AutoslopeCheckForEntranceEdge(), BuildTownHouse(), CheckBuildHouseSameZ(), CmdBuildBridge(), DrawCatenary(), DrawCatenaryRailway(), DrawRoadBits(), DrawTramCatenary(), AITile::GetMaxHeight(), and GetTerrainType().

static Owner GetTileOwner ( TileIndex  tile  )  [inline, static]

Returns the owner of a tile.

This function returns the owner of a tile. This cannot used for tiles which type is one of MP_HOUSE, MP_VOID and MP_INDUSTRY as no company owned any of these buildings.

Parameters:
tile The tile to check
Returns:
The owner of the tile
Precondition:
IsValidTile(tile)
The type of the tile must not be MP_HOUSE and MP_INDUSTRY

Definition at line 139 of file tile_map.h.

References _m, IsTileType(), IsValidTile(), Tile::m1, MP_HOUSE, and MP_INDUSTRY.

Referenced by AIDepotList::AIDepotList(), CFollowTrackT< Ttr_type_, VehicleType, T90deg_turns_allowed_, Tmask_reserved_tracks >::CanEnterNewTile(), CheckTileOwnership(), CmdBuildBridge(), CmdBuildRailWaypoint(), CmdBuildRoad(), CmdInsertOrder(), CmdRemoveSingleRail(), CmdRemoveSingleSignal(), DisasterTick_Big_Ufo(), DisasterTick_Zeppeliner(), DrawTile_Road(), ExploreSegment(), FixOwnerOfRailTrack(), AITile::GetOwner(), GetSmallMapOwnerPixels(), GetTrainForReservation(), IsTileOwner(), IsValidTileForWaypoint(), MakeBuoy(), MoveWaypointsToBaseStations(), DepotWindow::OnClick(), RemoveBuoy(), RemoveFromRailBaseStation(), RemoveRailStation(), RemoveRoad(), and Depot::~Depot().

Slope GetTileSlope ( TileIndex  tile,
uint *  h 
)
static TileType GetTileType ( TileIndex  tile  )  [inline, static]
uint GetTileZ ( TileIndex  tile  ) 
static TropicZone GetTropicZone ( TileIndex  tile  )  [inline, static]

Get the tropic zone.

Parameters:
tile the tile to get the zone of
Precondition:
tile < MapSize()
Returns:
the zone type

Definition at line 199 of file tile_map.h.

References _m, GB(), and MapSize().

Referenced by CheckNewIndustry_Lumbermill(), CheckNewIndustry_Plantation(), CheckNewIndustry_Water(), CmdPlantTree(), TownViewWindow::DrawWidget(), TownViewWindow::GetDesiredInfoHeight(), GetRandomTreeType(), GetTerrainType(), NeighbourIsDesert(), PlaceTreesRandomly(), and UpdateTownGrowRate().

static bool IsTileOwner ( TileIndex  tile,
Owner  owner 
) [inline, static]

Checks if a tile belongs to the given owner.

Parameters:
tile The tile to check
owner The owner to check agains
Returns:
True if a tile belongs the the given owner

Definition at line 175 of file tile_map.h.

References GetTileOwner().

Referenced by TownViewWindow::CanDeleteTown(), CanEnterTileOwnerCheck(), CmdBuildAircraft(), CmdBuildBridge(), CmdBuildCanal(), CmdBuildRailVehicle(), CmdBuildRoadVeh(), CmdBuildShip(), CmdDepotMassAutoReplace(), CmdPurchaseLandArea(), DepotWindow::OnPaint(), RoadFindPathToDest(), and Town::~Town().

static bool IsTileType ( TileIndex  tile,
TileType  type 
) [inline, static]

Checks if a tile is a give tiletype.

This function checks if a tile got the given tiletype.

Parameters:
tile The tile to check
type The type to check agains
Returns:
true If the type matches agains the type of the tile

Definition at line 111 of file tile_map.h.

References GetTileType().

Referenced by AddClearCounter(), AddClearDensity(), AddNearbyStation(), AddTreeCount(), AddTreeCounter(), AddTreeGrowth(), AdjustTileh(), AIDepotList::AIDepotList(), AITileList_IndustryAccepting::AITileList_IndustryAccepting(), AITileList_IndustryProducing::AITileList_IndustryProducing(), AITileList_StationType::AITileList_StationType(), CanBuildHouseHere(), CFollowTrackT< Ttr_type_, VehicleType, T90deg_turns_allowed_, Tmask_reserved_tracks >::CanEnterNewTile(), CanEnterTile(), CanEnterTileOwnerCheck(), CheckFlatLandBelow(), CheckNextTrainTile(), CheckSubsidised(), ClearPathReservation(), CmdBuildCanal(), CmdBuildDock(), CmdBuildLongRoad(), CmdBuildRailWaypoint(), CmdBuildRoad(), CmdBuildSingleRail(), CmdPlantTree(), CmdRemoveRoadStop(), CmdReverseTrainDirection(), CmdTerraformLand(), CmdTurnRoadVeh(), CMSAForest(), CMSAMine(), CMSATree(), CMSAWater(), Train::Crash(), DecHouseProcessingTime(), DeleteLastWagon(), DisasterTick_Aircraft(), DoClearTownHouseHelper(), DoFloodTile(), DrawCatenaryRailway(), ExtendTrainReservation(), FindFurthestFromWater(), FindIndustryToDeliver(), FindNearestEmptyLand(), FindNearIndustryName(), FindStationsAroundTiles(), FindStationsNearby(), FloodVehicles(), FollowReservation(), CFollowTrackT< Ttr_type_, VehicleType, T90deg_turns_allowed_, Tmask_reserved_tracks >::FollowTileExit(), FollowTrainReservation(), FreeTrainTrackReservation(), GetAxisForNewWaypoint(), GetCleanHouseType(), GetCleanIndustryGfx(), GetClearCounter(), GetClearDensity(), GetClosestWaterDistance(), GetCompanyHQSection(), GetCompanyHQSize(), AIIndustry::GetDockLocation(), GetDockOffset(), GetFenceSE(), GetFenceSW(), AIAirport::GetHangarOfAirport(), AIIndustry::GetHeliportLocation(), GetHouseAge(), GetHouseAnimationFrame(), GetHouseBuildingStage(), GetHouseConstructionTick(), GetHouseProcessingTime(), GetHouseRandomBits(), GetHouseTriggers(), GetIndustryAnimationLoop(), GetIndustryAnimationState(), GetIndustryConstructionCounter(), GetIndustryConstructionStage(), GetIndustryGfx(), GetIndustryIDAtOffset(), GetIndustryIndex(), GetIndustryRandomBits(), GetIndustryTriggers(), GetIndustryType(), GetNearbyIndustryTileInformation(), GetNearbyTileInformation(), AIAirport::GetNumHangars(), GetOtherTunnelBridgeEnd(), AITile::GetOwner(), GetRailTileType(), GetRawClearGround(), AIRail::GetSignalType(), GetStationAnimationFrame(), GetStationAround(), GetStationGfx(), AIStation::GetStationID(), GetStationIndex(), GetStationTileRandomBits(), GetStationType(), GetTileOwner(), GetTownIndex(), GetTrainForReservation(), GetTreeCount(), GetTreeCounter(), GetTreeDensity(), GetTreeGround(), GetTreeGrowth(), GetTreeType(), GetTunnelBridgeDirection(), GetTunnelBridgeTransportType(), GetUnmovableType(), GrowTown(), GrowTownAtRoad(), GrowTownInTile(), HasOnewaySignalBlockingTrackdir(), HasPbsSignalOnTrackdir(), HasStationTileRail(), AITile::HasTreeOnTile(), HasTunnelBridgeReservation(), HasTunnelBridgeSnowOrDesert(), HouseGetVariable(), IncHouseConstructionTick(), IncrementHouseAge(), IndustryGetVariable(), AIOrder::InsertOrder(), IsAirportTile(), AIAirport::IsAirportTile(), IsBridge(), IsBridgeTile(), IsBuoyTile(), AIMarine::IsBuoyTile(), AIMarine::IsCanalTile(), AITile::IsCoastTile(), IsCompanyHQ(), AITile::IsDesertTile(), IsDockTile(), AIMarine::IsDockTile(), RoadStop::IsDriveThroughRoadStopContinuation(), AITile::IsFarmTile(), IsHangar(), IsHangarTile(), AIAirport::IsHangarTile(), IsHouseCompleted(), IsIndustryCompleted(), IsIndustryTileOnWater(), AIMarine::IsLockTile(), IsOwnedLand(), IsOwnedLandTile(), IsPlainRailTile(), IsPossibleCrossing(), IsRailDepotTile(), IsRailStationTile(), AIRail::IsRailTile(), IsRailWaypointTile(), AIRoad::IsRoadDepotTile(), IsRoadStop(), IsRoadStopTile(), AIRoad::IsRoadTile(), AITile::IsRockTile(), AITile::IsRoughTile(), IsSafeWaitingPosition(), IsSnowTile(), AITile::IsSnowTile(), AITile::IsStationTile(), IsStatue(), IsStatueTile(), IsTransmitterTile(), IsTunnel(), IsTunnelTile(), IsValidTile(), IsValidTileForWaypoint(), IsWaitingPositionFree(), AIMarine::IsWaterDepotTile(), IsWateredTile(), AITile::IsWaterTile(), LoadUnloadVehicle(), MakeHouseTile(), MakeSingleHouseBigger(), MarkTileDirtyIfCanalOrRiver(), MayHaveBridgeAbove(), MoveWaypointsToBaseStations(), CYapfCostRailT< Types >::PfCalcCost(), ProcessOrders(), RemoveRoad(), AIRoad::RemoveRoadDepot(), AIRoad::RemoveRoadStation(), ResetHouseAge(), ResetIndustryConstructionStage(), RoadFindPathToDest(), StationRect::ScanForStationTiles(), SearchLumberMillTrees(), SearchNearbyHouseClass(), SearchNearbyHouseGRFID(), SearchNearbyHouseID(), SetClearCounter(), SetClearDensity(), SetClearGroundDensity(), SetCompanyHQSection(), SetCompanyHQSize(), SetDefaultRailGui(), SetFenceSE(), SetFenceSW(), SetHouseAnimationFrame(), SetHouseCompleted(), SetHouseProcessingTime(), SetHouseRandomBits(), SetHouseTriggers(), SetHouseType(), SetIndustryAnimationLoop(), SetIndustryAnimationState(), SetIndustryCompleted(), SetIndustryConstructionCounter(), SetIndustryConstructionStage(), SetIndustryGfx(), SetIndustryRandomBits(), SetIndustryTriggers(), SetStationAnimationFrame(), SetStationGfx(), SetStationTileRandomBits(), SetTileOwner(), SetTownIndex(), SetTreeCounter(), SetTreeGroundDensity(), SetTreeGrowth(), SetTropicZone(), SetTunnelBridgeReservation(), SetTunnelBridgeSnowOrDesert(), TileLoop_Water(), TownCanBePlacedHere(), TrainCanLeaveTile(), UpdateHousesAndTowns(), and UpdateNearestTownForRoadTiles().

static bool IsValidTile ( TileIndex  tile  )  [inline, static]

Checks if a tile is valid.

Parameters:
tile The tile to check
Returns:
True if the tile is on the map and not one of MP_VOID.

Definition at line 122 of file tile_map.h.

References IsTileType(), MapSize(), and MP_VOID.

Referenced by AIRoad::_BuildRoadInternal(), AIRoad::_BuildRoadStationInternal(), AITileList::AddRectangle(), AITileList::AddTile(), AITileList_IndustryAccepting::AITileList_IndustryAccepting(), AITileList_IndustryProducing::AITileList_IndustryProducing(), AIRoad::AreRoadTilesConnected(), AIMarine::AreWaterTilesConnected(), AIAirport::BuildAirport(), AIBridge::BuildBridge(), AIMarine::BuildBuoy(), AIMarine::BuildCanal(), AICompany::BuildCompanyHQ(), AIMarine::BuildDock(), AIMarine::BuildLock(), AIRail::BuildNewGRFRailStation(), AIRail::BuildRail(), AIRail::BuildRailDepot(), AIRail::BuildRailStation(), AIRail::BuildRailTrack(), AIRail::BuildRailWaypoint(), AIRoad::BuildRoadDepot(), AISign::BuildSign(), AITunnel::BuildTunnel(), AIMarine::BuildWaterDepot(), AIRoad::CanBuildConnectedRoadPartsHere(), CleanUpRoadBits(), CmdBuildTunnel(), AIRail::ConvertRailType(), AITile::DemolishTile(), Disaster_CoalMine_Init(), DisasterTick_Big_Ufo(), DisasterTick_Submarine(), DisasterTick_Zeppeliner(), DoCommand(), DoCommandPInternal(), DrawTileSelectionRect(), AITile::GetCargoAcceptance(), AITile::GetCargoProduction(), AITile::GetClosestTown(), AITile::GetCornerHeight(), AIAirport::GetHangarOfAirport(), AITile::GetMaxHeight(), AITile::GetMinHeight(), AIAirport::GetNearestTown(), AIRoad::GetNeighbourRoadCount(), AIAirport::GetNoiseLevelIncrease(), AIAirport::GetNumHangars(), GetOrderTypeByTile(), AIBridge::GetOtherBridgeEnd(), AITunnel::GetOtherTunnelEnd(), AITile::GetOwner(), AITile::GetSlope(), AIStation::GetStationID(), GetTileOwner(), GrowTownInTile(), AITile::HasTransportType(), AITile::HasTreeOnTile(), AIAirport::IsAirportTile(), AIBridge::IsBridgeTile(), AITile::IsBuildable(), AIMarine::IsBuoyTile(), AIMarine::IsCanalTile(), AITile::IsCoastTile(), AITile::IsDesertTile(), AIMarine::IsDockTile(), AIRoad::IsDriveThroughRoadStationTile(), AITile::IsFarmTile(), AIAirport::IsHangarTile(), AIRail::IsLevelCrossingTile(), AIMarine::IsLockTile(), IsNeighborRoadTile(), AIRail::IsRailDepotTile(), AIRail::IsRailStationTile(), AIRail::IsRailTile(), AIRail::IsRailWaypointTile(), AIRoad::IsRoadDepotTile(), AIRoad::IsRoadStationTile(), AIRoad::IsRoadTile(), AITile::IsRockTile(), AITile::IsRoughTile(), AITile::IsSnowTile(), AITile::IsStationTile(), IsTunnelInWayDir(), AITunnel::IsTunnelTile(), AIMarine::IsWaterDepotTile(), AITile::IsWaterTile(), NPFHash(), AITile::PlantTree(), AITile::PlantTreeRectangle(), AIAirport::RemoveAirport(), AIMarine::RemoveBuoy(), AIMarine::RemoveCanal(), AIMarine::RemoveDock(), AIMarine::RemoveLock(), AIRail::RemoveRail(), AIRail::RemoveRailStationTileRectangle(), AIRail::RemoveRailTrack(), AIRail::RemoveRailWaypointTileRectangle(), AITileList::RemoveRectangle(), AIRoad::RemoveRoad(), AIRoad::RemoveRoadDepot(), AIRoad::RemoveRoadFull(), AIRoad::RemoveRoadStation(), AITileList::RemoveTile(), AIMarine::RemoveWaterDepot(), and SetTileOwner().

static void SetTileHeight ( TileIndex  tile,
uint  height 
) [inline, static]

Sets the height of a tile.

This function sets the height of the northern corner of a tile.

Parameters:
tile The tile to change the height
height The new height value of the tile
Precondition:
tile < MapSize()
heigth <= MAX_TILE_HEIGHT

Definition at line 47 of file tile_map.h.

References _m, MapSize(), MAX_TILE_HEIGHT, and SB().

Referenced by CmdTerraformLand(), FixSlopes(), FlatEmptyWorld(), GrayscaleToMapHeights(), MakeVoid(), and TgenSetTileHeight().

static void SetTileOwner ( TileIndex  tile,
Owner  owner 
) [inline, static]

Sets the owner of a tile.

This function sets the owner status of a tile. Note that you cannot set a owner for tiles of type MP_HOUSE, MP_VOID and MP_INDUSTRY.

Parameters:
tile The tile to change the owner status.
owner The new owner.
Precondition:
IsValidTile(tile)
The type of the tile must not be MP_HOUSE and MP_INDUSTRY

Definition at line 159 of file tile_map.h.

References _m, IsTileType(), IsValidTile(), Tile::m1, MP_HOUSE, and MP_INDUSTRY.

Referenced by FixOwnerOfRailTrack(), MakeBridgeRamp(), MakeClear(), MakeField(), MakeRailTunnel(), MakeRoadTunnel(), MakeStation(), MakeTree(), MakeUnmovable(), MakeWater(), and RemoveRoad().

static void SetTileType ( TileIndex  tile,
TileType  type 
) [inline, static]

Set the type of a tile.

This functions sets the type of a tile. If the type MP_VOID is selected the tile must be at the south-west or south-east edges of the map and vice versa.

Parameters:
tile The tile to save the new type
type The type to save
Precondition:
tile < MapSize()
type MP_VOID <=> tile is on the south-east or south-west edge.

Definition at line 92 of file tile_map.h.

References _m, _settings_game, GameSettings::construction, ConstructionSettings::freeform_edges, MapMaxX(), MapMaxY(), MapSize(), MP_VOID, SB(), TileX(), and TileY().

Referenced by MakeBridgeRamp(), MakeClear(), MakeField(), MakeHouseTile(), MakeIndustry(), MakeRailTunnel(), MakeRoadTunnel(), MakeStation(), MakeTree(), MakeUnmovable(), MakeVoid(), and MakeWater().

static void SetTropicZone ( TileIndex  tile,
TropicZone  type 
) [inline, static]

Set the tropic zone.

Parameters:
tile the tile to set the zone of
type the new type
Precondition:
tile < MapSize()

Definition at line 186 of file tile_map.h.

References _m, IsTileType(), MapSize(), MP_VOID, SB(), and TROPICZONE_NORMAL.

Referenced by CmdPlantTree(), and GenerateDesertArea().

static uint TileHeight ( TileIndex  tile  )  [inline, static]

Returns the height of a tile.

This function returns the height of the northern corner of a tile. This is saved in the global map-array. It does not take affect by any slope-data of the tile.

Parameters:
tile The tile to get the height from
Returns:
the height of the tile
Precondition:
tile < MapSize()

Definition at line 31 of file tile_map.h.

References _m, GB(), and MapSize().

Referenced by CalcHeightdiff(), CheckIfCanLevelIndustryPlatform(), CheckNewIndustry_OilRig(), CmdBuildCanal(), CmdLevelLand(), CmdTerraformLand(), CommonRaiseLowerBigLand(), FixSlopes(), GetSmallMapContoursPixels(), GetSmallMapIndustriesPixels(), GetTileMaxZ(), GetTileSlope(), GetTileZ(), TerraformGetHeightOfTile(), and TilePixelHeight().

static uint TilePixelHeight ( TileIndex  tile  )  [inline, static]

Returns the height of a tile in pixels.

This function returns the height of the northern corner of a tile in pixels.

Parameters:
tile The tile to get the height
Returns:
The height of the tile in pixel

Definition at line 62 of file tile_map.h.

References TILE_HEIGHT, and TileHeight().

Referenced by TownViewWindow::DrawWidget(), TownViewWindow::GetDesiredInfoHeight(), and UpdateTownGrowRate().


Generated on Sat Jul 31 21:38:16 2010 for OpenTTD by  doxygen 1.6.1