OpenTTD
Enumerations | Functions
clear_map.h File Reference

Map accessors for 'clear' tiles. More...

#include "bridge_map.h"
#include "industry_type.h"

Go to the source code of this file.

Enumerations

enum  ClearGround {
  CLEAR_GRASS = 0, CLEAR_ROUGH = 1, CLEAR_ROCKS = 2, CLEAR_FIELDS = 3,
  CLEAR_SNOW = 4, CLEAR_DESERT = 5
}
 Ground types. More...
 

Functions

static bool IsSnowTile (TileIndex t)
 Test if a tile is covered with snow. More...
 
static ClearGround GetRawClearGround (TileIndex t)
 Get the type of clear tile but never return CLEAR_SNOW. More...
 
static ClearGround GetClearGround (TileIndex t)
 Get the type of clear tile. More...
 
static bool IsClearGround (TileIndex t, ClearGround ct)
 Set the type of clear tile. More...
 
static uint GetClearDensity (TileIndex t)
 Get the density of a non-field clear tile. More...
 
static void AddClearDensity (TileIndex t, int d)
 Increment the density of a non-field clear tile. More...
 
static void SetClearDensity (TileIndex t, uint d)
 Set the density of a non-field clear tile. More...
 
static uint GetClearCounter (TileIndex t)
 Get the counter used to advance to the next clear density/field type. More...
 
static void AddClearCounter (TileIndex t, int c)
 Increments the counter used to advance to the next clear density/field type. More...
 
static void SetClearCounter (TileIndex t, uint c)
 Sets the counter used to advance to the next clear density/field type. More...
 
static void SetClearGroundDensity (TileIndex t, ClearGround type, uint density)
 Sets ground type and density in one go, also sets the counter to 0. More...
 
static uint GetFieldType (TileIndex t)
 Get the field type (production stage) of the field. More...
 
static void SetFieldType (TileIndex t, uint f)
 Set the field type (production stage) of the field. More...
 
static IndustryID GetIndustryIndexOfField (TileIndex t)
 Get the industry (farm) that made the field. More...
 
static void SetIndustryIndexOfField (TileIndex t, IndustryID i)
 Set the industry (farm) that made the field. More...
 
static uint GetFence (TileIndex t, DiagDirection side)
 Is there a fence at the given border? More...
 
static void SetFence (TileIndex t, DiagDirection side, uint h)
 Sets the type of fence (and whether there is one) for the given border. More...
 
static void MakeClear (TileIndex t, ClearGround g, uint density)
 Make a clear tile. More...
 
static void MakeField (TileIndex t, uint field_type, IndustryID industry)
 Make a (farm) field tile. More...
 
static void MakeSnow (TileIndex t, uint density=0)
 Make a snow tile. More...
 
static void ClearSnow (TileIndex t)
 Clear the snow from a tile and return it to its previous type. More...
 

Detailed Description

Map accessors for 'clear' tiles.

Definition in file clear_map.h.

Enumeration Type Documentation

◆ ClearGround

Ground types.

Valid densities in comments after the enum.

Enumerator
CLEAR_GRASS 

0-3

CLEAR_ROUGH 

3

CLEAR_ROCKS 

3

CLEAR_FIELDS 

3

CLEAR_SNOW 

0-3

CLEAR_DESERT 

1,3

Definition at line 21 of file clear_map.h.

Function Documentation

◆ AddClearCounter()

static void AddClearCounter ( TileIndex  t,
int  c 
)
inlinestatic

Increments the counter used to advance to the next clear density/field type.

Parameters
tthe tile to increment the counter of
cthe amount to increment the counter with
Precondition
IsTileType(t, MP_CLEAR)

Definition at line 134 of file clear_map.h.

◆ AddClearDensity()

static void AddClearDensity ( TileIndex  t,
int  d 
)
inlinestatic

Increment the density of a non-field clear tile.

Parameters
tthe tile to increment the density of
dthe amount to increment the density with
Precondition
IsTileType(t, MP_CLEAR)

Definition at line 97 of file clear_map.h.

Referenced by TileLoopClearAlps().

◆ ClearSnow()

static void ClearSnow ( TileIndex  t)
inlinestatic

Clear the snow from a tile and return it to its previous type.

Parameters
tthe tile to clear of snow
Precondition
GetClearGround(t) == CLEAR_SNOW

Definition at line 316 of file clear_map.h.

Referenced by TileLoopClearAlps().

◆ GetClearCounter()

static uint GetClearCounter ( TileIndex  t)
inlinestatic

Get the counter used to advance to the next clear density/field type.

Parameters
tthe tile to get the counter of
Precondition
IsTileType(t, MP_CLEAR)
Returns
the value of the counter

Definition at line 122 of file clear_map.h.

◆ GetClearDensity()

static uint GetClearDensity ( TileIndex  t)
inlinestatic

Get the density of a non-field clear tile.

Parameters
tthe tile to get the density of
Precondition
IsTileType(t, MP_CLEAR)
Returns
the density

Definition at line 85 of file clear_map.h.

Referenced by GetSmallMapVegetationPixels(), and TileLoopClearAlps().

◆ GetClearGround()

static ClearGround GetClearGround ( TileIndex  t)
inlinestatic

Get the type of clear tile.

Parameters
tthe tile to get the clear ground type of
Precondition
IsTileType(t, MP_CLEAR)
Returns
the ground type

Definition at line 61 of file clear_map.h.

References CLEAR_SNOW, GetRawClearGround(), and IsSnowTile().

Referenced by IsClearGround().

◆ GetFence()

static uint GetFence ( TileIndex  t,
DiagDirection  side 
)
inlinestatic

Is there a fence at the given border?

Parameters
tthe tile to check for fences
sidethe border to check
Precondition
IsClearGround(t, CLEAR_FIELDS)
Returns
0 if there is no fence, otherwise the fence type

Definition at line 223 of file clear_map.h.

◆ GetFieldType()

static uint GetFieldType ( TileIndex  t)
inlinestatic

Get the field type (production stage) of the field.

Parameters
tthe field to get the type of
Precondition
GetClearGround(t) == CLEAR_FIELDS
Returns
the field type

Definition at line 173 of file clear_map.h.

◆ GetIndustryIndexOfField()

static IndustryID GetIndustryIndexOfField ( TileIndex  t)
inlinestatic

Get the industry (farm) that made the field.

Parameters
tthe field to get creating industry of
Precondition
GetClearGround(t) == CLEAR_FIELDS
Returns
the industry that made the field

Definition at line 197 of file clear_map.h.

◆ GetRawClearGround()

static ClearGround GetRawClearGround ( TileIndex  t)
inlinestatic

Get the type of clear tile but never return CLEAR_SNOW.

Parameters
tthe tile to get the clear ground type of
Precondition
IsTileType(t, MP_CLEAR)
Returns
the ground type

Definition at line 49 of file clear_map.h.

Referenced by CanPlantTreesOnTile(), and GetClearGround().

◆ IsClearGround()

static bool IsClearGround ( TileIndex  t,
ClearGround  ct 
)
inlinestatic

Set the type of clear tile.

Parameters
tthe tile to set the clear ground type of
ctthe ground type
Precondition
IsTileType(t, MP_CLEAR)

Definition at line 73 of file clear_map.h.

References GetClearGround().

Referenced by CanPlantTreesOnTile(), GetSmallMapVegetationPixels(), IsSuitableForFarmField(), and SetupFarmFieldFence().

◆ IsSnowTile()

static bool IsSnowTile ( TileIndex  t)
inlinestatic

Test if a tile is covered with snow.

Parameters
tthe tile to check
Precondition
IsTileType(t, MP_CLEAR)
Returns
whether the tile is covered with snow.

Definition at line 37 of file clear_map.h.

Referenced by GetClearGround(), and TileLoopClearAlps().

◆ MakeClear()

static void MakeClear ( TileIndex  t,
ClearGround  g,
uint  density 
)
inlinestatic

Make a clear tile.

Parameters
tthe tile to make a clear tile
gthe type of ground
densitythe density of the grass/snow/desert etc

Definition at line 261 of file clear_map.h.

References _m, _me, Tile::m1, Tile::m2, Tile::m3, Tile::m4, TileExtended::m6, TileExtended::m7, MP_CLEAR, OWNER_NONE, SetClearGroundDensity(), SetTileOwner(), and SetTileType().

Referenced by TgenSetTileHeight().

◆ MakeField()

static void MakeField ( TileIndex  t,
uint  field_type,
IndustryID  industry 
)
inlinestatic

Make a (farm) field tile.

Parameters
tthe tile to make a farm field
field_typethe 'growth' level of the field
industrythe industry this tile belongs to

Definition at line 281 of file clear_map.h.

References _m, _me, CLEAR_FIELDS, Tile::m1, Tile::m2, Tile::m3, Tile::m4, TileExtended::m7, MP_CLEAR, OWNER_NONE, SB(), SetClearGroundDensity(), SetTileOwner(), and SetTileType().

◆ MakeSnow()

static void MakeSnow ( TileIndex  t,
uint  density = 0 
)
inlinestatic

Make a snow tile.

Parameters
tthe tile to make snowy
densityThe density of snowiness.
Precondition
GetClearGround(t) != CLEAR_SNOW

Definition at line 300 of file clear_map.h.

Referenced by TileLoopClearAlps().

◆ SetClearCounter()

static void SetClearCounter ( TileIndex  t,
uint  c 
)
inlinestatic

Sets the counter used to advance to the next clear density/field type.

Parameters
tthe tile to set the counter of
cthe amount to set the counter to
Precondition
IsTileType(t, MP_CLEAR)

Definition at line 146 of file clear_map.h.

◆ SetClearDensity()

static void SetClearDensity ( TileIndex  t,
uint  d 
)
inlinestatic

Set the density of a non-field clear tile.

Parameters
tthe tile to set the density of
dthe new density
Precondition
IsTileType(t, MP_CLEAR)

Definition at line 109 of file clear_map.h.

◆ SetClearGroundDensity()

static void SetClearGroundDensity ( TileIndex  t,
ClearGround  type,
uint  density 
)
inlinestatic

Sets ground type and density in one go, also sets the counter to 0.

Parameters
tthe tile to set the ground type and density for
typethe new ground type of the tile
densitythe density of the ground tile
Precondition
IsTileType(t, MP_CLEAR)

Definition at line 160 of file clear_map.h.

Referenced by MakeClear(), and MakeField().

◆ SetFence()

static void SetFence ( TileIndex  t,
DiagDirection  side,
uint  h 
)
inlinestatic

Sets the type of fence (and whether there is one) for the given border.

Parameters
tthe tile to check for fences
sidethe border to check
h0 if there is no fence, otherwise the fence type
Precondition
IsClearGround(t, CLEAR_FIELDS)

Definition at line 242 of file clear_map.h.

Referenced by SetupFarmFieldFence().

◆ SetFieldType()

static void SetFieldType ( TileIndex  t,
uint  f 
)
inlinestatic

Set the field type (production stage) of the field.

Parameters
tthe field to get the type of
fthe field type
Precondition
GetClearGround(t) == CLEAR_FIELDS

Definition at line 185 of file clear_map.h.

◆ SetIndustryIndexOfField()

static void SetIndustryIndexOfField ( TileIndex  t,
IndustryID  i 
)
inlinestatic

Set the industry (farm) that made the field.

Parameters
tthe field to get creating industry of
ithe industry that made the field
Precondition
GetClearGround(t) == CLEAR_FIELDS

Definition at line 209 of file clear_map.h.